您的当前位置:首页正文

[探索LLMonitor:开源可观测性平台的高效使用指南]

2024-11-05 来源:个人技术集锦

探索LLMonitor:开源可观测性平台的高效使用指南

在现代软件开发中,了解和管理应用程序的使用情况和性能是至关重要的。LLMonitor是一个开源的可观测性平台,专注于提供成本和使用分析、用户追踪、追踪和评估工具。在这篇文章中,我们将深入探讨如何设置和使用LLMonitor以获得这些关键洞察。

引言

如果你问任何一位软件开发者,监控和分析应用程序的使用情况有多重要,他们肯定会告诉你:非常重要。LLMonitor通过其强大的功能集,使得这一切变得更加简单。本文的目的是帮助你快速上手LLMonitor,并提供一些实用的代码示例。

主要内容

设置LLMonitor

要开始使用LLMonitor,首先需要在llmonitor.com创建一个帐户,并获得你的应用程序的跟踪ID。一旦你有了这个ID,你可以通过运行以下命令将其设置为环境变量:

export LLMONITOR_APP_ID="..."  # 将你的应用程序ID放在这里

如果你不想设置环境变量,也可以直接在初始化回调处理器时传递这个ID:

from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler

handler = LLMonitorCallbackHandler(app_id="...")

与LLM/聊天模型的集成

LLMonitor与多种大型语言模型(LLM)和聊天模型兼容。例如,你可以将其与OpenAI模型结合使用,简单地通过回调函数处理器进行设置:

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

handler = LLMonitorCallbackHandler()

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

llm("Tell me a joke")  # 使用API代理服务提高访问稳定性

在链和代理中的使用

在与链和代理结合使用时,确保将回调处理器传递给run方法,以便正确追踪所有相关的链和LLM调用。建议在元数据中传递agent_name以便在仪表板中区分代理。

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

llm = ChatOpenAI(temperature=0)
handler = LLMonitorCallbackHandler()

@tool
def get_word_length(word: str) -> int:
    """Returns the length of a word."""
    return len(word)

tools = [get_word_length]

prompt = OpenAIFunctionsAgent.create_prompt(
    system_message=SystemMessage(
        content="You are a 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"}  # <- recommended, assign a custom name
)
agent_executor.run("how many letters in the word educa?", callbacks=[handler])

用户追踪

LLMonitor还支持用户追踪,使你可以通过用户属性识别用户并跟踪他们的成本和对话记录。

from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler, identify

with identify("user-123"):
    llm.invoke("Tell me a joke")

with identify("user-456", user_props={"email": "user456@test.com"}):
    agent.run("Who is Leo DiCaprio's girlfriend?")

常见问题和解决方案

总结和进一步学习资源

LLMonitor提供了一个强大而灵活的解决方案来制作可观测性决策,使你能够更好地了解应用的使用情况和性能表现。要深入学习,请访问LLMonitor的文档和相关的开源项目。以下是一些推荐的资源:

参考资料

  • LLMonitor官方网站
  • Langchain社区GitHub项目
  • OpenAI API参考

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

—END—

显示全文