RAG e datiGuida
Quanto costa una domanda RAG: quanti chunk inviare
Stima i token di una domanda RAG, vedi il costo di 1.000 e 100.000 domande sui prezzi live e scegli il numero di chunk che sta nel tuo budget.

In questa pagina
Il tuo chatbot per documenti funziona, arriva la prima fattura ed è più alta di quanto le domande meritino. In quasi ogni configurazione RAG il denaro va in un solo posto: i chunk recuperati che incolli davanti a ogni domanda. Una domanda RAG costa i token della domanda, delle tue istruzioni e di N chunk sul lato input, più una risposta breve sul lato output. I chunk sono la parte che controlli, e ognuno aggiunge lo stesso numero di token a ogni singola richiesta.
Questa guida conta una richiesta, ne prezza 1.000 e 100.000 sui prezzi live, e mostra cosa cambia quando sposti il top-k da 3 a 10. Il retrieval in sé (il tuo vector store, il tuo chunking) resta dalla tua parte; solo la chiamata finale di generazione va all'API del modello. Se la fatturazione di input e output è nuova per te, inizia da token di input vs output.
Cosa entra in una richiesta RAG#
Immagina un bot di supporto sui documenti aziendali. Un cliente chiede: "Come reimposto l'accesso a due fattori?", il tuo retriever restituisce i cinque passaggi migliori e invii questo al modello:
- un system prompt: "Rispondi solo dal contesto. Se non c'è, dillo." — circa 300 token una volta aggiunte le regole di formattazione;
- la domanda con un po' di contesto della chat — circa 200 token;
- 5 chunk da circa 500 token ciascuno — 5 × 500 = 2.500 token;
- la risposta: due o tre paragrafi brevi — circa 300 token in uscita.
Il lato input è 2.500 + 300 + 200 = 3.000 token, il lato output circa 300. Queste sono le ipotesi dell'autore per un tipico bot di supporto; sostituiscile con i tuoi numeri. Tutto quanto segue usa questa singola richiesta come unità.
Il modo rapido per vedere la forma: i chunk sono circa cinque sesti dell'intero input, e l'input è dieci volte la risposta. Prova tu stesso la stima:
Indovina il numero
Quanti token di input invia la richiesta qui sopra?
La tua risposta
010.000
Mostra risposta
Risposta: 3000
3.000: 5 chunk × 500 = 2.500, più 300 per il system prompt e 200 per la domanda. I chunk dominano.
Quanto costano 1.000 domande#
Una richiesta è troppo piccola per sentirla, quindi scala. Con 3.000 token in input e 300 in output, 1.000 domande inviano 3.000.000 di token di input e generano 300.000 token di output. Trascina gli slider qui sotto per adattarli al tuo bot; il sito ricalcola sui prezzi live per ogni modello.
Calcolatore di costi
Un giorno di un bot di supporto
Token di input per richiesta: 3000 · Token di output per richiesta: 300 · Richieste al giorno: 1000
| Modello | Al giorno | Al mese |
|---|---|---|
| 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 |
La tabella mostra lo stesso carico di lavoro per tutti e tre i modelli, con il riferimento OpenRouter accanto. Contando il totale, con input e output insieme, ognuno di essi risulta più economico di OpenRouter qui.
| Modello | Input $/1M | Output $/1M | Per richiesta | 1000 richieste | OpenRouter, 1000 richieste |
|---|---|---|---|---|---|
| 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 di input e 300 token di output per richiesta. I prezzi per 1M di token sono attuali e cambiano insieme alle nostre tariffe; la colonna OpenRouter mostra i prezzi di riferimento per lo stesso carico di lavoro.
E con 100.000 domande? Sono 300.000.000 di token in input e 30.000.000 in output. Su DeepSeek-V4-Flash sono $7.50, su GLM-5.3-Flash $7.20, su MiniMax-M2.7 $19.50. I prezzi sono fissi per modello, senza ore di punta, quindi un batch notturno e una chat diurna costano lo stesso per token. Vedi il listino completo su la pagina dei prezzi.
Top-k: ogni chunk aggiunge la stessa quantità#
Ecco il secondo scenario: un assistente per il wiki interno. Qualcuno suggerisce: "Mandiamo 10 chunk invece di 3, per sicurezza." L'input cresce in linea retta: ogni chunk sono altri 500 token in ogni richiesta.

