Учебник

Groq LPU: ускорить голосового ассистента или чат в 10 раз

Клиенты жалуются, что ваш чат-бот или голосовой помощник тормозит? Пока GPU-провайдеры выдают 40-50 токенов в секунду, Groq даёт 300-1000. Разбираем, как за вечер внедрить Groq в бизнес-процессы: голосовые ассистенты, обработка заказов, транскрибация встреч. Без программиста - через готовые API и бесплатный тариф на 14 000 запросов в день.

Макс Космов··10 мин чтения

У ваших менеджеров уходит по 2-3 часа в день на ответы в чатах и обработку голосовых сообщений. Клиенты жалуются на долгие паузы в диалоге. Вы уже пробовали внедрить AI-ассистента, но он отвечает с задержкой в 2-4 секунды - это убивает разговор и выглядит непрофессионально.

Вот как закрыть эту проблему за вечер без программиста. Речь про Groq - единственного провайдера, который использует не GPU, а специальный чип для языковых моделей. Результат: скорость в 3-10 раз выше, чем у обычных кластеров. 394 токена в секунду на Llama 3.3 70B против 40-50 у конкурентов. Для бизнеса это означает, что голосовой ассистент отвечает за 400-800 мс вместо 2-4 секунд, а чат-бот генерирует ответ без видимой задержки.

Что такое LPU и почему это быстрее GPU

GPU - универсальный чип. Он умеет и учить модели, и генерировать ответы, и рендерить графику. За универсальность платим скоростью на конкретной задаче. Groq сделала LPU - чип, заточенный под одну задачу: последовательную генерацию текста (токенов) языковой моделью.

Технические причины скорости (для тех, кто хочет понять суть):

  • Модель компилируется в статический граф вычислений - нет динамического планирования, всё предсказуемо.
  • Память на чипе работает синхронно с вычислениями - нет ожидания, когда данные подгрузятся из внешней памяти.
  • Нет накопления батча - каждый запрос обрабатывается сразу.

Результат в цифрах для бизнеса: Llama 3.1 8B на Groq даёт ~1000 токенов/сек, на H100 (обычный GPU) - 150-200. Llama 3.3 70B на Groq - ~394 токенов/сек, на H100 - 40-50. Разница в 10 раз.

Обратная сторона: LPU менее гибок. Новые архитектуры моделей требуют отдельной компиляции под Groq, поэтому каталог моделей меньше, чем у GPU-провайдеров. Но популярных моделей для 90% бизнес-задач хватает.

Какие модели доступны и сколько это стоит для бизнеса

Groq держит ограниченный каталог, фокусируясь на самых востребованных моделях. Разберём на примере стройфирмы: у вас есть чат-бот для консультаций по прайсу, типовой договор подряда, и вы хотите добавить голосового ассистента для записи на замер.

Llama 3.1 8B - самая быстрая опция, ~1000 токенов/сек. $0.05 за миллион входных токенов, $0.08 за миллион выходных. 128K контекст. Для задач, где достаточно базового качества (ответы на частые вопросы, простые консультации) - самый дешёвый и быстрый вариант на рынке.

Llama 3.3 70B - основная рабочая модель на Groq. ~394 токенов/сек. $0.59/M input, $0.79/M output. 128K контекст. Подходит для сложных сценариев: анализ договоров, генерация коммерческих предложений.

Kimi K2 - Groq добавил поддержку в 2026. $1.00/M (цена одинаковая на ввод и вывод). 262K контекст. Медленнее Llama из-за архитектуры, но быстрее, чем у нативного провайдера Moonshot.

Mixtral 8x7B - ~480 токенов/сек. $0.24/M (вход+выход). Хороший баланс скорости и качества.

Whisper v3 Large - транскрипция аудио. $0.111/час аудио. Для голосовых ассистентов - ключевая позиция. Именно она превращает речь клиента в текст, который потом обрабатывает Llama.

Чего нет на Groq в 2026: Llama 4 Scout/Maverick, Qwen, DeepSeek, GLM, Codestral. Если вам нужны именно эти модели - Groq не подойдёт.

