You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何轻松提取并打印LangChain Agent的AI输出内容?

提取LangChain Agent最终AI回复的简便方法

方法一:直接获取run方法的返回值

LangChain的agent_chain.run()方法本身会直接返回最终的AI回复内容,无需从日志文本中提取。修改你的代码即可实现:

# ... 保留原有导入、环境变量、工具、内存及LLM初始化代码 ...

# 接收run方法的返回值
final_response = agent_chain.run(input="how is the weather in wismar?")
# 打印最终回复
print("最终AI回复:", final_response)

执行后会直接输出:

最终AI回复: The current weather in Wismar is 66°F.

这是最简便且符合框架设计的方案,Agent执行完成后会自动返回最终思考结果。

方法二:自定义回调捕获结果(适用于需拦截输出的场景)

如果需要在日志输出的同时捕获结果,可通过LangChain的官方回调机制实现,避免解析日志文本的不稳定问题:

from langchain.callbacks.base import BaseCallbackHandler
# ... 保留原有导入、环境变量、工具、内存及LLM初始化代码 ...

# 自定义回调处理器,捕获Agent最终输出
class FinalResponseCallback(BaseCallbackHandler):
    def __init__(self):
        self.final_response = ""
    
    def on_agent_finish(self, finish, **kwargs):
        # 捕获Agent的最终返回内容
        self.final_response = finish.return_values["output"]

# 初始化回调实例
response_callback = FinalResponseCallback()
agent_chain = initialize_agent(
    tools, 
    llm, 
    agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION, 
    verbose=True, 
    memory=memory,
    callbacks=[response_callback]  # 绑定回调
)

agent_chain.run(input="how is the weather in wismar?")
# 打印捕获的最终回复
print("最终AI回复:", response_callback.final_response)

不推荐解析日志文本的原因

直接从日志中匹配“AI:”内容虽然可行,但LangChain的日志格式可能随版本更新发生变化,稳定性差。使用官方提供的返回值或回调接口,是更可靠的实现方式。

内容的提问来源于stack exchange,提问作者Pepe Diedrich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:05:20