RAG i danePrzewodnik
Ile kosztuje pytanie RAG: ile fragmentów wysyłać
Oszacuj tokeny w jednym pytaniu RAG, zobacz koszt 1 000 i 100 000 pytań na aktualnych cenach i wybierz liczbę fragmentów, która pasuje do Twojego budżetu.

Na tej stronie
Twój chatbot dokumentowy działa, przychodzi pierwsza faktura i jest większa, niż pytania na to zasługują. W niemal każdym układzie RAG pieniądze idą w jedno miejsce: pobrane fragmenty, które wklejasz przed każdym pytaniem. Jedno pytanie RAG kosztuje tokeny pytania, Twoich instrukcji i N fragmentów po stronie wejścia oraz krótką odpowiedź po stronie wyjścia. Fragmenty to część, którą kontrolujesz, a każdy z nich dodaje tę samą liczbę tokenów do każdego pojedynczego żądania.
Ten przewodnik liczy jedno żądanie, wycenia 1 000 i 100 000 z nich na aktualnych cenach i pokazuje, co się zmienia, gdy przesuniesz top-k z 3 na 10. Samo wyszukiwanie (Twój magazyn wektorów, Twoje dzielenie na fragmenty) zostaje po Twojej stronie; tylko końcowe wywołanie generowania trafia do API modelu. Jeśli rozliczanie wejścia i wyjścia jest dla Ciebie nowe, zacznij od tokeny wejściowe vs wyjściowe.
Co wchodzi w jedno żądanie RAG#
Załóżmy, że prowadzisz bota wsparcia po dokumentach firmowych. Klient pyta: „Jak zresetować logowanie dwuskładnikowe?”, Twój retriever zwraca pięć najlepszych fragmentów, a Ty wysyłasz to do modelu:
- prompt systemowy: „Odpowiadaj tylko na podstawie kontekstu. Jeśli czegoś tam nie ma, powiedz to.” — około 300 tokenów po dodaniu reguł formatowania;
- pytanie z odrobiną kontekstu czatu — około 200 tokenów;
- 5 fragmentów po około 500 tokenów każdy — 5 × 500 = 2 500 tokenów;
- odpowiedź: dwa lub trzy krótkie akapity — około 300 tokenów na wyjściu.
Strona wejścia to 2 500 + 300 + 200 = 3 000 tokenów, strona wyjścia około 300. To założenia autora dla typowego bota wsparcia; podstaw własne liczby. Wszystko poniżej używa tego jednego żądania jako jednostki.
Szybki sposób, by zobaczyć proporcje: fragmenty to mniej więcej pięć szóstych całego wejścia, a wejście jest dziesięć razy większe od odpowiedzi. Spróbuj oszacować sam:
Zgadnij liczbę
Ile tokenów wejściowych wysyła powyższe żądanie?
Twoje przypuszczenie
010 000
Pokaż odpowiedź
Odpowiedź: 3000
3 000: 5 fragmentów × 500 = 2 500, plus 300 na prompt systemowy i 200 na pytanie. Fragmenty dominują.
Ile kosztuje 1 000 pytań#
Jedno żądanie jest zbyt małe, by je odczuć, więc je przeskaluj. Przy 3 000 tokenów na wejściu i 300 na wyjściu 1 000 pytań wysyła 3 000 000 tokenów wejściowych i generuje 300 000 tokenów wyjściowych. Przeciągnij suwaki poniżej, by dopasować do własnego bota; strona przelicza na aktualnych cenach dla każdego modelu.
Kalkulator kosztów
Jeden dzień bota wsparcia
Tokeny wejściowe na żądanie: 3000 · Tokeny wyjściowe na żądanie: 300 · Żądania dziennie: 1000
| Model | Dziennie | Miesięcznie |
|---|---|---|
| GLM-5.3-Flash$0.02$0.04 | $0.072 | $2.16 |
| DeepSeek-V4-Flash$0.015$0.10 | $0.075 | $2.25 |
| MiniMax-M2.7$0.05$0.15 | $0.195 | $5.85 |
Tabela pokazuje to samo obciążenie dla wszystkich trzech modeli, z odniesieniem do OpenRouter obok. Licząc łącznie, wejście i wyjście razem, każdy z nich wychodzi tu taniej niż OpenRouter.
| Model | Wejście $/1M | Wyjście $/1M | Za żądanie | 1000 żądań | OpenRouter, 1000 żądań |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000072 | $0.072 | $0.147 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000075 | $0.075 | $0.19 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0002 | $0.195 | $1.26 |
3000 tokenów wejściowych i 300 tokenów wyjściowych na żądanie. Ceny za 1 mln tokenów są aktualne i zmieniają się wraz z naszymi taryfami; kolumna OpenRouter pokazuje ceny referencyjne dla tego samego obciążenia.
A przy 100 000 pytań? To 300 000 000 tokenów na wejściu i 30 000 000 na wyjściu. Na DeepSeek-V4-Flash to $7.50, na GLM-5.3-Flash $7.20, na MiniMax-M2.7 $19.50. Ceny są stałe dla modelu, bez godzin szczytu, więc nocny batch i dzienny czat kosztują tyle samo za token. Pełną listę cen znajdziesz na stronie cennika.
Top-k: każdy fragment dodaje tyle samo#
Oto drugi scenariusz: asystent wewnętrznej wiki. Ktoś sugeruje: „Wyślijmy 10 fragmentów zamiast 3, na wszelki wypadek.” Wejście rośnie liniowo: każdy fragment to kolejne 500 tokenów w każdym żądaniu.

