Fireworks AI

Fireworks AI provides fast inference for popular open-source models, offering high-performance API access to models like Llama, Mistral, and Qwen with optimized inference infrastructure.

This guide explains how to integrate Opik with Fireworks AI using their OpenAI-compatible API endpoints. By using the Opik OpenAI integration, you can easily track and evaluate your Fireworks AI API calls within your Opik projects as Opik will automatically log the input prompt, model used, token usage, and response generated.

Fireworks AI Integration Results

Getting Started

Account Setup

First, you’ll need a Comet.com account to use Opik. If you don’t have one, you can sign up for free.

Installation

Install the required packages:

$pip install opik openai

Configuration

Configure Opik to send traces to your Comet project:

1import opik
2
3opik.configure(
4 project_name="your-project-name",
5 workspace="your-workspace-name",
6)

Environment Setup

Set your Fireworks AI API key as an environment variable:

$export FIREWORKS_API_KEY="your-fireworks-api-key"

You can obtain a Fireworks AI API key from the Fireworks AI dashboard.

Basic Usage

Import and Setup

1from opik.integrations.openai import track_openai
2from openai import OpenAI
3
4# Create your OpenAI client
5client = OpenAI(
6 api_key="your-fireworks-api-key",
7 base_url="https://api.fireworks.ai/inference/v1"
8)
9
10# Wrap the client with Opik tracking
11tracked_client = track_openai(client, project_name="your-project-name")

Making API Calls

1# Make a chat completion call
2response = tracked_client.chat.completions.create(
3 model="accounts/fireworks/models/llama-v3p1-8b-instruct",
4 messages=[
5 {"role": "system", "content": "You are a helpful assistant."},
6 {"role": "user", "content": "What are the benefits of using fast inference platforms?"}
7 ]
8)
9
10print(response.choices[0].message.content)

Advanced Usage

Using with @track Decorator

You can combine the tracked client with Opik’s @track decorator for more comprehensive tracing:

1from opik import track
2
3@track
4def analyze_text_with_fireworks(text: str):
5 response = tracked_client.chat.completions.create(
6 model="accounts/fireworks/models/llama-v3p1-8b-instruct",
7 messages=[
8 {"role": "user", "content": f"Analyze this text: {text}"}
9 ],
10 )
11 return response.choices[0].message.content
12
13# Use the function
14result = analyze_text_with_fireworks("Open source AI models are becoming increasingly powerful.")

Fireworks AI Function Tracing with @track Decorator

Streaming Responses

Fireworks AI supports streaming responses, which are also tracked by Opik:

1response = tracked_client.chat.completions.create(
2 model="accounts/fireworks/models/llama-v3p1-8b-instruct",
3 messages=[
4 {"role": "user", "content": "Explain quantum computing in simple terms."}
5 ],
6 stream=True
7)
8
9for chunk in response:
10 if chunk.choices[0].delta.content is not None:
11 print(chunk.choices[0].delta.content, end="")

Supported Models

Fireworks AI provides fast inference for a wide range of popular open-source models. Some of the popular models available include:

  • Llama Models: accounts/fireworks/models/llama-v3p1-8b-instruct, accounts/fireworks/models/llama-v3-70b-instruct
  • Mistral Models: accounts/fireworks/models/mixtral-8x7b-instruct-hf, accounts/fireworks/models/mistral-7b-instruct-v0.1
  • Qwen Models: accounts/fireworks/models/qwen-72b-chat, accounts/fireworks/models/qwen-14b-chat
  • Code Models: accounts/fireworks/models/starcoder-16b, accounts/fireworks/models/codellama-34b-instruct-hf

For the complete list of available models, visit the Fireworks AI model catalog.

Results Viewing

Once your Fireworks AI calls are logged with Opik, you can view detailed traces in your Opik dashboard. Each API call will create a trace that includes:

  • Input prompts and messages
  • Model parameters and configuration
  • Response content and metadata
  • Token usage statistics
  • Timing information
  • Any custom metadata you’ve added

Troubleshooting

Common Issues

API Key Issues: Ensure your FIREWORKS_API_KEY environment variable is set correctly and has sufficient credits.

Model Name Format: Fireworks AI models use the format accounts/fireworks/models/{model-name}. Make sure you’re using the correct model identifier.

Rate Limiting: Fireworks AI has rate limits based on your plan. If you encounter rate limiting, consider implementing exponential backoff in your application.

Base URL: The base URL for Fireworks AI is https://api.fireworks.ai/inference/v1. Ensure you’re using the correct endpoint.

Getting Help

If you encounter issues with the integration:

  1. Check your API key and model names
  2. Verify your Opik configuration
  3. Check the Fireworks AI documentation
  4. Review the Opik OpenAI integration documentation

Environment Variables

Make sure to set the following environment variables:

$# Fireworks AI Configuration
>export FIREWORKS_API_KEY="your-fireworks-api-key"
>
># Opik Configuration
>export OPIK_PROJECT_NAME="your-project-name"
>export OPIK_WORKSPACE="your-workspace-name"