Skip to content

回调记录日志

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


> Entering new LLMChain chain...
Prompt after formatting:
1 + 1 = 

> Finished chain.
2025-03-31 23:55:40.014 | INFO     | __main__:<module>:23 - 1 + 1 = 2.
2025-03-31 23:55:40.014 | INFO     | __main__:<module>:23 - 1 + 1 = 2.
2025-03-31 23:55:40.014 | INFO     | __main__:<module>:23 - 1 + 1 = 2.
2025-03-31 23:55:40.014 | INFO     | __main__:<module>:23 - 1 + 1 = 2.