Бесплатный тариф: 14 400 запросов в день без привязки карты

Groq даёт щедрый бесплатный уровень. Для малого бизнеса этого может хватить на первые месяцы:

  • Llama 3.3 70B: 30 запросов/мин, 6000 токенов/мин, 14 400 запросов/день
  • Llama 3.1 8B: 30 запросов/мин, 14 400 запросов/день
  • Whisper: 7 200 запросов/день

Для разработки и тестирования - более чем достаточно. Rate limits по конкретным моделям смотрите на console.groq.com/docs/rate-limits.

Регистрация:

  1. Заходите на console.groq.com
  2. Регистрируетесь через GitHub или email
  3. В разделе API Keys создаёте ключ
  4. Бесплатный доступ без карты

Как проверить скорость: потоковый режим за 5 минут

Разберём на примере турагентства: вы хотите, чтобы ваш чат-бот на сайте отвечал мгновенно, без задержек. Код ниже показывает, как запустить потоковый (streaming) режим - модель отдаёт ответ по частям, и каждый кусок сразу выводится на экран. Это и даёт эффект «живого» диалога.

import os
import time
from openai import OpenAI

client = OpenAI(
 api_key=os.environ["GROQ_API_KEY"],
 base_url="https://api.groq.com/openai/v1"
)

def timed_stream(prompt: str, model: str = "llama-3.3-70b-versatile"):
 start_time = time.time()
 first_token_time = None
 token_count = 0
 full_response = []
 
 stream = client.chat.completions.create(
 model=model,
 messages=[{"role": "user", "content": prompt}],
 max_tokens=1000,
 stream=True,
 stream_options={"include_usage": True}
 )
 
 for chunk in stream:
 if chunk.choices and chunk.choices[0].delta.content:
 if first_token_time is None:
 first_token_time = time.time()
 print(f"TTFT: {(first_token_time - start_time)*1000:.0f}мс")
 
 content = chunk.choices[0].delta.content
 print(content, end="", flush=True)
 full_response.append(content)
 token_count += 1
 
 # Финальный чанк с usage
 if hasattr(chunk, 'usage') and chunk.usage:
 actual_tokens = chunk.usage.completion_tokens
 
 elapsed = time.time() - start_time
 print(f"\n\
Скорость: ~{token_count / elapsed:.0f} токенов/сек (приблизительно)")
 print(f"Точные токены из usage: {actual_tokens}")
 print(f"Точная скорость: {actual_tokens / (time.time() - first_token_time):.0f} токенов/сек")
 
 return "".join(full_response)

timed_stream("Объясни как работает трансформер архитектура в LLM")

Groq обычно показывает TTFT (время до первого токена) 50-200 мс. Это в 3-5 раз быстрее, чем у Together AI или Fireworks на тех же задачах. Для бизнеса это означает, что клиент не ждёт ответа - он появляется почти мгновенно.

Batch API: скидка 50% на обработку прайсов и договоров

Если вам не нужен моментальный ответ (например, ночная обработка заказов или генерация описаний товаров), Groq предлагает batch-режим со скидкой 50%. Вы загружаете файл с запросами, Groq обрабатывает их в течение 24 часов и отдаёт результат.

Разберём на примере ecom-магазина: у вас 10 000 товаров, нужно сгенерировать уникальные описания. Вместо того чтобы делать 10 000 отдельных запросов (дорого и долго), вы создаёте один batch-файл и получаете результат за 24 часа с экономией 50%.

import json

# Создаём batch-файл в формате JSONL
batch_requests = [
 {
 "custom_id": f"request-{i}",
 "method": "POST",
 "url": "/v1/chat/completions",
 "body": {
 "model": "llama-3.3-70b-versatile",
 "messages": [{"role": "user", "content": f"Суммаризируй текст #{i}: ..."}],
 "max_tokens": 200
 }
 }
 for i in range(100)
]

# Сохраняем JSONL
with open("/tmp/batch_requests.jsonl", "w") as f:
 for req in batch_requests:
 f.write(json.dumps(req) + "\n")

