# 掌握LangChain调用:使用Log10数据管理平台的完整指南
## 引言
在现代应用程序中,管理和调试LangChain调用变得越来越重要。Log10是一个开源的无代理LLM数据管理和应用开发平台,它帮助开发者记录、调试和标记LangChain调用。本文将引导您如何快速集成Log10到LangChain,并分享一些常见问题和解决方案。
## 主要内容
### 什么是Log10?
Log10提供了一种无缝的方法来处理LangChain调用的数据管理。它不仅可以记录,还可以为日志添加标签,以便更好地分类和搜索。
### 快速开始
1. 访问 [log10.io](https://log10.io) 创建免费账户。
2. 在平台上找到您的`LOG10_TOKEN`和`LOG10_ORG_ID`,并将它们作为环境变量添加。
3. 还需设置`LOG10_URL=https://log10.io`以及您的LLM API密钥,例如`OPENAI_API_KEY`。
### 如何为LangChain启用Log10数据管理
通过简单的一行`log10_callback`集成,您可以开始日志记录:
```python
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)
直接OpenAI调用与LangChain调用的混合使用
您可以同时记录直接的OpenAI调用和LangChain调用:
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,
# 使用API代理服务提高访问稳定性
)
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调用请求的URL来实现。
日志标记混乱
确保在创建和使用日志标签时采用一致的命名规范,以便于管理和搜索。
总结和进一步学习资源
Log10为LangChain调用提供了一种灵活且强大的数据管理方法。通过本指南,您可以轻松集成和使用这些工具,以提高开发效率。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---