instances: - url: https://opik.docs.buildwithfern.com/docs/opik custom-domain: www.comet.com/docs/opik metadata: # Core platform identity og:site_name: "Opik Documentation" og:title: "Opik LLM development Platform | Observability, Evaluation & Security" og:description: "Debug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards." og:image: "https://www.comet.com/site/wp-content/uploads/2025/12/opik_share_image_smaller-1.png" og:url: "https://www.comet.com/docs/opik" og:locale: "en_US" twitter:title: "Opik Documentation" twitter:description: "Debug, evaluate, and monitor your LLM applications with comprehensive tracing and automated evaluations." twitter:image: "https://www.comet.com/site/wp-content/uploads/2025/12/opik_share_image_smaller-1.png" twitter:card: "summary_large_image" twitter:site: "@CometML" announcement: message: "New! Write simple unit tests and let Opik debug your agents for you. Here's how" title: Opik Documentation favicon: img/logo.svg js: - path: ./add_cookbook_banner.js strategy: afterInteractive css: ./styles.css analytics: segment: write-key: ${SEGMENT_WRITE_KEY} gtm: container-id: ${GTM_CONTAINER_ID} posthog: api-key: ${POSTHOG_API_KEY} endpoint: ${POSTHOG_API_HOST} layout: searchbar-placement: header tabs-placement: header colors: accent-primary: light: "#2e8555" dark: "#166534" background: light: "#FFFFFF" dark: "#0b0d0e" logo: light: img/opik-logo.svg dark: img/logo-dark-mode.svg href: null height: 28 navbar-links: - type: minimal text: "Copy to LLM" href: "https://www.comet.com/docs/opik/llms-full.txt" - type: minimal text: "Github" href: "https://github.com/comet-ml/opik" - type: filled text: "Go to App" href: "https://www.comet.com/opik" versions: - display-name: Latest path: ./versions/latest.yml slug: latest - display-name: v1 path: ./versions/v1.yml slug: v1 redirects: - source: "/docs/opik/playground" destination: "/docs/opik/prompt_engineering/playground" permanent: true - source: "/docs/opik/reference/rest_api/:slug/" destination: "/docs/opik/reference/rest-api/overview" permanent: true - source: "/docs/opik/reference/rest_api/opik-rest-api/" destination: "/docs/opik/reference/rest-api/overview" permanent: true - source: "/docs/opik/reference/rest_api/opik-rest-api/:slug" destination: "/docs/opik/reference/rest-api/overview" permanent: true - source: "/docs/opik/reference/rest_api/opik-rest-api/:slug/:slug" destination: "/docs/opik/reference/rest-api/overview" permanent: true - source: "/docs/opik/prompt_engineering/managing_prompts_in_code" destination: "/docs/opik/prompt_engineering/prompt_management" permanent: true - source: "/docs/opik/prompt_engineering/prompt_optimization" destination: "/docs/opik/development/optimization-runs/overview" # Agent configuration → Prompt Library (renamed in v2) - source: "/docs/opik/development/agent-configuration" destination: "/docs/opik/development/prompt-library/overview" permanent: true - source: "/docs/opik/development/agent-configuration/overview" destination: "/docs/opik/development/prompt-library/overview" permanent: true - source: "/docs/opik/development/agent-configuration/getting-started" destination: "/docs/opik/development/prompt-library/getting-started" permanent: true - source: "/docs/opik/development/agent-configuration/concepts" destination: "/docs/opik/development/prompt-library/overview" permanent: true - source: "/docs/opik/development/agent-configuration/version-control" destination: "/docs/opik/development/prompt-library/version-control" permanent: true - source: "/docs/opik/development/agent-configuration/guaranteed-availability" destination: "/docs/opik/development/prompt-library/overview" permanent: true - source: "/docs/opik/development/agent-configuration/mcp-server" destination: "/docs/opik/mcp-server" permanent: true - source: "/docs/opik/development/prompt-library/mcp-server" destination: "/docs/opik/mcp-server" permanent: true # Common guessed paths for TypeScript SDK and integrations - source: "/docs/opik/typescript-sdk" destination: "/docs/opik/reference/typescript-sdk/overview" permanent: true - source: "/docs/opik/ts-sdk" destination: "/docs/opik/reference/typescript-sdk/overview" permanent: true - source: "/docs/opik/ts-sdk/get-started" destination: "/docs/opik/reference/typescript-sdk/overview" permanent: true - source: "/docs/opik/tracing/integrations/openai/nodejs" destination: "/docs/opik/integrations/openai-typescript" permanent: true - source: "/docs/opik/tracing/integrations/openai/typescript" destination: "/docs/opik/integrations/openai-typescript" permanent: true - source: "/docs/opik/integrations/openai/nodejs" destination: "/docs/opik/integrations/openai-typescript" permanent: true - source: "/docs/opik/integrations/openai/typescript" destination: "/docs/opik/integrations/openai-typescript" permanent: true # TypeScript SDK integration redirects - source: "/docs/opik/reference/typescript-sdk/integrations/vercel-ai-sdk" destination: "/docs/opik/integrations/vercel-ai-sdk" permanent: true - source: "/docs/opik/reference/typescript-sdk/integrations/langchain" destination: "/docs/opik/integrations/langchainjs" permanent: true - source: "/docs/opik/reference/typescript-sdk/integrations/openai" destination: "/docs/opik/integrations/openai-typescript" permanent: true - source: "/docs/opik/reference/typescript-sdk/integrations/workers-ai" destination: "/docs/opik/integrations/cloudflare-workers-ai" permanent: true - source: "/docs/opik/prompt_engineering/agent_optimization" destination: "/docs/opik/development/optimization-runs/overview" permanent: true - source: "/docs/opik/agent_optimization/best-practices/prompt_engineering" destination: "/docs/opik/development/optimization-runs/overview" permanent: true - source: "docs/agent_optimization/best-practices/prompt_engineering" destination: "/docs/opik/development/optimization-runs/overview" permanent: true - source: "docs/agent_optimization/opik_optimizer/litellm_support" destination: "/docs/opik/development/optimization-runs/optimization/configure_models" permanent: true - source: "/docs/opik/agent_optimization/algorithms/mipro_optimizer" destination: "/docs/opik/development/optimization-runs/overview" permanent: true # Integration redirects - from /tracing/integrations/ to /integrations/ (clean URLs) - source: "/docs/opik/tracing/integrations/overview" destination: "/docs/opik/integrations/overview" permanent: true - source: "/docs/opik/tracing/integrations/ag2" destination: "/docs/opik/integrations/ag2" permanent: true - source: "/docs/opik/tracing/integrations/aisuite" destination: "/docs/opik/integrations/aisuite" permanent: true - source: "/docs/opik/tracing/integrations/agno" destination: "/docs/opik/integrations/agno" permanent: true - source: "/docs/opik/tracing/integrations/anthropic" destination: "/docs/opik/integrations/anthropic" permanent: true - source: "/docs/opik/tracing/integrations/autogen" destination: "/docs/opik/integrations/autogen" permanent: true - source: "/docs/opik/tracing/integrations/bedrock" destination: "/docs/opik/integrations/bedrock" permanent: true - source: "/docs/opik/tracing/integrations/beeai" destination: "/docs/opik/integrations/beeai" permanent: true - source: "/docs/opik/tracing/integrations/byteplus" destination: "/docs/opik/integrations/byteplus" permanent: true - source: "/docs/opik/tracing/integrations/cloudflare-workers-ai" destination: "/docs/opik/integrations/cloudflare-workers-ai" permanent: true - source: "/docs/opik/tracing/integrations/cohere" destination: "/docs/opik/integrations/cohere" permanent: true - source: "/docs/opik/tracing/integrations/claude-agent-sdk" destination: "/docs/opik/integrations/claude-agent-sdk" permanent: true - source: "/docs/opik/tracing/integrations/cursor" destination: "/docs/opik/integrations/cursor" permanent: true - source: "/docs/opik/tracing/integrations/crewai" destination: "/docs/opik/integrations/crewai" permanent: true - source: "/docs/opik/tracing/integrations/deepseek" destination: "/docs/opik/integrations/deepseek" permanent: true - source: "/docs/opik/tracing/integrations/dify" destination: "/docs/opik/integrations/dify" permanent: true - source: "/docs/opik/tracing/integrations/dspy" destination: "/docs/opik/integrations/dspy" permanent: true - source: "/docs/opik/tracing/integrations/fireworks-ai" destination: "/docs/opik/integrations/fireworks-ai" permanent: true - source: "/docs/opik/tracing/integrations/flowise" destination: "/docs/opik/integrations/flowise" permanent: true - source: "/docs/opik/tracing/integrations/gemini" destination: "/docs/opik/integrations/gemini" permanent: true - source: "/docs/opik/tracing/integrations/groq" destination: "/docs/opik/integrations/groq" permanent: true - source: "/docs/opik/tracing/integrations/adk" destination: "/docs/opik/integrations/adk" permanent: true - source: "/docs/opik/tracing/integrations/guardrails-ai" destination: "/docs/opik/integrations/guardrails-ai" permanent: true - source: "/docs/opik/tracing/integrations/haystack" destination: "/docs/opik/integrations/haystack" permanent: true - source: "/docs/opik/tracing/integrations/instructor" destination: "/docs/opik/integrations/instructor" permanent: true - source: "/docs/opik/tracing/integrations/langchainjs" destination: "/docs/opik/integrations/langchainjs" permanent: true - source: "/docs/opik/tracing/integrations/langgraph" destination: "/docs/opik/integrations/langgraph" permanent: true - source: "/docs/opik/tracing/integrations/langserve" destination: "/docs/opik/integrations/langserve" permanent: true - source: "/docs/opik/tracing/integrations/langchain" destination: "/docs/opik/integrations/langchain" permanent: true - source: "/docs/opik/tracing/integrations/litellm" destination: "/docs/opik/integrations/litellm" permanent: true - source: "/docs/opik/tracing/integrations/livekit" destination: "/docs/opik/integrations/livekit" permanent: true - source: "/docs/opik/tracing/integrations/llama_index" destination: "/docs/opik/integrations/llama_index" permanent: true - source: "/docs/opik/tracing/integrations/mastra" destination: "/docs/opik/integrations/mastra" permanent: true - source: "/docs/opik/tracing/integrations/mistral" destination: "/docs/opik/integrations/mistral" permanent: true - source: "/docs/opik/tracing/integrations/novita-ai" destination: "/docs/opik/integrations/novita-ai" permanent: true - source: "/docs/opik/tracing/integrations/ollama" destination: "/docs/opik/integrations/ollama" permanent: true - source: "/docs/opik/tracing/integrations/openai" destination: "/docs/opik/integrations/openai" permanent: true - source: "/docs/opik/tracing/integrations/openai-typescript" destination: "/docs/opik/integrations/openai-typescript" permanent: true - source: "/docs/opik/tracing/integrations/openai_agents" destination: "/docs/opik/integrations/openai_agents" permanent: true - source: "/docs/opik/tracing/integrations/openai-codex" destination: "/docs/opik/integrations/openai-codex" permanent: true - source: "/docs/opik/tracing/integrations/openclaw" destination: "/docs/opik/integrations/openclaw" permanent: true - source: "/docs/opik/tracing/integrations/openrouter" destination: "/docs/opik/integrations/openrouter" permanent: true - source: "/docs/opik/tracing/integrations/predibase" destination: "/docs/opik/integrations/predibase" permanent: true - source: "/docs/opik/tracing/integrations/prompt-flow" destination: "/docs/opik/integrations/prompt-flow" permanent: true - source: "/docs/opik/tracing/integrations/pydantic-ai" destination: "/docs/opik/integrations/pydantic-ai" permanent: true - source: "/docs/opik/tracing/integrations/ragas" destination: "/docs/opik/integrations/ragas" permanent: true - source: "/docs/opik/tracing/integrations/quarkus-langchain4j" destination: "/docs/opik/integrations/quarkus-langchain4j" permanent: true - source: "/docs/opik/tracing/integrations/semantic-kernel" destination: "/docs/opik/integrations/semantic-kernel" permanent: true - source: "/docs/opik/tracing/integrations/smolagents" destination: "/docs/opik/integrations/smolagents" permanent: true - source: "/docs/opik/tracing/integrations/spring-ai" destination: "/docs/opik/integrations/spring-ai" permanent: true - source: "/docs/opik/tracing/integrations/strands-agents" destination: "/docs/opik/integrations/strands-agents" permanent: true - source: "/docs/opik/tracing/integrations/temporal" destination: "/docs/opik/integrations/temporal" permanent: true - source: "/docs/opik/tracing/integrations/together-ai" destination: "/docs/opik/integrations/together-ai" permanent: true - source: "/docs/opik/tracing/integrations/vercel-ai-sdk" destination: "/docs/opik/integrations/vercel-ai-sdk" permanent: true - source: "/docs/opik/tracing/integrations/voltagent" destination: "/docs/opik/integrations/voltagent" permanent: true - source: "/docs/opik/tracing/integrations/watsonx" destination: "/docs/opik/integrations/watsonx" permanent: true - source: "/docs/opik/tracing/integrations/xai-grok" destination: "/docs/opik/integrations/xai-grok" permanent: true - source: "/docs/opik/tracing/integrations/n8n" destination: "/docs/opik/integrations/n8n" permanent: true # OpenTelemetry redirects - source: "/docs/opik/opentelemetry" destination: "/docs/opik/integrations/opentelemetry" permanent: true - source: "/docs/opik/opentelemetry/overview" destination: "/docs/opik/integrations/opentelemetry" permanent: true - source: "/docs/opik/opentelemetry/python-sdk" destination: "/docs/opik/integrations/opentelemetry-python-sdk" permanent: true - source: "/docs/opik/reference/ruby-otel-sdk/overview" destination: "/docs/opik/integrations/opentelemetry-ruby-sdk" permanent: true # Batching docs redirect - source: "/docs/opik/tracing/batching_and_updates" destination: "/docs/opik/reference/python-sdk/troubleshooting/batching-and-updates" permanent: true # Cookbook redirects - source: "/docs/opik/cookbook/overview" destination: "/docs/opik/integrations/overview" permanent: true - source: "/docs/opik/cookbook/aisuite" destination: "/docs/opik/integrations/aisuite" permanent: true - source: "/docs/opik/cookbook/openai" destination: "/docs/opik/integrations/openai" permanent: true - source: "/docs/opik/cookbook/openai-agents" destination: "/docs/opik/integrations/openai_agents" permanent: true - source: "/docs/opik/cookbook/litellm" destination: "/docs/opik/integrations/litellm" permanent: true - source: "/docs/opik/cookbook/langchain" destination: "/docs/opik/integrations/langchain" permanent: true - source: "/docs/opik/cookbook/anthropic" destination: "/docs/opik/integrations/anthropic" permanent: true - source: "/docs/opik/cookbook/bedrock" destination: "/docs/opik/integrations/bedrock" permanent: true - source: "/docs/opik/cookbook/crewai" destination: "/docs/opik/integrations/crewai" permanent: true - source: "/docs/opik/cookbook/dspy" destination: "/docs/opik/integrations/dspy" permanent: true - source: "/docs/opik/cookbook/gemini" destination: "/docs/opik/integrations/gemini" permanent: true - source: "/docs/opik/cookbook/google_adk_integration" destination: "/docs/opik/integrations/adk" permanent: true - source: "/docs/opik/cookbook/groq" destination: "/docs/opik/integrations/groq" permanent: true - source: "/docs/opik/cookbook/guardrails-ai" destination: "/docs/opik/integrations/guardrails-ai" permanent: true - source: "/docs/opik/cookbook/haystack" destination: "/docs/opik/integrations/haystack" permanent: true - source: "/docs/opik/cookbook/instructor" destination: "/docs/opik/integrations/instructor" permanent: true - source: "/docs/opik/cookbook/langgraph" destination: "/docs/opik/integrations/langgraph" permanent: true - source: "/docs/opik/cookbook/llama-index" destination: "/docs/opik/integrations/llama_index" permanent: true - source: "/docs/opik/cookbook/ollama" destination: "/docs/opik/integrations/ollama" permanent: true - source: "/docs/opik/cookbook/predibase" destination: "/docs/opik/integrations/predibase" permanent: true - source: "/docs/opik/cookbook/pydantic-ai" destination: "/docs/opik/integrations/pydantic-ai" permanent: true - source: "/docs/opik/cookbook/ragas" destination: "/docs/opik/integrations/ragas" permanent: true - source: "/docs/opik/cookbook/smolagents" destination: "/docs/opik/integrations/smolagents" permanent: true - source: "/docs/opik/cookbook/vertexai" destination: "/docs/opik/integrations/gemini" permanent: true - source: "/docs/opik/cookbook/evaluate_hallucination_metric" destination: "/docs/opik/evaluation/evaluate_hallucination_metric" permanent: true - source: "/docs/opik/cookbook/evaluate_moderation_metric" destination: "/docs/opik/evaluation/evaluate_moderation_metric" permanent: true - source: "/docs/opik/cookbook/dynamic_tracing_cookbook" destination: "/docs/opik/tracing/dynamic_tracing_control" permanent: true - source: "/docs/opik/cookbook/quickstart_notebook" destination: "/docs/opik/quickstart_notebook" permanent: true - source: "/docs/opik/cookbook/huggingface_datasets_integration" destination: "/docs/opik/integrations/huggingface-datasets" permanent: true - source: "/docs/opik/cookbook/watsonx" destination: "/docs/opik/integrations/watsonx" permanent: true - source: "/docs/opik/cookbook" destination: "/docs/opik/integrations" permanent: true - source: "/docs/opik/tracing/supported_models" destination: "/docs/opik/tracing/advanced/cost_tracking" permanent: true - source: "/docs/opik/tracing/dynamic_tracing_control" destination: "/docs/opik/tracing/log_traces#disabling-the-logging-process" permanent: true # Agent optimization restructuring redirects - source: "/docs/opik/agent_optimization/opik_optimizer/quickstart" destination: "/docs/opik/development/optimization-runs/quickstart" permanent: true - source: "/docs/opik/agent_optimization/opik_optimizer/datasets" destination: "/docs/opik/development/optimization-runs/overview" permanent: true - source: "/docs/opik/agent_optimization/opik_optimizer/models" destination: "/docs/opik/development/optimization-runs/optimization/configure_models" permanent: true - source: "/docs/opik/agent_optimization/best_practices/prompt_engineering" destination: "/docs/opik/development/optimization-runs/overview" permanent: true - source: "/docs/opik/agent_optimization/best_practices/multi-metric-optimization" destination: "/docs/opik/development/optimization-runs/optimization/define_metrics#compose-metrics" permanent: true - source: "/docs/opik/agent_optimization/best_practices/multi_metric_optimization" destination: "/docs/opik/development/optimization-runs/optimization/define_metrics#compose-metrics" permanent: true - source: "/docs/opik/agent_optimization/multi_metric_optimization" destination: "/docs/opik/development/optimization-runs/optimization/define_metrics#compose-metrics" permanent: true - source: "/docs/opik/agent_optimization/opik_optimizer/overview" destination: "/docs/opik/development/optimization-runs/overview" permanent: true - source: "/docs/opik/agent_optimization/opik_optimizer/concepts" destination: "/docs/opik/development/optimization-runs/overview" permanent: true - source: "/docs/opik/agent_optimization/opik_optimizer/multi_metric_optimization" destination: "/docs/opik/development/optimization-runs/optimization/define_metrics#compose-metrics" permanent: true - source: "/docs/opik/agent_optimization/multi-metric-optimization" destination: "/docs/opik/development/optimization-runs/optimization/define_metrics#compose-metrics" permanent: true - source: "/docs/opik/agent_optimization/opik_optimizer/faq" destination: "/docs/opik/development/optimization-runs/faq" permanent: true - source: "/docs/opik/agent_optimization/opik_optimizer/reference" destination: "/docs/opik/development/optimization-runs/advanced/api_reference" permanent: true - source: "/docs/opik/agent_optimization/reference" destination: "/docs/opik/development/optimization-runs/advanced/api_reference" permanent: true - source: "/docs/opik/agent_optimization/quickstart_notebook" destination: "/docs/opik/development/optimization-runs/cookbooks/optimizer_introduction_cookbook" permanent: true - source: "/docs/opik/agent_optimization/getting_started/quickstart_notebook" destination: "/docs/opik/development/optimization-runs/cookbooks/optimizer_introduction_cookbook" permanent: true - source: "/docs/opik/agent_optimization/optimization/optimization_studio" destination: "/docs/opik/development/optimization-runs/optimization_studio" permanent: true # Common redirects - source: "/docs/opik/typescript-sdk/opik-query-language" destination: "/docs/opik/reference/typescript-sdk/opik-query-language" permanent: true - source: "/docs/opik/tracing/opentelemetry/overview" destination: "/docs/opik/integrations/opentelemetry" permanent: true - source: "/docs/opik/tracing/log_agents" destination: "/docs/opik/tracing/log_traces" permanent: true - source: "/docs/opik/self-host/kubernetes/backup" destination: "/docs/opik/self-host/backup" permanent: true # HRPO (formerly Hierarchical Reflective Optimizer) redirect - source: "/docs/opik/agent_optimization/algorithms/hierarchical_reflective_optimizer" destination: "/docs/opik/development/optimization-runs/algorithms/hierarchical_adaptive_optimizer" permanent: true - source: "/docs/opik/tracing/debug_mode" destination: "/docs/opik/tracing/sdk_configuration#debug-mode-and-logging" permanent: true - source: "/docs/opik/getting-started/logging-traces/" destination: "/docs/opik/quickstart" permanent: true # 404 fixes - common broken link patterns - source: "/docs/opik/agent_optimization/api-reference" destination: "/docs/opik/development/optimization-runs/advanced/api_reference" permanent: true - source: "/docs/opik/tracing/integrations" destination: "/docs/opik/integrations/overview" permanent: true - source: "/docs/opik/agent_optimization/optimizer-cookbooks/synthetic_data_optimizer_cookbook" destination: "/docs/opik/development/optimization-runs/cookbooks/synthetic_data_optimizer_cookbook" permanent: true - source: "/docs/opik/agent_optimization/optimizer-concepts" destination: "/docs/opik/development/optimization-runs/optimization/concepts" permanent: true - source: "/docs/opik/agent_optimization/optimizer-cookbooks/optimizer_introduction_cookbook" destination: "/docs/opik/development/optimization-runs/cookbooks/optimizer_introduction_cookbook" permanent: true - source: "/docs/opik/library/prompt_management/" destination: "/docs/opik/prompt_engineering/prompt_management" permanent: true - source: "/docs/opik/library/prompt_management" destination: "/docs/opik/prompt_engineering/prompt_management" permanent: true - source: "/docs/opik/agent-optimization" destination: "/docs/opik/development/optimization-runs/overview" permanent: true # Configuration to Workspace Settings redirects (configuration section was renamed and moved) - source: "/docs/opik/configuration" destination: "/docs/opik/administration/workspace-settings/overview" permanent: true - source: "/docs/opik/configuration/feedback_definitions" destination: "/docs/opik/administration/workspace-settings/feedback_definitions" permanent: true - source: "/docs/opik/configuration/ai_providers" destination: "/docs/opik/administration/workspace-settings/ai_providers" permanent: true # Administration restructure redirects (pages moved to admin-dashboard subsection) - source: "/docs/opik/administration/admin_dashboard" destination: "/docs/opik/administration/admin-dashboard/overview" permanent: true - source: "/docs/opik/administration/organizations_and_workspaces" destination: "/docs/opik/administration/admin-dashboard/workspaces" permanent: true - source: "/docs/opik/administration/user_management" destination: "/docs/opik/administration/admin-dashboard/users" permanent: true - source: "/docs/opik/administration/service_accounts" destination: "/docs/opik/administration/admin-dashboard/service_accounts" permanent: true