Quickstart
This guide helps you integrate the Opik platform with your existing Agent. The goal of this guide is to help you log your first traces and start tracking your prompts and agent configuration in Opik.
Prerequisites
Section titled “Prerequisites”Before you begin, you'll need to choose how you want to use Opik:
- Opik Cloud: Create a free account at comet.com/opik
- Self-hosting: Follow the self-hosting guide to deploy Opik locally or on Kubernetes
Logging your first LLM calls
Section titled “Logging your first LLM calls”Opik makes it easy to integrate with your existing LLM application. Pick the tab that matches your stack and follow the three steps to log your first trace:
If you are using the Python function decorator, you can integrate by:
Install the Opik Python SDK:
Bash pip install opikConfigure the Opik Python SDK:
Bash opik configureWrap your function with the
@trackdecorator:Python from opik import track @track def my_function(input: str) -> str: return inputAll calls to the
my_functionwill now be logged to Opik. This works well for any function even nested ones and is also supported by most integrations (just wrap any parent function with the@trackdecorator).
If you want to use the TypeScript SDK to log traces directly:
Install the Opik TypeScript SDK:
Bash npm install opikConfigure the Opik TypeScript SDK by running the interactive CLI tool:
Bash npx opik-ts configureThis will detect your project setup, install required dependencies, and help you configure environment variables.
Log a trace using the Opik client:
TypeScript import { Opik } from "opik"; const client = new Opik(); const trace = client.trace({ name: "My LLM Application", input: { prompt: "What is the capital of France?" }, output: { response: "The capital of France is Paris." }, }); trace.end(); await client.flush();All traces will now be logged to Opik. You can also log spans within traces for more detailed observability.
If you are using the OpenAI Python SDK, you can integrate by:
Install the Opik Python SDK:
Bash pip install opikConfigure the Opik Python SDK, this will prompt you for your API key if you are using Opik Cloud or your Opik server address if you are self-hosting:
Bash opik configureWrap your OpenAI client with the
track_openaifunction:Python from opik.integrations.openai import track_openai from openai import OpenAI # Wrap your OpenAI client client = OpenAI() client = track_openai(client) # Use the client as normal completion = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "user", "content": "Hello, how are you?", }, ], ) print(completion.choices[0].message.content)All OpenAI calls made using the
clientwill now be logged to Opik. You can combine this with the@trackdecorator to log the traces for each step of your agent.
If you are using the OpenAI TypeScript SDK, you can integrate by:
Install the Opik TypeScript SDK:
Bash npm install opik-openaiConfigure the Opik TypeScript SDK by running the interactive CLI tool:
Bash npx opik-ts configureThis will detect your project setup, install required dependencies, and help you configure environment variables.
Wrap your OpenAI client with the
trackOpenAIfunction:TypeScript import OpenAI from "openai"; import { trackOpenAI } from "opik-openai"; // Initialize the original OpenAI client const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY, }); // Wrap the client with Opik tracking const trackedOpenAI = trackOpenAI(openai); // Use the tracked client just like the original const completion = await trackedOpenAI.chat.completions.create({ model: "gpt-4", messages: [{ role: "user", content: "Hello, how can you help me today?" }], }); console.log(completion.choices[0].message.content); // Ensure all traces are sent before your app terminates await trackedOpenAI.flush();All OpenAI calls made using the
trackedOpenAIwill now be logged to Opik.
If you are using LangGraph, you can integrate by:
Install the Opik SDK:
Bash pip install opikConfigure the Opik SDK by running the
opik configurecommand in your terminal:Bash opik configureTrack your LangGraph graph with
track_langgraph:Python from opik.integrations.langchain import OpikTracer, track_langgraph # Create your LangGraph graph graph = ... app = graph.compile(...) # Create OpikTracer and track the graph once # The graph visualization is automatically extracted by track_langgraph opik_tracer = OpikTracer() app = track_langgraph(app, opik_tracer) # Now all invocations are automatically tracked! result = app.invoke({"messages": [HumanMessage(content = "How to use LangGraph ?")]})All LangGraph calls will now be logged to Opik. No need to pass callbacks on every invocation!
If you already use a coding agent (Claude Code, Codex, Cursor, OpenCode, etc.), you can let it instrument your app for you with the Opik Skill. Requires Node.js installed.
Install the Opik skill
Bash npx skills add comet-ml/opik-skillsRun the integration
Once the skill is installed, you can integrate with Opik using the following prompt:
Instrument my agent with Opik using the /opik-instrument command.
Opik has 30+ integrations with popular frameworks and model providers:
Analyze your traces
Section titled “Analyze your traces”After running your application, you will start seeing your traces in Opik and you can use Ollie to analyze them and improve your agent.
If you don't see traces appearing, reach out to us on Slack or raise an issue on GitHub and we'll help you troubleshoot.
Next steps
Section titled “Next steps”Now that you have logged your first traces, here's what to explore next:
- In depth guide on agent observability: Learn how to customize the data that is logged to Opik and how to log conversations.
- Opik Experiments: Opik allows you to automated the evaluation process of your LLM application so that you no longer need to manually review every LLM response.
- Opik's evaluation metrics: Opik provides a suite of evaluation metrics (Hallucination, Answer Relevance, Context Recall, etc.) that you can use to score your LLM responses.
- Opik's MCP server: Connect your AI coding assistant to Opik so it can read traces, log scores and run evaluations without you leaving your editor.