Files
compose-anything/apps/opik/README.zh.md

6.2 KiB
Raw Permalink Blame History

Opik

English | 中文

本服务部署 Opik,一个开源的 LLM 可观测性、评估和优化平台。Opik 帮助你调试、评估和监控 LLM 应用程序、RAG 系统和智能体工作流,提供全面的追踪、自动化评估和生产级仪表板。

服务组件

  • frontendOpik Web 界面Nginx
  • backendOpik 主后端 API 服务Java/Dropwizard
  • python-backendPython 后端,用于代码执行和 AI 功能
  • mysqlMySQL 数据库,用于状态持久化
  • clickhouseClickHouse 分析数据库,用于追踪数据存储
  • redisRedis用于缓存和任务队列
  • zookeeperZooKeeper用于 ClickHouse 协调
  • minio:兼容 S3 的对象存储,用于附件

快速开始

  1. 复制 .env.example.env

    cp .env.example .env
    
  2. 更新 .env 中的关键密钥(本地开发可选):

    # 如需生成安全密码
    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. 启动服务:

    docker compose up -d
    
  4. 访问 Opikhttp://localhost:5173

核心环境变量

变量名 描述 默认值
OPIK_VERSION Opik 容器镜像版本 1.10.23
OPIK_PORT_OVERRIDE Web UI 端口 5173
OPIK_BACKEND_PORT_OVERRIDE 后端 API 端口 3003
OPIK_USAGE_REPORT_ENABLED 启用匿名使用报告 true
TOGGLE_WELCOME_WIZARD_ENABLED 首次运行时显示欢迎向导 true

数据库配置

变量名 描述 默认值
MYSQL_VERSION MySQL 版本 8.4.2
MYSQL_ROOT_PASSWORD MySQL root 密码 opik
MYSQL_DATABASE MySQL 数据库名 opik
MYSQL_USER MySQL 用户名 opik
MYSQL_PASSWORD MySQL 密码 opik
CLICKHOUSE_VERSION ClickHouse 版本 25.3.6.56-alpine
CLICKHOUSE_DB ClickHouse 数据库名 opik
CLICKHOUSE_USER ClickHouse 用户名 opik
CLICKHOUSE_PASSWORD ClickHouse 密码 opik

存储与缓存配置

变量名 描述 默认值
REDIS_VERSION Redis 版本 7.2.4-alpine3.19
REDIS_PASSWORD Redis 密码 opik
MINIO_ROOT_USER MinIO 管理员用户名 opikminio
MINIO_ROOT_PASSWORD MinIO 管理员密码 opikminio123
MINIO_PORT_OVERRIDE MinIO API 端口 9000
MINIO_CONSOLE_PORT_OVERRIDE MinIO 控制台端口 9090

AI 功能配置(可选)

变量名 描述 默认值
TOGGLE_OPIK_AI_ENABLED 启用 Opik AI 功能 false
TOGGLE_GUARDRAILS_ENABLED 启用护栏功能 false
OPENAI_API_KEY OpenAI API 密钥 ``
ANTHROPIC_API_KEY Anthropic API 密钥 ``
OPENROUTER_API_KEY OpenRouter API 密钥 ``

Python 后端配置

变量名 描述 默认值
PYTHON_CODE_EXECUTOR_STRATEGY 代码执行策略process/container process
PYTHON_CODE_EXECUTOR_CONTAINERS_NUM 执行器容器数量 5
PYTHON_CODE_EXECUTOR_EXEC_TIMEOUT_IN_SECS 代码执行超时时间 3
PYTHON_CODE_EXECUTOR_ALLOW_NETWORK 允许代码执行访问网络 false
OPTSTUDIO_MAX_CONCURRENT_JOBS 最大并发优化任务数 5
OPTSTUDIO_LOG_LEVEL 优化工作室日志级别 INFO
OPTSTUDIO_LLM_MAX_TOKENS LLM 调用最大令牌数 8192

数据卷

  • mysql_dataMySQL 数据库文件
  • redis_dataRedis 持久化数据
  • zookeeper_dataZooKeeper 数据
  • clickhouse_dataClickHouse 数据文件
  • clickhouse_logsClickHouse 日志
  • clickhouse_configClickHouse 配置
  • minio_dataMinIO 对象存储数据

资源限制

所有服务都有可配置的 CPU 和内存限制:

服务 CPU 限制 内存限制
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 配置

要将 Opik Python SDK 与此本地部署一起使用:

import opik

# 配置为本地部署
opik.configure(use_local=True)

# 或设置环境变量
import os
os.environ["OPIK_URL_OVERRIDE"] = "http://localhost:5173/api"
os.environ["OPIK_API_KEY"] = ""  # 本地部署留空

# 开始追踪
@opik.track
def my_llm_function(user_question: str) -> str:
    # 你的 LLM 代码
    return "Hello"

文档

许可证

Opik 采用 Apache 2.0 许可证。