# 引言
在现代机器学习应用中,监控和可观察性至关重要。Arthur是一个强大的平台,专为模型监控和可观察性而设计。在这篇文章中,我们将探讨如何使用Arthur回调处理程序在Arthur平台上自动记录语言模型推断结果。如果你尚未在Arthur上注册模型,我们建议参考我们的入门指南以便获取更多信息。
# 主要内容
## 安装和设置
要开始使用Arthur回调处理程序,我们首先需要配置Arthur的凭据。请确保在你的环境中设置如下变量:
```python
arthur_url = "https://app.arthur.ai"
arthur_login = "your-arthur-login-username-here"
arthur_model_id = "your-arthur-model-id-here"
回调处理程序
接下来,我们需要导入必要的模块:
from langchain_community.callbacks import ArthurCallbackHandler
from langchain_core.callbacks import StreamingStdOutCallbackHandler
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI
创建带有Arthur回调处理程序的Langchain LLM
我们定义一个函数来创建Langchain的语言模型,这个模型会通过回调处理程序实时将模型推断结果记录到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()
运行模型
通过以下代码运行语言模型,并将聊天历史记录保存在一个列表中,以便可以引用早期消息并将每个响应记录到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)
常见问题和解决方案
-
为什么我的回调函数没有被调用? 确保回调函数已正确注册和附加到相应的事件或条件。
-
如何处理回调函数中的错误? 在回调函数中实现异常处理以处理潜在错误,确保你的程序可以优雅地应对意外情况。
总结和进一步学习资源
利用Arthur的回调处理程序,可以实现对你的语言模型的实时监控,实现异步和事件驱动编程,提升模型的响应能力和模块化设计。为了深入学习,可以参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---