Torna al blog
Guida·25 maggio 2026·7 min di lettura

RAG in italiano per PMI — costruire un assistente con Claude in 4 settimane

Guida pratica per startup e PMI italiane: stack RAG completo in italiano con Claude Sonnet 4.6, ~€0,006 per query, considerazioni su token italiani (1.3-1.5x più dell'inglese), anti-allucinazione, costi mensili reali da 100 a 10.000 query/giorno, GDPR e nota sulla fatturazione elettronica al SDI.

Costruire un assistente RAG in italiano per la tua PMI — guida pratica per startup e aziende italiane che vogliono mettere Claude in produzione su una base di conoscenza in italiano. Codice funzionante, costi mensili realistici, considerazioni GDPR e fatturazione elettronica.

Lo stack base

  1. Embedding dei documenti con text-embedding-3-large, chiamato direttamente su OpenAI —— Kunavo non serve gli embedding, solo il passo di generazione
  2. Ricerca vettoriale (pgvector / Pinecone / Qdrant)
  3. Generazione della risposta con Claude Sonnet 4.6 + prompt caching
  4. Fallback su Gemini 2.5 Flash per alta concorrenza / costi minimi

Codice essenziale

rispondere.py
from openai import OpenAI

client = OpenAI(
    api_key="sk-kn-...",
    base_url="https://api.kunavo.com/v1",
)

def rispondere(domanda: str, contesto: list[str]) -> str:
    """Risponde in italiano basandosi solo sul contesto recuperato dalla KB."""
    resp = client.chat.completions.create(
        model="claude-sonnet-4-6",
        messages=[
            {
                "role": "system",
                "content": [
                    {
                        "type": "text",
                        "text": (
                            "Sei un assistente che risponde in italiano formale "
                            "ma cordiale, basandoti esclusivamente sul contesto "
                            "fornito. Se la risposta non si trova nel contesto, "
                            "rispondi 'Non ho questa informazione' invece di "
                            "inventare. Cita sempre il documento di origine "
                            "quando possibile."
                        ),
                        "cache_control": {"type": "ephemeral"},
                    },
                ],
            },
            {
                "role": "user",
                "content": (
                    f"## Contesto\n{chr(10).join(contesto)}\n\n"
                    f"## Domanda\n{domanda}"
                ),
            },
        ],
        max_tokens=600,
    )
    return resp.choices[0].message.content

Costo per query con caching attivo: ~$0,004 (circa €0,004). Senza caching: ~$0,01. La differenza giustifica la configurazione corretta di cache_control sul system prompt stabile.

Tokens in italiano

L'italiano consuma circa 1.3-1.5x più token rispetto all'inglese per lo stesso contenuto (articoli, desinenze lunghe). Tienine conto nei budget: un contesto da 5K token in inglese diventa ~6.5K in italiano. Limita il contesto a 4K per mantenere i costi sotto controllo senza perdere qualità.

Anti-allucinazione — cosa funziona davvero

  • System prompt esplicito: "se la risposta non è nel contesto, dì 'Non ho questa informazione'". Claude rispetta questa istruzione in italiano in modo affidabile
  • Citare la fonte: chiedi al modello di restituire l'id del documento da cui ha tratto ogni affermazione. Se l'id è inventato, hai trovato un'allucinazione
  • Limitare l'output: max_tokens=400 riduce la tentazione di aggiungere contenuti inventati come riempitivo
  • Test avversari: prepara 50 domande del tuo dataset marcate come "non rispondibili con il contesto attuale". L'assistente deve rifiutare tutte

Costo mensile stimato

  • 100 query/giorno: ~$11/mese (~€10) con caching
  • 1.000 query/giorno: ~$110/mese (~€100)
  • 10.000 query/giorno: ~$1.100/mese (~€1.000)

Confronto: un addetto al customer support italiano costa ~€2.500/mese per coprire ~100 ticket/giorno. Anche solo a 1.000 query/giorno, l'assistente AI fa il lavoro di 10 persone a circa il 4% del costo di un singolo addetto.

Pagamento e fatturazione

  • Carte: Visa, Mastercard, American Express, PostePay (via Visa)
  • Apple Pay / Google Pay / Link
  • Satispay, quando il checkout è in euro

Tutti i prezzi sono in USD; Stripe può convertire l'importo in EUR al checkout, con un tasso che include una commissione di conversione del 2–4% a carico di chi paga (pagando in USD non c'è; documentazione Adaptive Pricing di Stripe, letta il 2026-10-03). PayPal e SEPA Direct Debit non sono disponibili. Il checkout non mostra l'IVA e non chiede la partita IVA. Fatturazione elettronica al SDI: al momento non emettiamo fatture elettroniche al SDI italiano. Per esigenze di fatturazione, contatta sales@kunavo.com.

GDPR — punti critici per le PMI italiane

  • Pseudonimizzazione PII: rimuovi nomi propri, codici fiscali, IBAN, email e indirizzi dal prompt prima di inviarlo al modello
  • DPA / Art. 28 GDPR: Kunavo non offre un DPA né clausole contrattuali tipo (CCT); le richieste vengono elaborate negli Stati Uniti e inoltrate ai provider upstream. Se ti serve un DPA con CCT per il trasferimento dati verso gli USA, stipulalo direttamente con il provider del modello (condizioni enterprise di Anthropic, OpenAI o Google)
  • Informativa privacy aggiornata: menziona esplicitamente l'uso di AI di terze parti tramite Kunavo
  • Diritto all'oblio (Art. 17): assicurati che i tuoi log applicativi siano cancellabili. Non mettere prompt in archivi immutabili tipo blockchain

Roadmap pratica

  • Settimana 1: prototipo con 100 documenti, 10 query test
  • Settimana 2: integrazione con la KB completa, test con utenti interni
  • Settimana 3: tuning del system prompt con casi reali, valutazione qualità
  • Settimana 4: deploy graduale, monitoraggio costi su /app/usage

Pronto a partire? Registrazione gratuita, ricarica da $10 e paghi solo per ciò che usi (sufficiente per ~1.100 query di test). Documentazione completa: /docs/quickstart. Per domande in italiano, scrivi direttamente a contact@kunavo.com.