Назад до блогу

RAG і даніПосібник

Скільки коштує RAG-запитання: скільки фрагментів надсилати

Оцініть токени в одному RAG-запитанні, подивіться вартість 1 000 і 100 000 запитань за актуальними цінами та виберіть кількість фрагментів, що відповідає вашому бюджету.

Автор: CheapTokens TeamОпубліковано 5 хв читання

Діаграма: запитання та отримані фрагменти надходять до моделі, вартість залежить від кількості фрагментів
На цій сторінці
  1. Що входить в один RAG-запит
  2. Скільки коштують 1 000 запитань
  3. Top-k: кожен фрагмент додає однакову кількість
  4. Весь документ у запиті, чи чотири фрагменти
  5. Надішліть запит
  6. Чотири способи зменшити ввід

Ваш чат-бот для документів працює, надходить перший рахунок, і він більший, ніж заслуговують запитання. Майже в кожній RAG-системі гроші йдуть в одне місце: отримані фрагменти, які ви вставляєте перед кожним запитанням. Одне RAG-запитання коштує токенів запитання, ваших інструкцій і N фрагментів на стороні вводу, плюс коротка відповідь на стороні виводу. Фрагменти — це частина, яку ви контролюєте, і кожен із них додає однакову кількість токенів до кожного запиту.

Цей посібник рахує один запит, оцінює 1 000 і 100 000 таких запитів за актуальними цінами та показує, що змінюється, коли ви переходите від top-k 3 до 10. Сам пошук (ваше векторне сховище, ваше розбиття на фрагменти) залишається на вашій стороні; лише фінальний виклик генерації йде до API моделі. Якщо тарифікація вводу та виводу для вас нова, почніть з вхідні та вихідні токени.

Що входить в один RAG-запит#

Припустімо, ви запускаєте бота підтримки на документах компанії. Клієнт запитує: «Як скинути двофакторний вхід?», ваш пошуковий механізм повертає п'ять найкращих уривків, і ви надсилаєте це моделі:

  • системний запит: «Відповідай лише з контексту. Якщо цього немає, скажи про це.» — близько 300 токенів, коли додати правила форматування;
  • запитання з трохи контексту чату — близько 200 токенів;
  • 5 фрагментів по ~500 токенів кожен — 5 × 500 = 2 500 токенів;
  • відповідь: два-три короткі абзаци — близько 300 токенів на виході.

Сторона вводу — 2 500 + 300 + 200 = 3 000 токенів, сторона виводу — близько 300. Це припущення автора для типового бота підтримки; підставте свої цифри. Усе нижче використовує цей один запит як одиницю.

Швидкий спосіб побачити структуру: фрагменти становлять приблизно п'ять шостих усього вводу, а ввід у десять разів більший за відповідь. Спробуйте оцінити самостійно:

Вгадайте число

Скільки вхідних токенів надсилає наведений вище запит?

Показати відповідь

Відповідь: 3 000

3 000: 5 фрагментів × 500 = 2 500, плюс 300 на системний запит і 200 на запитання. Фрагменти домінують.

Скільки коштують 1 000 запитань#

Один запит замалий, щоб його відчути, тому масштабуйте. З 3 000 токенів на вході та 300 на виході 1 000 запитань надсилають 3 000 000 вхідних токенів і генерують 300 000 вихідних токенів. Перетягніть повзунки нижче, щоб відповідати вашому боту; сайт перераховує за актуальними цінами для кожної моделі.

Калькулятор вартості

Один день бота підтримки

Вхідні токени на запит: 3 000 · Вихідні токени на запит: 300 · Запитів на день: 1 000

МодельЗа деньЗа місяць
GLM-5.3-Flash$0.072$2.16
DeepSeek-V4-Flash$0.075$2.25
MiniMax-M2.7$0.195$5.85

Таблиця показує те саме навантаження для всіх трьох моделей, поруч із довідкою OpenRouter. У сумі, з вводом і виводом разом, кожна з них тут виходить дешевшою за OpenRouter.

Модель За запит 1 000 запитів OpenRouter, 1 000 запитів
GLM-5.3-Flash $0.000072 $0.072 $0.147
DeepSeek-V4-Flash $0.000075 $0.075 $0.19
MiniMax-M2.7 $0.0002 $0.195 $1.26

3 000 вхідних і 300 вихідних токенів на запит. Ціни за 1 млн токенів актуальні та змінюються разом із нашими тарифами; стовпець OpenRouter показує довідкові ціни для того самого навантаження.

А на 100 000 запитань? Це 300 000 000 токенів на вході та 30 000 000 на виході. На DeepSeek-V4-Flash це $7.50, на GLM-5.3-Flash $7.20, на MiniMax-M2.7 $19.50. Ціни фіксовані для кожної моделі, без пікових годин, тому нічний пакет і денний чат коштують однаково за токен. Повний прайс-лист на сторінці цін.

Top-k: кожен фрагмент додає однакову кількість#

Ось другий сценарій: помічник внутрішньої вікі. Хтось пропонує: «Давайте надсилати 10 фрагментів замість 3, про всяк випадок.» Ввід зростає лінійно: кожен фрагмент — це ще 500 токенів у кожному запиті.