2 000 kontra 5 500 tokenów: odpowiedź ma tę samą długość, więc cała różnica w rachunku asystenta wiki to wejście. Czy przekłada się to na lepszą odpowiedź, to kwestia jakości: po punkcie, w którym właściwy fragment już jest w kontekście, dodatkowe fragmenty głównie dodają szum i koszt. Praktyczny sposób wyboru k to wzięcie zestawu rzeczywistych pytań, sprawdzenie, przy jakim k pojawia się właściwy fragment, i zatrzymanie się nieco powyżej tego.
Okno kontekstu to drugi limit. Wszystkie trzy modele mają tu dużo miejsca na zwykłe top-k: 180K tokenów dla MiniMax-M2.7, 380K dla DeepSeek-V4-Flash i 390K dla GLM-5.3-Flash. Limity wyjścia się różnią: do 8 192 tokenów na odpowiedź dla GLM-5.3-Flash i MiniMax-M2.7, do 32 768 dla DeepSeek-V4-Flash, co ma znaczenie, jeśli Twoje odpowiedzi to długie raporty, a nie krótkie odpowiedzi.
Wybierz swój przypadek
Jaki jest Twój przypadek RAG?
Wybierz opcję, aby zobaczyć odpowiedź
Krótkie odpowiedzi z kilku fragmentów
Bot wsparcia lub FAQ z top-k 3–6 i odpowiedziami na kilkaset tokenów pasuje do każdego z trzech modeli. Wybierz według jakości na własnych pytaniach, a potem niech zdecyduje tabela kosztów powyżej.
Długie odpowiedzi i podsumowania
Jeśli odpowiedzi sięgają tysięcy tokenów, DeepSeek-V4-Flash pozwala na do 32 768 tokenów wyjściowych na odpowiedź i kontekst 380K.
Wiele dokumentów na żądanie
Jeśli chcesz łączyć wiele fragmentów lub całych sekcji, GLM-5.3-Flash ma największy kontekst z trzech, 390K.
Cały dokument w prompcie albo cztery fragmenty#
Trzeci scenariusz: pytania o umowy. Wersja leniwa wkleja cały 30 000-tokenowy PDF do każdego pytania. Wersja z wyszukiwaniem wysyła pytanie, instrukcje i cztery istotne fragmenty po około 650 tokenów każdy, łącznie około 3 000 tokenów. Te same 1 000 pytań, te same 300-tokenowe odpowiedzi:
Pełny dokument wysyła dziesięć razy więcej wejścia, 30 000 ÷ 3 000 = 10, za to samo pytanie. Wciąż ma sens przy pojedynczym jednorazowym pytaniu o dokument, który mieści się w kontekście. Dla bota, który odpowiada cały dzień, to kosztowna domyślna opcja. Jeśli duża część tego wejścia to ten sam tekst za każdym razem, przeczytaj o buforowaniu promptów.
Wyślij żądanie#
Poniżej znajduje się krok generowania. Część wyszukiwania należy do Ciebie: chunks to cokolwiek zwrócił Twój magazyn wektorów. Ten sam kod działa z OpenAI SDK lub zwykłym curl.
Zadaj pytanie z pobranymi fragmentami
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
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?"}
]
}'Ostatnia linia przykładu w Pythonie jest tą użyteczną. usage. to Twoje rzeczywiste wejście na pytanie; porównaj je z szacunkiem 3 000 i zastąp moje założenia swoimi liczbami. Używaj pełnego identyfikatora modelu, jak w przykładzie: deepseek-. Identyfikatory są wymienione w dokumentacji. Pełna konfiguracja jest w dokumentacji, a jeśli chcesz zobaczyć, jak tokeny bota sumują się w dialogu, dlaczego długi czat kosztuje więcej omawia część dotyczącą historii.
Cztery sposoby na zmniejszenie wejścia#
Zacznij od max_tokens, który ogranicza odpowiedź i chroni Cię przed wymkniętą odpowiedzią. Potem zmniejsz k do najmniejszej wartości, która wciąż znajduje właściwy fragment. Zrób fragmenty ciaśniejsze, żeby 500 tokenów niosło 500 tokenów znaczenia, a nie nagłówki i boilerplate. Usuń zduplikowane fragmenty przed wysłaniem: dwa niemal identyczne fragmenty kosztują dwa razy, a mówią raz. I mierz za pomocą usage na rzeczywistym ruchu, bo zgadywanie o 500-tokenowych fragmentach to tylko zgadywanie. Szersze spojrzenie na to, gdzie idą tokeny w wywołaniu API, znajdziesz w ile tokenów zużywa żądanie.
Wpisz własne tokeny na żądanie do kalkulatora powyżej, by wycenić swojego bota na wszystkich trzech modelach; jeśli Twoje odpowiedzi są długie, DeepSeek-V4-Flash to ten, na który warto spojrzeć najpierw.