2.000 contro 5.500 token: la risposta è della stessa lunghezza, quindi tutta la differenza nella fattura dell'assistente wiki è input. Se ti compra una risposta migliore è una questione di qualità: oltre il punto in cui il passaggio giusto è già nel contesto, i chunk extra aggiungono soprattutto rumore e costo. Un modo pratico per scegliere k è prendere un insieme di domande reali, verificare a quale k compare il passaggio giusto e fermarsi poco sopra.
La finestra di contesto è l'altro limite. Tutti e tre i modelli qui hanno ampio spazio per un top-k ordinario: 180K token per MiniMax-M2.7, 380K per DeepSeek-V4-Flash e 390K per GLM-5.3-Flash. I limiti di output differiscono: fino a 8.192 token per risposta per GLM-5.3-Flash e MiniMax-M2.7, fino a 32.768 per DeepSeek-V4-Flash, cosa che conta se le tue risposte sono report lunghi anziché repliche brevi.
Scegli il tuo caso
Qual è il tuo caso RAG?
Scegli un'opzione per vedere la risposta
Risposte brevi da pochi chunk
Un bot di supporto o una FAQ con top-k di 3–6 e risposte di qualche centinaio di token si adatta a uno qualsiasi dei tre modelli. Scegli in base alla qualità sulle tue domande, poi lascia decidere la tabella dei costi qui sopra.
Risposte lunghe e riassunti
Se le risposte arrivano a migliaia di token, DeepSeek-V4-Flash consente fino a 32.768 token di output per risposta e un contesto di 380K.
Molti documenti per richiesta
Se vuoi unire molti passaggi o intere sezioni, GLM-5.3-Flash ha il contesto più grande dei tre, 390K.
L'intero documento nel prompt, o quattro chunk#
Terzo scenario: Q&A sui contratti. La versione pigra incolla l'intero PDF da 30.000 token in ogni domanda. La versione con retrieval invia la domanda, le istruzioni e quattro chunk rilevanti da circa 650 token ciascuno, circa 3.000 token in totale. Stesse 1.000 domande, stesse risposte da 300 token:
Il documento completo invia dieci volte l'input, 30.000 ÷ 3.000 = 10, per la stessa domanda. Ha ancora senso per una singola domanda una tantum su un documento che sta nel contesto. Per un bot che risponde tutto il giorno, è il default costoso. Se gran parte di quell'input è lo stesso testo ogni volta, leggi di prompt caching.
Invia la richiesta#
Qui sotto c'è lo step di generazione. La parte di retrieval è tua: chunks è qualunque cosa abbia restituito il tuo vector store. Lo stesso codice funziona con l'SDK OpenAI o con curl puro.
Fai una domanda con i chunk recuperati
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?"}
]
}'L'ultima riga dell'esempio Python è quella utile. usage. è il tuo input reale per domanda; confrontalo con la stima di 3.000 e sostituisci le mie ipotesi con i tuoi numeri. Usa l'id completo del modello, come nell'esempio: deepseek-. Gli id sono elencati nella documentazione. La configurazione completa è in la documentazione, e se vuoi vedere come si sommano i token di un bot lungo un dialogo, perché una chat lunga costa di più copre la parte della cronologia.
Quattro modi per ridurre l'input#
Inizia con max_tokens, che limita la risposta e ti protegge da una replica fuori controllo. Poi riduci k al valore più piccolo che trova ancora il passaggio giusto. Rendi i chunk più compatti, così 500 token portano 500 token di significato e non intestazioni e boilerplate. Elimina i chunk duplicati prima dell'invio: due passaggi quasi identici costano il doppio e dicono una volta sola. E misura con usage sul traffico reale, perché un'ipotesi su chunk da 500 token è solo un'ipotesi. Per uno sguardo più ampio su dove vanno i token in una chiamata API, vedi quanti token usa una richiesta.
Inserisci i tuoi token per richiesta nel calcolatore qui sopra per prezzare il tuo bot su tutti e tre i modelli; se le tue risposte sono lunghe, DeepSeek-V4-Flash è quello da guardare per primo.



