主题
回调记录日志
python
from langchain.callbacks import FileCallbackHandler
from langchain.chains import LLMChain
from langchain_core.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from loguru import logger
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:11434/v1"
logfile = "output.log"
logger.add(logfile, colorize=True, enqueue=True)
handler = FileCallbackHandler(logfile)
llm = ChatOpenAI(
openai_api_key = openai_api_key,
openai_api_base = openai_api_base,
model = "qwen2:1.5b",)
prompt = PromptTemplate.from_template("1 + {number} = ")
# 这个链将同时向标准输出打印(因为 verbose=True)并写入 'output.log'
# 如果 verbose=False,FileCallbackHandler 仍会写入 'output.log'
chain = LLMChain(llm=llm, prompt=prompt, callbacks=[handler], verbose=True)
answer = chain.run(number=1)
logger.info(answer)
输出
> Entering new LLMChain chain...
Prompt after formatting:
1 + 1 =
2025-03-31 23:53:00.706 | INFO | __main__:<module>:23 - 2
> Finished chain.
output.log
日志内容
shell
[1m> Entering new LLMChain chain...[0m
Prompt after formatting:
[32;1m[1;3m1 + 1 = [0m
[1m> Finished chain.[0m
[32m2025-03-31 23:55:40.014[0m | [1mINFO [0m | [36m__main__[0m:[36m<module>[0m:[36m23[0m - [1m1 + 1 = 2.[0m
[32m2025-03-31 23:55:40.014[0m | [1mINFO [0m | [36m__main__[0m:[36m<module>[0m:[36m23[0m - [1m1 + 1 = 2.[0m
[32m2025-03-31 23:55:40.014[0m | [1mINFO [0m | [36m__main__[0m:[36m<module>[0m:[36m23[0m - [1m1 + 1 = 2.[0m
[32m2025-03-31 23:55:40.014[0m | [1mINFO [0m | [36m__main__[0m:[36m<module>[0m:[36m23[0m - [1m1 + 1 = 2.[0m