Інтеграція Fireworks AI для інференсу LLM
Fireworks AI спеціалізується на оптимізованому інференсі open-source моделей з підтримкою LoRA адаптерів. Відмітна особливість: serverless розгортання з підтримкою сотень одночасних 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 режим
response = client.chat.completions.create(
model="accounts/fireworks/models/llama-v3p1-70b-instruct",
messages=[{"role": "user", "content": "Верни дані користувача в JSON"}],
response_format={"type": "json_object"},
)
# Потокова передача
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 тижні







