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

Langchain/CrewAI场景下,如何更优打印Ollama服务器的请求与响应?

更优的Ollama+LangChain/CrewAI调试与日志记录方案

方案1:利用LangChain内置回调处理器(CallbackHandler)

LangChain原生支持通过自定义CallbackHandler拦截LLM的请求和响应,无需额外搭建代理服务器,直接嵌入业务代码即可实现调试日志记录。

  • 实现自定义CallbackHandler,重写关键方法捕获请求与响应:
from langchain.callbacks.base import BaseCallbackHandler
from langchain.schema import LLMResult

class DebugLLMCallback(BaseCallbackHandler):
    def on_llm_start(self, serialized, prompts, **kwargs):
        print("\n=== LLM 请求输入 ===")
        for idx, prompt in enumerate(prompts):
            print(f"Prompt {idx+1}:\n{prompt}\n")

    def on_llm_end(self, response: LLMResult, **kwargs):
        print("\n=== LLM 响应输出 ===")
        for idx, generation in enumerate(response.generations):
            print(f"Response {idx+1}:\n{generation[0].text}\n")
  • 将回调绑定到Ollama LLM实例,CrewAI可直接复用该实例:
from langchain.llms import Ollama
from crewai import Agent, Task, Crew

# 初始化带调试回调的LLM
llm = Ollama(model="llama2", callbacks=[DebugLLMCallback()])

# CrewAI中使用该LLM
agent = Agent(
    role="测试代理",
    goal="完成指定测试任务",
    backstory="用于调试的测试代理",
    llm=llm
)

方案2:直接启用Ollama内置调试日志

Ollama自带完整的调试日志功能,零开发成本即可捕获所有请求和响应细节:

  • 启动Ollama服务器时开启调试模式:
OLLAMA_DEBUG=1 ollama serve

控制台会实时输出完整的HTTP请求、提示词内容和模型返回结果,满足快速调试需求。

  • 如需持久化日志,可将输出重定向到文件:
OLLAMA_DEBUG=1 ollama serve > ollama_debug.log 2>&1

方案3:CrewAI自定义执行钩子

针对多Agent协作场景,可直接扩展CrewAI的Agent类,聚焦任务执行流程的输入输出记录:

  • 自定义带日志逻辑的Agent:
from crewai import Agent

class DebugAgent(Agent):
    def execute(self, task):
        print(f"\n=== Agent {self.role} 任务输入 ===")
        print(f"任务描述: {task.description}")
        print(f"附加信息: {task.additional_info}\n")
        
        # 执行原任务逻辑
        result = super().execute(task)
        
        print(f"\n=== Agent {self.role} 任务输出 ===")
        print(f"执行结果: {result}\n")
        return result
  • 使用自定义Agent创建协作流程:
agent = DebugAgent(
    role="测试代理",
    goal="完成指定测试任务",
    backstory="用于调试的测试代理",
    llm=llm
)

方案对比

方案优点适用场景
LangChain回调集成度高,可自定义日志格式与存储方式侧重LLM层级调试,兼容CrewAI
Ollama内置日志零开发成本,日志信息全面快速调试,无需修改业务代码
CrewAI自定义钩子贴合多Agent协作场景,聚焦任务流程需要调试Agent间协作逻辑的场景

内容的提问来源于stack exchange,提问作者Max Zemsky

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 11:31:12