Files
Sun-ZhenXing fbd0c9b7f4 feat: add services
- Introduced Convex, an open-source reactive database, with README and environment variable configurations.
- Added Chinese translation for Convex documentation.
- Created docker-compose configuration for Convex services.
- Introduced llama-swap, a model swapping proxy for OpenAI/Anthropic compatible servers, with comprehensive README and example configuration.
- Added Chinese translation for llama-swap documentation.
- Included example environment file and docker-compose setup for llama-swap.
- Configured health checks and resource limits for both Convex and llama-swap services.
2026-03-09 09:27:06 +08:00
..
2026-03-09 09:27:06 +08:00

Opik

English | 中文

This service deploys Opik, an open-source platform for LLM observability, evaluation, and optimization. Opik helps you debug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards.

Services

  • frontend: Opik web UI (Nginx)
  • backend: Main Opik backend API service (Java/Dropwizard)
  • python-backend: Python backend for code execution and AI features
  • mysql: MySQL database for state persistence
  • clickhouse: ClickHouse analytics database for trace storage
  • redis: Redis for caching and job queues
  • zookeeper: ZooKeeper for ClickHouse coordination
  • minio: S3-compatible object storage for attachments

Quick Start

  1. Copy .env.example to .env:

    cp .env.example .env
    
  2. Update critical secrets in .env (optional for local development):

    # Generate secure passwords if needed
    MYSQL_ROOT_PASSWORD=your-secure-password
    MYSQL_PASSWORD=your-secure-password
    REDIS_PASSWORD=your-secure-password
    CLICKHOUSE_PASSWORD=your-secure-password
    MINIO_ROOT_PASSWORD=your-secure-password
    
  3. Start the services:

    docker compose up -d
    
  4. Access Opik at http://localhost:5173

Core Environment Variables

Variable Description Default
OPIK_VERSION Opik container image version 1.10.23
OPIK_PORT_OVERRIDE Web UI port 5173
OPIK_BACKEND_PORT_OVERRIDE Backend API port 3003
OPIK_USAGE_REPORT_ENABLED Enable anonymous usage reporting true
TOGGLE_WELCOME_WIZARD_ENABLED Show welcome wizard on first run true

Database Configuration

Variable Description Default
MYSQL_VERSION MySQL version 8.4.2
MYSQL_ROOT_PASSWORD MySQL root password opik
MYSQL_DATABASE MySQL database name opik
MYSQL_USER MySQL username opik
MYSQL_PASSWORD MySQL password opik
CLICKHOUSE_VERSION ClickHouse version 25.3.6.56-alpine
CLICKHOUSE_DB ClickHouse database name opik
CLICKHOUSE_USER ClickHouse username opik
CLICKHOUSE_PASSWORD ClickHouse password opik

Storage & Cache Configuration

Variable Description Default
REDIS_VERSION Redis version 7.2.4-alpine3.19
REDIS_PASSWORD Redis password opik
MINIO_ROOT_USER MinIO admin username opikminio
MINIO_ROOT_PASSWORD MinIO admin password opikminio123
MINIO_PORT_OVERRIDE MinIO API port 9000
MINIO_CONSOLE_PORT_OVERRIDE MinIO console port 9090

AI Features Configuration (Optional)

Variable Description Default
TOGGLE_OPIK_AI_ENABLED Enable Opik AI features false
TOGGLE_GUARDRAILS_ENABLED Enable guardrails false
OPENAI_API_KEY OpenAI API key for AI features ``
ANTHROPIC_API_KEY Anthropic API key for AI features ``
OPENROUTER_API_KEY OpenRouter API key for AI features ``

Python Backend Configuration

Variable Description Default
PYTHON_CODE_EXECUTOR_STRATEGY Code execution strategy (process/container) process
PYTHON_CODE_EXECUTOR_CONTAINERS_NUM Number of executor containers 5
PYTHON_CODE_EXECUTOR_EXEC_TIMEOUT_IN_SECS Code execution timeout 3
PYTHON_CODE_EXECUTOR_ALLOW_NETWORK Allow network access in code execution false
OPTSTUDIO_MAX_CONCURRENT_JOBS Max concurrent optimization jobs 5
OPTSTUDIO_LOG_LEVEL Optimization studio log level INFO
OPTSTUDIO_LLM_MAX_TOKENS Max tokens for LLM calls 8192

Volumes

  • mysql_data: MySQL database files
  • redis_data: Redis persistence data
  • zookeeper_data: ZooKeeper data
  • clickhouse_data: ClickHouse data files
  • clickhouse_logs: ClickHouse logs
  • clickhouse_config: ClickHouse configuration
  • minio_data: MinIO object storage data

Resource Limits

All services have configurable CPU and memory limits:

Service CPU Limit Memory Limit
frontend 0.5 512M
backend 2.0 2G
python-backend 1.0 1G
mysql 1.0 1G
clickhouse 2.0 4G
redis 0.5 512M
zookeeper 0.5 1G
minio 1.0 1G

SDK Configuration

To use the Opik Python SDK with this local deployment:

import opik

# Configure for local deployment
opik.configure(use_local=True)

# Or set environment variables
import os
os.environ["OPIK_URL_OVERRIDE"] = "http://localhost:5173/api"
os.environ["OPIK_API_KEY"] = ""  # Leave empty for local deployment

# Start tracing
@opik.track
def my_llm_function(user_question: str) -> str:
    # Your LLM code here
    return "Hello"

Documentation

License

Opik is licensed under the Apache 2.0 License.