Skip to main content

Langsmith - Logging LLM Input/Output

An all-in-one developer platform for every step of the application lifecycle https://smith.langchain.com/

We want to learn how we can make the callbacks better! Meet the LiteLLM founders or join our discord

Pre-Requisites

pip install litellm

Quick Start

Use just 2 lines of code, to instantly log your responses across all providers with Langsmith

litellm.success_callback = ["langsmith"]
import litellm
import os

os.environ["LANGSMITH_API_KEY"] = ""
os.environ["LANGSMITH_PROJECT"] = "" # defaults to litellm-completion
os.environ["LANGSMITH_DEFAULT_RUN_NAME"] = "" # defaults to LLMRun
# LLM API Keys
os.environ['OPENAI_API_KEY']=""

# set langsmith as a callback, litellm will send the data to langsmith
litellm.success_callback = ["langsmith"] 
 
# openai call
response = litellm.completion(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "user", "content": "Hi 👋 - i'm openai"}
  ]
)

Advanced

Set Custom Project & Run names

import litellm
import os

os.environ["LANGSMITH_API_KEY"] = ""
# LLM API Keys
os.environ['OPENAI_API_KEY']=""

# set langfuse as a callback, litellm will send the data to langfuse
litellm.success_callback = ["langsmith"] 
 
response = litellm.completion(
    model="gpt-3.5-turbo",
     messages=[
        {"role": "user", "content": "Hi 👋 - i'm openai"}
    ],
    metadata={
        "run_name": "litellmRUN",               # langsmith run name
        "project_name": "litellm-completion",   # langsmith project name
    }
)
print(response)

Make LiteLLM Proxy use Custom LANGSMITH_BASE_URL

If you're using a custom LangSmith instance, you can set the LANGSMITH_BASE_URL environment variable to point to your instance. For example, you can make LiteLLM Proxy log to a local LangSmith instance with this config:

litellm_settings:
  success_callback: ["langsmith"]

environment_variables:
  LANGSMITH_BASE_URL: "http://localhost:1984"
  LANGSMITH_PROJECT: "litellm-proxy"

Support & Talk to Founders