引言
在当今的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])
常见问题和解决方案
-
访问限制问题:由于某些地区网络限制,使用LLMonitor API时可能会遇到访问问题。建议使用API代理服务以提高访问的稳定性。
-
调用跟踪不完整:确保在所有相关的
run方法中传递回调处理程序以全面追踪所有链和代理调用。
总结和进一步学习资源
LLMonitor为开发者提供了一套强大的工具来优化AI应用的可观测性,通过本文档学习如何设置和集成LLMonitor,你便能够更好地理解和管理应用的使用和成本。想了解更多?可以参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---