Интеграция Fireworks AI для инференса LLM
Fireworks AI специализируется на оптимизированном инференсе open-source моделей с поддержкой LoRA адаптеров. Отличительная особенность: serverless deployment с поддержкой сотен concurrent LoRA адаптеров поверх одной базовой модели — эффективно для SaaS с кастомизацией под клиентов.
Базовая интеграция
from openai import OpenAI
client = OpenAI(
api_key="FIREWORKS_API_KEY",
base_url="https://api.fireworks.ai/inference/v1",
)
# Текстовые запросы
response = client.chat.completions.create(
model="accounts/fireworks/models/llama-v3p1-70b-instruct",
messages=[{"role": "user", "content": "Объясни трансформеры"}],
temperature=0.1,
max_tokens=2048,
)
print(response.choices[0].message.content)
# Функции
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Получить погоду",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
response = client.chat.completions.create(
model="accounts/fireworks/models/firefunction-v2", # Специальная модель для function calling
messages=[{"role": "user", "content": "Погода в Москве?"}],
tools=tools,
tool_choice="auto",
)
Serverless LoRA
# Уникальная фича Fireworks: деплой LoRA адаптера без выделенного GPU
# Идеально для мультитенантных приложений
# Загрузка LoRA адаптера
import fireworks.client as fw
fw.api_key = "FIREWORKS_API_KEY"
# После fine-tuning адаптер доступен через обычный API
response = client.chat.completions.create(
model="accounts/your-account/models/your-lora-adapter", # ваш LoRA
messages=[{"role": "user", "content": "Запрос"}],
)
Стриминг и JSON режим
# JSON mode
response = client.chat.completions.create(
model="accounts/fireworks/models/llama-v3p1-70b-instruct",
messages=[{"role": "user", "content": "Верни данные пользователя в JSON"}],
response_format={"type": "json_object"},
)
# Streaming
with client.chat.completions.stream(
model="accounts/fireworks/models/llama-v3p1-70b-instruct",
messages=[{"role": "user", "content": "Длинный ответ"}],
) as stream:
for chunk in stream.text_stream:
print(chunk, end="")
Популярные модели Fireworks AI
| Модель | Специализация |
|---|---|
| llama-v3p1-405b-instruct | Максимальное качество |
| llama-v3p1-70b-instruct | Баланс |
| llama-v3p1-8b-instruct | Быстрый |
| firefunction-v2 | Function calling |
| mixtral-8x22b-instruct | Длинный контекст |
Сроки
- Базовая интеграция: 0.5 дня
- LoRA fine-tuning + деплой: 3–5 дней
- Мультитенантная архитектура с LoRA: 2 недели