# Загружаем файл
with open("/tmp/batch_requests.jsonl", "rb") as f:
 batch_file = client.files.create(file=f, purpose="batch")

# Создаём batch job
batch = client.batches.create(
 input_file_id=batch_file.id,
 конечная точка API="/v1/chat/completions",
 completion_window="24h"
)

print(f"Batch создан: {batch.id}")
print(f"Статус: {batch.status}")

# Проверка статуса (позже)
batch_status = client.batches.retrieve(batch.id)
if batch_status.status == "completed":
 output = client.files.content(batch_status.output_file_id)
 for line in output.text.split("\n"):
 if line:
 result = json.loads(line)
 print(result["custom_id"], "->", result["response"]["body"]["choices"][0]["message"]["content"][:50])

Экономия 50% делает Batch API очень выгодным для:

  • Массовая классификация или тегирование данных (например, разметка отзывов)
  • Генерация описаний для каталога товаров
  • Оффлайн-анализ логов или отзывов
  • Перевод больших объёмов текста

Ограничение: результат за 24 часа. Не подходит для интерактивных задач.

Когда Groq - правильный выбор для вашего бизнеса

Groq выигрывает в трёх сценариях.

Голосовые ассистенты. Цикл: клиент говорит -> Whisper транскрибирует -> Llama обрабатывает -> TTS отвечает. Каждый лишний шаг убивает UX. Groq даёт суммарную задержку 200-400 мс против 1-2 секунд у GPU-конкурентов. Разберём на примере ремонтной фирмы: клиент звонит, говорит «хочу заменить кран на кухне», ассистент за секунду уточняет адрес и записывает на замер. Без Groq пауза в 2-3 секунды заставляет клиента повторять вопрос.

Интерактивные чаты на сайте. Когда пользователь видит генерацию в реальном времени, 400 токенов/сек против 50 - разница между «работает моментально» и «заметно ждёшь». Для сайта турагентства это означает, что клиент не уходит, пока бот «думает».

Транскрибация встреч и переговоров. Для онлайн-школы или видеопродакшна - комбинация Whisper + Llama на Grop даёт мгновенную расшифровку лекций и интервью. Практически без альтернатив по скорости.

Когда Groq не подходит

Длинный контекст. Контекст 128K у большинства Groq-моделей. Если нужно обрабатывать документы на 1M+ токенов (например, полная бухгалтерская отчётность) - Llama 4 Scout (Together), DeepSeek V4 или Kimi K2 правильный выбор.

Нишевые или свежие модели. LPU требует компиляции. Llama 4, Qwen, DeepSeek - нет на Groq. Если нужна конкретная модель, которой нет в каталоге, Groq не поможет.

Сложные MoE-модели с большим числом экспертов. LPU архитектура не оптимальна для таких моделей - это ограничивает каталог.

SLA для enterprise. Groq пока не предлагает enterprise SLA с гарантиями uptime. Для критичного боевая среда нужен план B.

Groq vs Together AI: конкретные цифры для выбора

Конкретные числа из независимых измерений (примерные, варьируются):

Метрика Groq Together AI
TTFT (p50) 80 мс 400 мс
Токенов/сек (p50) 394 42
Цена input $0.59/M $0.90/M
Цена output $0.79/M $0.90/M
Макс. контекст 128K 128K

Groq дешевле по input и output при 10-кратном преимуществе по скорости. Причина не использовать Groq: нужны модели, которых нет (Llama 4, DeepSeek, Qwen), или нужен контекст больше 128K.

Голосовой пайплайн на Groq: как внедрить за вечер

Полный голосовой цикл на Groq - транскрибируете аудио через Whisper, затем генерируете текстовый ответ через Llama. Разберём на примере психолога с практикой: клиенты оставляют голосовые сообщения в мессенджере, ассистент расшифровывает и даёт краткий ответ или записывает на консультацию.

import os
import time
import tempfile
from pathlib import Path
from openai import OpenAI

client = OpenAI(
 api_key=os.environ["GROQ_API_KEY"],
 base_url="https://api.groq.com/openai/v1"
)

