LLMonitor는 비용 및 사용량 분석, 사용자 추적, tracing 및 평가 도구를 제공하는 오픈소스 observability 플랫폼입니다.

Setup

llmonitor.com에서 계정을 생성한 다음, 새 앱의 tracking id를 복사하세요. tracking id를 받은 후, 다음 명령을 실행하여 환경 변수로 설정하세요:
export LLMONITOR_APP_ID="..."
환경 변수를 설정하지 않으려면, callback handler를 초기화할 때 키를 직접 전달할 수 있습니다:
from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler

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

LLM/Chat model과 함께 사용하기

from langchain_openai import OpenAI
from langchain_openai import ChatOpenAI

handler = LLMonitorCallbackHandler()

llm = OpenAI(
    callbacks=[handler],
)

chat = ChatOpenAI(callbacks=[handler])

llm("Tell me a joke")

chain 및 agent와 함께 사용하기

관련된 모든 chain과 llm 호출이 올바르게 추적되도록 run 메서드에 callback handler를 전달해야 합니다. 또한 대시보드에서 agent를 구별할 수 있도록 metadata에 agent_name을 전달하는 것이 권장됩니다. 예시:
from langchain_openai import ChatOpenAI
from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler
from langchain.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 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])
다른 예시:
import os

from langchain_community.agent_toolkits.load_tools import load_tools
from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler
from langchain_openai import ChatOpenAI
from langchain.agents import create_agent


os.environ["LLMONITOR_APP_ID"] = ""
os.environ["OPENAI_API_KEY"] = ""
os.environ["SERPAPI_API_KEY"] = ""

handler = LLMonitorCallbackHandler()
llm = ChatOpenAI(temperature=0, callbacks=[handler])
tools = load_tools(["serpapi", "llm-math"], llm=llm)
agent = create_agent("openai:gpt-4.1-mini", tools)

input_message = {
    "role": "user",
    "content": "What's the weather in SF?",
}

agent.invoke({"messages": [input_message]})

User Tracking

User tracking을 사용하면 사용자를 식별하고, 비용, 대화 등을 추적할 수 있습니다.
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": "[email protected]"}):
    agent.invoke(...)

Support

통합과 관련된 질문이나 문제가 있으면 Discord 또는 이메일을 통해 LLMonitor 팀에 문의하실 수 있습니다.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I