Back to Opik

Integration Documentation Templates

apps/opik-documentation/documentation/templates/README.md

2.0.24-52625.4 KB
Original Source

Integration Documentation Templates

This directory contains templates for creating integration documentation for Opik.

📋 Integration Type Decision Matrix

Use this matrix to determine which template to use:

Integration TypeRequirementsTemplate to UseExamples
Code Integration• Users install Opik Python SDK
• Users modify their code
• Uses track_*() wrapper functions
• Direct Python integrationintegration_template_code.mdLangChain, CrewAI, DSPy, Haystack
OpenAI-Based Integration• Uses OpenAI-compatible API
• Users install Opik Python SDK
• Uses track_openai() wrapper
• Compatible with OpenAI SDKintegration_template_openai.mdBytePlus, OpenRouter, Any OpenAI-compatible API
LiteLLM Integration• LLM provider supported by LiteLLM
• Uses OpikLogger callback
• Unified LiteLLM interface
• API key configuration requiredintegration_template_litellm.mdOpenAI, Anthropic, Groq, Fireworks AI, Cohere, Mistral AI, xAI Grok
OpenTelemetry Integration• Users configure OTEL endpoints
• No code changes required
• Configuration via env vars
• Works through OTEL instrumentationsintegration_template_otel.mdRuby SDK, Pydantic AI (via Logfire), Direct OTEL Python

📁 Available Templates

integration_template_code.md

Use for: Code integrations that require users to install Opik Python SDK and use track_*() wrapper functions.

Examples: OpenAI, Anthropic, LangChain, CrewAI, DSPy, Haystack, etc.

Pattern: Users modify their code to import and wrap clients with Opik tracking.

integration_template_openai.md

Use for: OpenAI-based integrations that use OpenAI-compatible APIs.

Examples: BytePlus, OpenRouter, Any OpenAI-compatible API.

Pattern: Users use track_openai() wrapper with OpenAI SDK.

integration_template_litellm.md

Use for: LiteLLM integrations that use OpikLogger callback.

Examples: OpenAI, Anthropic, Groq, Fireworks AI, Cohere, Mistral AI, xAI Grok.

Pattern: Users configure LiteLLM with OpikLogger callback.

integration_template_otel.md

Use for: OpenTelemetry integrations that only require configuration changes.

Examples: Ruby SDK, Pydantic AI (via Logfire), Direct OTEL Python.

Pattern: Users configure OTEL endpoints and headers, no code changes needed.

🎯 How to Use These Templates

  1. Use the decision matrix above to determine which template fits your integration
  2. Copy the appropriate template to the correct documentation location:
    • All integrations: fern/docs/tracing/integrations/[integration_name].mdx
  3. Replace all placeholder text with actual values
  4. Test all code examples in a fresh environment
  5. Add realistic examples - avoid "hello world" scenarios
  6. Include screenshots of traces in Opik UI
  7. Update integration tables in main README files

📸 Screenshot File Placement

⚠️ CRITICAL: Screenshot File Locations

Screenshots must be placed in the correct directory structure:

File System Location (Git root relative):

  • apps/opik-documentation/documentation/fern/img/tracing/[integration_name]_integration.png

Documentation Reference Path:

  • /img/tracing/[integration_name]_integration.png

Examples:

  • Fireworks AI: fern/img/tracing/fireworks_ai_integration.png
  • OpenAI: fern/img/tracing/openai_integration.png
  • LangChain: fern/img/tracing/langchain_integration.png

⚠️ Common Mistakes:

  • ❌ Placing screenshots in static/img/tracing/ (incorrect location)
  • ❌ Using absolute paths in documentation
  • ❌ Inconsistent naming conventions

📋 Quick Reference

Code Integration Placeholders

  • [INTEGRATION_NAME] → "OpenAI"
  • [integration_name] → "openai"
  • [integration_module] → "openai"
  • [integration_package] → "openai"
  • [ClientClass] → "OpenAI"
  • [INTEGRATION_API_KEY_NAME] → "OPENAI_API_KEY"

OpenAI-Based Integration Placeholders

  • [INTEGRATION_NAME] → "BytePlus"
  • [INTEGRATION_WEBSITE_URL] → "https://www.byteplus.com/"
  • [INTEGRATION_DESCRIPTION] → "ByteDance's AI-native enterprise platform"
  • [SPECIFIC_DESCRIPTION] → "OpenAI-compatible API endpoints"
  • [INTEGRATION_BASE_URL] → "https://ark.ap-southeast.bytepluses.com/api/v3"
  • [INTEGRATION_API_KEY_NAME] → "BYTEPLUS_API_KEY"
  • [EXAMPLE_MODEL_NAME] → "kimi-k2-250711"

OTEL Integration Placeholders

  • [FRAMEWORK_NAME] → "PydanticAI"
  • [framework_name] → "pydantic-ai"
  • [framework_otel_packages] → "pydantic-ai[logfire]"

📖 Complete Guidelines

For detailed guidelines on integration documentation, see: .agents/rules/integration-documentation.mdc

This includes:

  • Quality checklist
  • Integration-specific guidance
  • Publication process
  • Maintenance guidelines