def voice_to_response(audio_file_path: str) -> dict:
 """Транскрибирует аудио и генерирует ответ. Замеряет latency."""
 
 total_start = time.time()
 
 # Шаг 1: транскрипция через Whisper large-v3
 whisper_start = time.time()
 with open(audio_file_path, "rb") as audio_file:
 transcription = client.audio.transcriptions.create(
 model="whisper-large-v3",
 file=audio_file,
 language="ru",
 response_format="json"
 )
 whisper_elapsed = time.time() - whisper_start
 text = transcription.text
 
 # Шаг 2: генерация ответа через Llama 3.3 70B
 llm_start = time.time()
 response = client.chat.completions.create(
 model="llama-3.3-70b-versatile",
 messages=[
 {"role": "system", "content": "Ты голосовой ассистент. Отвечай кратко - 1-3 предложения."},
 {"role": "user", "content": text}
 ],
 max_tokens=150,
 temperature=0.7,
 stream=True
 )
 
 answer_parts = []
 first_token_time = None
 
 for chunk in response:
 if chunk.choices[0].delta.content:
 if first_token_time is None:
 first_token_time = time.time()
 answer_parts.append(chunk.choices[0].delta.content)
 
 llm_elapsed = time.time() - llm_start
 total_elapsed = time.time() - total_start
 answer = "".join(answer_parts)
 
 return {
 "transcription": text,
 "response": answer,
 "whisper_ms": int(whisper_elapsed * 1000),
 "llm_ttft_ms": int((first_token_time - llm_start) * 1000) if first_token_time else None,
 "total_ms": int(total_elapsed * 1000)
 }

# Типичные результаты:
# whisper_ms: 300-600мс для 10-секундного аудио
# llm_ttft_ms: 50-150мс
# total_ms: 400-800мс

Суммарная задержка 400-800 мс делает разговорный AI реалистичным. Для сравнения - с GPU-провайдерами суммарный цикл занимает 2-4 секунды, что ощущается как заметная пауза в разговоре.

Как подстраховаться: Groq + fallback на Together

Groq без SLA-гарантий требует запасного пути для боевая среда. Разберём на примере логистической компании: чат-бот для отслеживания грузов должен работать 24/7, простой недопустим.

Класс ниже реализует паттерн «запасной путь» (circuit breaker): при сбоях Groq автоматически переключается на Together AI и возвращается обратно после восстановления.

import time
from openai import OpenAI
from typing import Optional

class GroqWithFallback:
 def __init__(self):
 self.groq = OpenAI(
 api_key=os.environ["GROQ_API_KEY"],
 base_url="https://api.groq.com/openai/v1"
 )
 self.together = OpenAI(
 api_key=os.environ["TOGETHER_API_KEY"],
 base_url="https://api.together.xyz/v1"
 )
 self.groq_failures = 0
 self.circuit_open_until = 0 # unix timestamp
 
 def complete(self, messages: list, max_tokens: int = 500) -> Optional[str]:
 # Circuit breaker: если много ошибок - идём на Together сразу
 if time.time() < self.circuit_open_until:
 return self._together_complete(messages, max_tokens)
 
 try:
 start = time.time()
 response = self.groq.chat.completions.create(
 model="llama-3.3-70b-versatile",
 messages=messages,
 max_tokens=max_tokens,
 timeout=5 # короткий timeout для real-time
 )
 self.groq_failures = 0
 elapsed_ms = int((time.time() - start) * 1000)
 print(f"[Groq] {elapsed_ms}мс")
 return response.choices[0].message.content
 
 except Exception as e:
 self.groq_failures += 1
 if self.groq_failures >= 3:
 # Открываем circuit на 60 секунд
 self.circuit_open_until = time.time() + 60
 print(f"[Circuit open] Groq недоступен, переходим на Together")
 return self._together_complete(messages, max_tokens)
 
 def _together_complete(self, messages: list, max_tokens: int) -> Optional[str]:
 response = self.together.chat.completions.create(
 model="meta-llama/Llama-4-Maverick",
 messages=messages,
 max_tokens=max_tokens
 )
 print(f"[Together fallback]")
 return response.choices[0].message.content

