主题
自定义回调
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')