Skip to content

自定义回调

python
from langchain_core.callbacks import BaseCallbackHandler
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI


openai_api_key = "EMPTY"
openai_api_base = "http://localhost:11434/v1"
class MyCustomHandler(BaseCallbackHandler):
    def on_llm_new_token(self, token: str, **kwargs) -> None:
        print(f"自定义回调处理器, token: {token}")

chat = ChatOpenAI(max_tokens=25, 
                  streaming=True,
                  openai_api_key = openai_api_key,
                  openai_api_base = openai_api_base,
                  temperature = 0,
                  model="qwen2:1.5b",
  callbacks=[MyCustomHandler()])

chat([HumanMessage(content="江苏的省会是哪")])

输出

json
自定义回调处理器, token: 江苏省
自定义回调处理器, token: 的
自定义回调处理器, token: 省
自定义回调处理器, token: 会
自定义回调处理器, token: 是
自定义回调处理器, token: 南京
自定义回调处理器, token: 。
自定义回调处理器, token: 
AIMessage(content='江苏省的省会是南京。', additional_kwargs={}, response_metadata={'finish_reason': 'stop', 'model_name': 'qwen2:1.5b', 'system_fingerprint': 'fp_ollama'}, id='run-0f041e93-0984-4133-a1a9-269cffc53c88-0')