client = GroqWithFallback()
result = client.complete([{"role": "user", "content": "Что такое circuit breaker паттерн?"}])

Паттерн circuit breaker предотвращает каскадные ошибки: вместо того чтобы каждый запрос ждал timeout от недоступного Groq, система быстро переключается на альтернативу.

Оптимизация стоимости: когда Groq выгоднее

Сравнение стоимости на практических задачах при 1 миллионе запросов в месяц (средний размер 500 входных + 200 выходных токенов):

Провайдер Модель Стоимость/месяц
Groq Llama 3.1 8B $0.05 * 0.5 + $0.08 * 0.2 = $0.041/1K = $41
Groq Llama 3.3 70B $0.59 * 0.5 + $0.79 * 0.2 = $0.453/1K = $453
Together Llama 4 Maverick $0.15 * 0.5 + $0.60 * 0.2 = $0.195/1K = $195
DeepSeek V4 Flash $0.14 * 0.5 + $0.28 * 0.2 = $0.126/1K = $126

Для высоконагруженных real-time сервисов с простыми задачами (например, чат-бот для ответов на частые вопросы) - Groq Llama 3.1 8B самый дешёвый ($41/месяц). Для сложных задач, где нужно качество 70B (анализ договоров, генерация предложений) - Together Llama 4 Maverick выгоднее ($195 против $453).

Частые вопросы

Что такое LPU и почему Groq быстрее обычных GPU-кластеров?

LPU (Language Processing Unit) - специализированный чип для генерации текста. В отличие от GPU, он не тратит ресурсы на универсальность: полностью оптимизирован под последовательную генерацию токенов с минимальными задержками памяти. Результат - в 3-10 раз быстрее H100 именно на генерации токенов (не на обучении, не на батч-инференсе с большими батчами).

Какие модели доступны на Groq в 2026?

Основные: Llama 3.1 8B (~1000 tok/s), Llama 3.3 70B (~394 tok/s), Mixtral 8x7B (~480 tok/s), Kimi K2, Whisper v3 Large для транскрипции. Полный список - console.groq.com/docs/models. Llama 4, Qwen, DeepSeek, Codestral на Groq в 2026 недоступны.

Как использовать Groq Batch API для экономии 50%?

Формат JSONL - список запросов в файл, загрузка через client.files.create(purpose="batch"), создание job через client.batches.create(). Результат через 24 часа максимум. Подходит для оффлайн-обработки: суммаризация, классификация, перевод больших объёмов. Несовместим с интерактивными приложениями.

Groq подходит для продакшн с гарантированным SLA?

На 2026 Groq предлагает enterprise plan с обещаниями uptime, но публичного SLA с финансовыми гарантиями нет. Для критичного боевая среда рекомендуется держать fallback на GPU-провайдера (Together, Fireworks). LiteLLM или OpenRouter помогают автоматизировать fallback.

Есть ли у Groq поддержка vision / мультимодальных запросов?

Нет. Groq поддерживает только текст и аудио (Whisper). Llama 4 с нативной мультимодальностью, Qwen3.7-Plus, Llama 4 Maverick с image input - всё это только через GPU-провайдеров (Together AI, Fireworks, OpenRouter). Если нужны изображения - смотрите Llama 4 через Together AI.

Что делать прямо сейчас

  1. Зарегистрируйтесь на console.groq.com - это бесплатно и без карты.
  2. Получите API-ключ.
  3. Возьмите код из раздела «Голосовой пайплайн» и замените путь к аудиофайлу на свой.
  4. Попробуйте - через 10 минут увидите скорость.
  5. Если нужна надёжность - добавьте fallback на Together AI по коду из раздела «Как подстраховаться».

Следующий шаг: если вам нужен длинный контекст (1M+ токенов) вместо скорости - смотрите DeepSeek V4. Полная карта провайдеров - в статье «Опенсорс-модели через облако».

AI Компас (t.me/kosmoslab_ai) - канал для предпринимателей в РФ и СНГ, которые применяют AI в своём бизнесе без программиста. Разбираем инструменты и схемы - без курсов и теории.