2344

by comet-ml

233 downloads
Not rated
GitHub

About

<div align="center"><b><a href="README.md">English</a> | <a href="readme_CN.md">简体中文</a> | <a href="readme_JP.md">日本語</a> | <a href="readme_KO.md">한국어</a></b></div> <h1 align="center" style="border-bottom: none"> <div> <a…

Details

Author
comet-ml
Downloads
233
Categories
Other

- Trace all LLM calls and spans during development and production.
- Annotate traces with feedback scores via SDK or UI.
- Evaluate LLM applications with datasets, experiments, and LLM-as-a-judge metrics.
- Run evaluations as part of CI/CD pipelines with PyTest integration.
- Monitor production with high-volume ingestion (40M+ traces/day), dashboards, and online evaluation metrics.
- Support for OpenAI, LiteLLM, LangChain, and Haystack integrations.
- Prompt playground for experimenting with different prompts and models.

Install the Python SDK with pip install opik, then run opik configure to set the local server address or a cloud API key. Alternatively, self-host with Docker Compose by cloning the repository and running ./opik.sh (Linux/Mac) or .\opik.ps1 (Windows). Once configured, log traces using the Python SDK or integrations.

<div align="center"><b><a href="README.md">English</a> | <a href="readme_CN.md">简体中文</a> | <a href="readme_JP.md">日本語</a> | <a href="readme_KO.md">한국어</a></b></div>

<h1 align="center" style="border-bottom: none">
<div>
<a href="https://www.comet.com/site/products/opik/?from=llm&utm_source=opik&utm_medium=github&utm_content=header_img&utm_campaign=opik"><picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/comet-ml/opik/refs/heads/main/apps/opik-documentation/documentation/static/img/logo-dark-mode.svg">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/comet-ml/opik/refs/heads/main/apps/opik-documentation/documentation/static/img/opik-logo.svg">
Comet Opik logo
</picture></a>
<br>
Opik
</div>
Open source LLM evaluation framework<br>
</h1>

<p align="center">
From RAG chatbots to code assistants to complex agentic pipelines and beyond, build LLM systems that run better, faster, and cheaper with tracing, evaluations, and dashboards.
</p>

<div align="center">

Python SDK
License
Build
<a target="_blank" href="https://colab.research.google.com/github/comet-ml/opik/blob/master/apps/opik-documentation/documentation/docs/cookbook/opik_quickstart.ipynb">

<!-- Open Quickstart In Colab -->
</a>

</div>

<p align="center">
<a href="https://www.comet.com/site/products/opik/?from=llm&utm_source=opik&utm_medium=github&utm_content=website_button&utm_campaign=opik"><b>Website</b></a> •
<a href="https://chat.comet.com"><b>Slack community</b></a> •
<a href="https://x.com/Cometml"><b>Twitter</b></a> •
<a href="https://www.comet.com/docs/opik/?from=llm&utm_source=opik&utm_medium=github&utm_content=docs_button&utm_campaign=opik"><b>Documentation</b></a>
</p>

Opik thumbnail

Important change on version 1.7.0

Please check the change log here.

🚀 What is Opik?

Opik is an open-source platform for evaluating, testing and monitoring LLM applications. Built by Comet.

<br>

You can use Opik for:
Development:

Tracing: Track all LLM calls and traces during development and production (Quickstart, Integrations)

Annotations: Annotate your LLM calls by logging feedback scores using the Python SDK or the UI.

Playground: Try out different prompts and models in the prompt playground.

Evaluation: Automate the evaluation process of your LLM application:

Datasets and Experiments: Store test cases and run experiments (Datasets, Evaluate your LLM Application)

LLM as a judge metrics: Use Opik's LLM as a judge metric for complex issues like hallucination detection, moderation and RAG evaluation (Answer Relevance, Context Precision

CI/CD integration: Run evaluations as part of your CI/CD pipeline using our PyTest integration

Production Monitoring:

Log all your production traces: Opik has been designed to support high volumes of traces, making it easy to monitor your production applications. Even small deployments can ingest more than 40 million traces per day!

Monitoring dashboards: Review your feedback scores, trace count and tokens over time in the Opik Dashboard.

Online evaluation metrics: Easily score all your production traces using LLM as a Judge metrics and identify any issues with your production LLM application thanks to Opik's online evaluation metrics

> [!TIP]
> If you are looking for features that Opik doesn't have today, please raise a new Feature request 🚀

<br>

🛠️ Installation

Opik is available as a fully open source local installation or using Comet.com as a hosted solution. The easiest way to get started with Opik is by creating a free Comet account at comet.com.

If you'd like to self-host Opik, you can do so by cloning the repository and starting the platform using Docker Compose:

On Linux or Mac do:

# Clone the Opik repository
git clone https://github.com/comet-ml/opik.git

Navigate to the repository

cd opik

Start the Opik platform

