# Integration Template: OpenAI-Based Integration **Use this template for**: Integrations that use OpenAI-compatible APIs (like BytePlus, OpenRouter, etc.) and can be integrated using Opik's OpenAI integration. **Requirements**: - Uses OpenAI-compatible API - Users install Opik Python SDK - Uses `track_openai()` wrapper - Compatible with OpenAI SDK **Examples**: BytePlus, OpenRouter, Any OpenAI-compatible API --- ## Template Structure [INTEGRATION_NAME]([INTEGRATION_WEBSITE_URL]) is [INTEGRATION_DESCRIPTION]. This guide explains how to integrate Opik with [INTEGRATION_NAME] using the OpenAI SDK. [INTEGRATION_NAME] provides [SPECIFIC_DESCRIPTION]. ## Getting started First, ensure you have both `opik` and `openai` packages installed: ```bash pip install opik openai ``` You'll also need a [INTEGRATION_NAME] API key which you can get from [INTEGRATION_WEBSITE_URL]. ## Tracking [INTEGRATION_NAME] API calls ```python from opik.integrations.openai import track_openai from openai import OpenAI # Initialize the OpenAI client with [INTEGRATION_NAME] base URL client = OpenAI( base_url="[INTEGRATION_BASE_URL]", api_key="YOUR_[INTEGRATION_API_KEY_NAME]" ) client = track_openai(client) response = client.chat.completions.create( model="[EXAMPLE_MODEL_NAME]", # You can use any model available on [INTEGRATION_NAME] messages=[ {"role": "user", "content": "Hello, world!"} ], temperature=0.7, max_tokens=100 ) print(response.choices[0].message.content) ``` ## Available Models [INTEGRATION_NAME] provides access to [MODEL_DESCRIPTION]. - [MODEL_CATEGORY_1] ([MODEL_EXAMPLES]) - [MODEL_CATEGORY_2] ([MODEL_EXAMPLES]) - [MODEL_CATEGORY_3] ([MODEL_EXAMPLES]) - And many [OTHER_MODEL_TYPES] You can find the complete list of available models in the [INTEGRATION_NAME] documentation. ## Supported Methods [INTEGRATION_NAME] supports the following methods: ### Chat Completions - `client.chat.completions.create()`: Works with all models - Provides standard chat completion functionality - Compatible with the OpenAI SDK interface ### Structured Outputs - `client.beta.chat.completions.parse()`: Only compatible with OpenAI models - For non-OpenAI models, see [INTEGRATION_NAME]'s [STRUCTURED_OUTPUTS_DOCUMENTATION] For detailed information about available methods, parameters, and best practices, refer to the [INTEGRATION_NAME] API documentation. ## Advanced Usage ### Using with @track decorator You can combine the tracked client with Opik's `@track` decorator for comprehensive tracing: ```python from opik import track from opik.integrations.openai import track_openai from openai import OpenAI client = OpenAI( base_url="[INTEGRATION_BASE_URL]", api_key="YOUR_[INTEGRATION_API_KEY_NAME]" ) client = track_openai(client) @track def analyze_data_with_ai(query: str): """Analyze data using [INTEGRATION_NAME] AI models.""" response = client.chat.completions.create( model="[EXAMPLE_MODEL_NAME]", messages=[ {"role": "user", "content": query} ] ) return response.choices[0].message.content # Call the tracked function result = analyze_data_with_ai("Analyze this business data...") ``` ### Streaming Responses [INTEGRATION_NAME] supports streaming responses: ```python response = client.chat.completions.create( model="[EXAMPLE_MODEL_NAME]", messages=[ {"role": "user", "content": "Tell me a story about AI"} ], stream=True ) for chunk in response: if chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="") ``` ## Environment Variables Make sure to set the following environment variables: ```bash # [INTEGRATION_NAME] Configuration export [INTEGRATION_API_KEY_NAME]="your-[integration-name]-api-key" # Opik Configuration export OPIK_PROJECT_NAME="your-project-name" export OPIK_WORKSPACE="your-workspace-name" ``` ## Results viewing Once your [INTEGRATION_NAME] calls are logged with Opik, you can view them in the Opik UI. Each API call will create a trace with detailed information including: - Input messages and parameters - Model used and configuration - Response content - Token usage and cost information - Timing and performance metrics ## Troubleshooting ### Common Issues 1. **Authentication Errors**: Ensure your API key is correct and has the necessary permissions 2. **Model Not Found**: Verify the model name is available on [INTEGRATION_NAME] 3. **Rate Limiting**: [INTEGRATION_NAME] may have rate limits; implement appropriate retry logic 4. **Base URL Issues**: Ensure the base URL is correct for your [INTEGRATION_NAME] deployment ### Getting Help - Check the [INTEGRATION_NAME] API documentation for detailed error codes - Review the [INTEGRATION_NAME] status page for service issues - Contact [INTEGRATION_NAME] support for API-specific problems - Check Opik documentation for tracing and evaluation features ## Next Steps Once you have [INTEGRATION_NAME] integrated with Opik, you can: - [Evaluate your LLM applications](/evaluation/overview) using Opik's evaluation framework - [Create datasets](/datasets/overview) to test and improve your models - [Set up feedback collection](/feedback/overview) to gather human evaluations - [Monitor performance](/tracing/overview) across different models and configurations For more information about using Opik with OpenAI-compatible APIs, see the [OpenAI integration guide](/integrations/openai).