5.7 KiB
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 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:
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
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:
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:
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:
# [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
- Authentication Errors: Ensure your API key is correct and has the necessary permissions
- Model Not Found: Verify the model name is available on [INTEGRATION_NAME]
- Rate Limiting: [INTEGRATION_NAME] may have rate limits; implement appropriate retry logic
- 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 using Opik's evaluation framework
- Create datasets to test and improve your models
- Set up feedback collection to gather human evaluations
- Monitor performance across different models and configurations
For more information about using Opik with OpenAI-compatible APIs, see the OpenAI integration guide.