./opik.sh

On Windows do:

# Clone the Opik repository
git clone https://github.com/comet-ml/opik.git

Navigate to the repository

cd opik

Start the Opik platform

powershell -ExecutionPolicy ByPass -c ".\opik.ps1"

Use the --help or --info options to troubleshoot issues.

Once all is up and running, you can now visit localhost:5173 on your browser!

For more information about the different deployment options, please see our deployment guides:

| Installation methods | Docs link |
| ------------------- | --------- |
| Local instance | Local Deployment
| Kubernetes | Kubernetes

🏁 Get Started

To get started, you will need to first install the Python SDK:

pip install opik

Once the SDK is installed, you can configure it by running the opik configure command:

opik configure

This will allow you to configure Opik locally by setting the correct local server address or if you're using the Cloud platform by setting the API Key

> [!TIP]
> You can also call the opik.configure(use_local=True) method from your Python code to configure the SDK to run on the local installation.

You are now ready to start logging traces using the Python SDK.

📝 Logging Traces

The easiest way to get started is to use one of our integrations. Opik supports:

| Integration | Description | Documentation | Try in Colab |
|-------------|------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| OpenAI | Log traces for all OpenAI LLM calls | Documentation | Open Quickstart In Colab |
| LiteLLM | Call any LLM model using the OpenAI format | Documentation | Open Quickstart In Colab |
| LangChain | Log traces for all LangChain LLM calls | Documentation | Open Quickstart In Colab |
| Haystack | Log traces for all Haystack calls | Documentation | Open Quickstart In Colab |
| Anthropic | Log traces for all Anthropic LLM calls | Documentation | Open Quickstart In Colab |
| Bedrock | Log traces for all Bedrock LLM calls | Documentation | Open Quickstart In Colab |
| CrewAI | Log traces for all CrewAI calls | Documentation | Open Quickstart In Colab |
| DeepSeek | Log traces for all DeepSeek LLM calls | Documentation | |
| DSPy | Log traces for all DSPy runs | Documentation | Open Quickstart In Colab |
| Gemini | Log traces for all Gemini LLM calls | Documentation | Open Quickstart In Colab |
| Groq | Log traces for all Groq LLM calls | Documentation | Open Quickstart In Colab |
| Guardrails | Log traces for all Guardrails validations | Documentation | Open Quickstart In Colab |
| Instructor | Log traces for all LLM calls made with Instructor | Documentation | Open Quickstart In Colab |
| LangGraph | Log traces for all LangGraph executions | Documentation | Open Quickstart In Colab |
| LlamaIndex | Log traces for all LlamaIndex LLM calls | Documentation | Open Quickstart In Colab |
| Ollama | Log traces for all Ollama LLM calls | Documentation | Open Quickstart In Colab |
| Predibase | Fine-tune and serve open-source Large Language Models | Documentation | Open Quickstart In Colab |
| Pydantic AI | Fine-tune and serve open-source Large Language Models | Documentation | Open Quickstart In Colab |
| Ragas | PydanticAI is a Python agent framework designed to build production apps | Documentation | Open Quickstart In Colab |
| watsonx | Log traces for all watsonx LLM calls | Documentation | Open Quickstart In Colab |

> [!TIP]
> If the framework you are using is not listed above, feel free to open an issue or submit a PR with the integration.

If you are not using any of the frameworks above, you can also use the track function decorator to log traces:

import opik

opik.configure(use_local=True) # Run locally

@opik.track
def my_llm_function(user_question: str) -> str:
# Your LLM code here

return "Hello"

> [!TIP]
> The track decorator can be used in conjunction with any of our integrations and can also be used to track nested function calls.

🧑‍⚖️ LLM as a Judge metrics

The Python Opik SDK includes a number of LLM as a judge metrics to help you evaluate your LLM application. Learn more about it in the metrics documentation.

To use them, simply import the relevant metric and use the score function:

from opik.evaluation.metrics import Hallucination

metric = Hallucination()
score = metric.score(
input="What is the capital of France?",
output="Paris",
context=["France is a country in Europe."]
)
print(score)

Opik also includes a number of pre-built heuristic metrics as well as the ability to create your own. Learn more about it in the metrics documentation.

🔍 Evaluating your LLM Application

Opik allows you to evaluate your LLM application during development through Datasets and Experiments.

You can also run evaluations as part of your CI/CD pipeline using our PyTest integration.

⭐ Star Us on GitHub

If you find Opik useful, please consider giving us a star! Your support helps us grow our community and continue improving the product.

Opik GitHub Star History

🤝 Contributing

There are many ways to contribute to Opik:

Submit bug reports and feature requests
Review the documentation and submit Pull Requests to improve it
Speaking or writing about Opik and letting us know
Upvoting popular feature requests to show your support

To learn more about how to contribute to Opik, please see our contributing guidelines.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.