Три фрагменти проти десяти: те саме запитання, інший розмір вводу
Вхідні токени на запит при top-k 3 і top-k 10, за припущення 500 токенів на фрагмент

2 000 проти 5 500 токенів: відповідь тієї самої довжини, тому вся різниця в рахунку помічника вікі — це ввід. Чи купує це вам кращу відповідь — питання якості: після точки, коли правильний уривок уже в контексті, додаткові фрагменти переважно додають шум і витрати. Практичний спосіб вибрати k — узяти набір реальних запитань, перевірити, при якому k з'являється правильний уривок, і зупинитися трохи вище.

Контекстне вікно — інше обмеження. Усі три моделі тут мають достатньо місця для звичайного top-k: 180K токенів для MiniMax-M2.7, 380K для DeepSeek-V4-Flash і 390K для GLM-5.3-Flash. Ліміти виводу різняться: до 8 192 токенів на відповідь для GLM-5.3-Flash і MiniMax-M2.7, до 32 768 для DeepSeek-V4-Flash, що важливо, якщо ваші відповіді — довгі звіти, а не короткі репліки.

Оберіть свій випадок

Який ваш RAG-випадок?

Короткі відповіді з кількох фрагментів

Бот підтримки або FAQ з top-k 3–6 і відповідями на кілька сотень токенів підходить для будь-якої з трьох моделей. Виберіть за якістю на ваших запитаннях, а потім нехай таблиця витрат вище вирішує.

Довгі відповіді та підсумки

Якщо відповіді сягають тисяч токенів, DeepSeek-V4-Flash дозволяє до 32 768 вихідних токенів на відповідь і контекст 380K.

Багато документів на запит

Якщо ви хочете об'єднати багато уривків або цілі розділи, GLM-5.3-Flash має найбільший контекст із трьох — 390K.

Весь документ у запиті, чи чотири фрагменти#

Третій сценарій: запитання щодо договору. Лінива версія вставляє весь PDF на 30 000 токенів у кожне запитання. Версія з пошуком надсилає запитання, інструкції та чотири релевантні фрагменти по ~650 токенів кожен, загалом приблизно 3 000 токенів. Ті самі 1 000 запитань, ті самі відповіді на 300 токенів:

Вартість 1 000 запитань щодо договору на DeepSeek-V4-Flash
  • Весь документ на 30 000 токенів у кожному запиті$0.48
  • Запитання, інструкції та 4 отримані фрагменти, близько 3 000 токенів$0.075

Повний документ надсилає в десять разів більше вводу, 30 000 ÷ 3 000 = 10, за те саме запитання. Це все ще має сенс для одного разового запитання про документ, що вміщується в контекст. Для бота, який відповідає цілий день, це дорогий варіант за замовчуванням. Якщо багато цього вводу — той самий текст щоразу, прочитайте про кешування запитів.

Надішліть запит#

Нижче — крок генерації. Частина пошуку — ваша: chunks — це те, що повернуло ваше векторне сховище. Той самий код працює з OpenAI SDK або звичайним curl.

Запитайте з отриманими фрагментами

Python

python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key="YOUR_CHEAPTOKENS_KEY",
)

chunks = ["Chunk 1 text...", "Chunk 2 text...", "Chunk 3 text..."]
context = "\n\n---\n\n".join(chunks)

resp = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    max_tokens=400,
    messages=[
        {"role": "system", "content": "Answer only from the context. If the answer is not there, say so."},
        {"role": "user", "content": f"Context:\n{context}\n\nQuestion: How do I reset two-factor login?"},
    ],
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

curl

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer YOUR_CHEAPTOKENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "max_tokens": 400,
    "messages": [
      {"role": "system", "content": "Answer only from the context. If the answer is not there, say so."},
      {"role": "user", "content": "Context:\nChunk 1...\n\nQuestion: How do I reset two-factor login?"}
    ]
  }'

Останній рядок прикладу Python — корисний. usage.prompt_tokens — це ваш реальний ввід на запитання; порівняйте його з оцінкою 3 000 і замініть мої припущення своїми цифрами. Використовуйте повний ідентифікатор моделі, як у прикладі: deepseek-ai/DeepSeek-V4-Flash-0731. Ідентифікатори наведені в документації. Повне налаштування — у документації, а якщо ви хочете побачити, як токени бота складаються протягом діалогу, чому довгий чат коштує більше охоплює частину з історією.

Чотири способи зменшити ввід#

Почніть з max_tokens, що обмежує відповідь і захищає вас від неконтрольованої відповіді. Потім зменште k до найменшого значення, яке все ще знаходить правильний уривок. Зробіть фрагменти щільнішими, щоб 500 токенів несли 500 токенів сенсу, а не заголовки та шаблонний текст. Відкиньте дублікати фрагментів перед надсиланням: два майже ідентичні уривки коштують удвічі, а кажуть один раз. І вимірюйте за допомогою usage на реальному трафіку, бо здогад про 500-токенні фрагменти — лише здогад. Для ширшого погляду на те, куди йдуть токени в API-виклику, дивіться скільки токенів використовує запит.

Вставте свої токени на запит у калькулятор вище, щоб оцінити вашого бота на всіх трьох моделях; якщо ваші відповіді довгі, DeepSeek-V4-Flash — це те, на що варто звернути увагу першим.