Fireworks AI
LLM service implementation using Fireworks AI’s API with OpenAI-compatible interface
Overview
FireworksLLMService
provides access to Fireworks AI’s language models through an OpenAI-compatible interface. It inherits from BaseOpenAILLMService
and supports streaming responses, function calling, and context management.
Installation
To use FireworksLLMService
, install the required dependencies:
You’ll also need to set up your Fireworks API key as an environment variable: FIREWORKS_API_KEY
Configuration
Constructor Parameters
Your Fireworks AI API key
Model identifier
Fireworks AI API endpoint
Input Parameters
Inherits all input parameters from BaseOpenAILLMService:
Additional parameters to pass to the model
Reduces likelihood of repeating tokens based on their frequency. Range: [-2.0, 2.0]
Maximum number of tokens in the completion. Must be greater than or equal to 1
Maximum number of tokens to generate. Must be greater than or equal to 1
Reduces likelihood of repeating any tokens that have appeared. Range: [-2.0, 2.0]
Random seed for deterministic generation. Must be greater than or equal to 0
Controls randomness in the output. Range: [0.0, 2.0]
Controls diversity via nucleus sampling. Range: [0.0, 1.0]
Input Frames
Contains OpenAI-specific conversation context
Contains conversation messages
Contains image for vision model processing
Updates model settings
Output Frames
Contains generated text chunks
Indicates start of function call
Contains function call results
Context Management
The Fireworks service uses specialized context management to handle conversations and message formatting. It relies on the OpenAI base class for context management, which includes managing the conversation history, system prompts, tool calls, and converting between OpenAI and Fireworks message formats.
OpenAILLMContext
The base context manager for OpenAI conversations:
Context Aggregators
Context aggregators handle message format conversion and management. The service provides a method to create paired aggregators:
Creates user and assistant aggregators for handling message formatting.
Parameters
The context object containing conversation history and settings
Controls text preprocessing for assistant responses
Usage Example
The context management system ensures proper message formatting and history tracking throughout the conversation.
Methods
See the LLM base class methods for additional functionality.
Usage Example
Function Calling
Supports OpenAI-compatible function calling with the firefunction-v1
model:
Available Models
Fireworks AI provides access to various models, including:
Model Name | Description |
---|---|
accounts/fireworks/models/firefunction-v1 | Optimized for function calling |
accounts/fireworks/models/llama-v2-7b | Llama 2 7B base model |
accounts/fireworks/models/llama-v2-13b | Llama 2 13B base model |
accounts/fireworks/models/llama-v2-70b | Llama 2 70B base model |
accounts/fireworks/models/mixtral-8x7b | Mixtral 8x7B model |
Frame Flow
Inherits the BaseOpenAI LLM Service frame flow:
Metrics Support
The service collects standard LLM metrics:
- Token usage (prompt and completion)
- Processing duration
- Time to First Byte (TTFB)
- Function call metrics
Notes
- OpenAI-compatible interface
- Supports streaming responses
- Handles function calling
- Manages conversation context
- Includes token usage tracking
- Thread-safe processing
- Automatic error handling