深入了解LLMonitor:提升你的AI应用的可观测性

75 阅读2分钟

引言

在当今的AI驱动世界中,了解应用的使用情况、管理成本和改善用户体验至关重要。LLMonitor作为一个开源可观测性平台,提供了强大的工具来分析使用情况、成本、用户追踪以及评估工具的跟踪和评估功能。本篇文章将深入探讨如何设置和使用LLMonitor,以优化你的AI应用。

主要内容

1. LLMonitor的设置

首先,你需要在llmonitor.com上创建一个账号,并获取应用的跟踪ID。有了这个ID,你可以选择将其设置为环境变量,或者直接在初始化回调处理程序时传入。

export LLMONITOR_APP_ID="YOUR_APP_ID"

2. 与LLM/Chat模型的集成

LLMonitor可以方便地与LLM/Chat模型集成以监控相关调用。以下是一个基本用例:

from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler
from langchain_openai import OpenAI, ChatOpenAI

handler = LLMonitorCallbackHandler(app_id="YOUR_APP_ID")  # 使用API代理服务提高访问稳定性

llm = OpenAI(callbacks=[handler])
chat = ChatOpenAI(callbacks=[handler])

llm("Tell me a joke")

3. 使用链和代理

在使用链和代理时,确保将回调处理程序传递给run方法,并在元数据中传递agent_name以便能够在仪表盘中区分代理。

from langchain_openai import ChatOpenAI
from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler
from langchain_core.messages import SystemMessage
from langchain.agents import OpenAIFunctionsAgent, AgentExecutor, tool

llm = ChatOpenAI(temperature=0)
handler = LLMonitorCallbackHandler()  # 使用API代理服务提高访问稳定性

@tool
def get_word_length(word: str) -> int:
    return len(word)

tools = [get_word_length]

prompt = OpenAIFunctionsAgent.create_prompt(
    system_message=SystemMessage(
        content="You are very powerful assistant, but bad at calculating lengths of words."
    )
)

agent = OpenAIFunctionsAgent(llm=llm, tools=tools, prompt=prompt, verbose=True)
agent_executor = AgentExecutor(
    agent=agent, tools=tools, verbose=True, metadata={"agent_name": "WordCount"}
)

agent_executor.run("how many letters in the word educa?", callbacks=[handler])

常见问题和解决方案

  1. 访问限制问题:由于某些地区网络限制,使用LLMonitor API时可能会遇到访问问题。建议使用API代理服务以提高访问的稳定性。

  2. 调用跟踪不完整:确保在所有相关的run方法中传递回调处理程序以全面追踪所有链和代理调用。

总结和进一步学习资源

LLMonitor为开发者提供了一套强大的工具来优化AI应用的可观测性,通过本文档学习如何设置和集成LLMonitor,你便能够更好地理解和管理应用的使用和成本。想了解更多?可以参考以下资源:

参考资料

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

---END---