Build an Italian-language RAG assistant for your SME — a practical guide for Italian startups and companies that want to put Claude into production on an Italian-language knowledge base. Includes working code, realistic monthly costs, GDPR considerations, and electronic invoicing.
The basic stack
- Embed documents with text-embedding-3-large, called directly through OpenAI —— Kunavo does not serve embeddings, only the generation step
- Vector search (pgvector / Pinecone / Qdrant)
- Response generation with Claude Sonnet 4.6 + prompt caching
- Fallback to Gemini 2.5 Flash for high concurrency / minimum costs
Essential code
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.contentCost per query with caching enabled: ~$0.004 (about €0.004). Without caching: ~$0.01. The difference justifies correctly configuring cache_control on the stable system prompt.
Tokens in Italian
Italian uses approximately 1.3-1.5x more tokens than English for the same content (articles, longer endings). Account for this in your budgets: a 5K-token context in English becomes ~6.5K in Italian. Limit the context to 4K to keep costs under control without losing quality.
Anti-hallucination — what actually works
- Explicit system prompt: “If the answer is not in the context, say ‘I don’t have that information.’” Claude follows this instruction reliably in Italian
- Cite the source: Ask the model to return the ID of the document each claim came from. If the ID is made up, you’ve found a hallucination
- Limit the output: max_tokens=400 reduces the temptation to add invented filler
- Adversarial tests: Prepare 50 questions from your dataset marked as “unanswerable with the current context.” The assistant must reject all of them
Estimated monthly cost
- 100 queries/day: ~$11/month (~€10) with caching
- 1,000 queries/day: ~$110/month (~€100)
- 10,000 queries/day: ~$1,100/month (~€1,000)
Comparison: an Italian customer support agent costs ~€2,500/month to handle ~100 tickets/day. Even at 1,000 queries/day, the AI assistant does the work of 10 people at about 4% of the cost of one agent.
Payment and invoicing
- Cards: Visa, Mastercard, American Express, PostePay (via Visa)
- Apple Pay / Google Pay / Link
- Satispay, when checkout is in euros
All prices are in USD; Stripe can convert the amount to EUR at checkout, using a rate that includes a 2–4% conversion fee paid by the payer (there is no fee when paying in USD; Stripe Adaptive Pricing documentation, read on 2026-10-03). PayPal and SEPA Direct Debit are not available. Checkout does not display VAT or request a VAT number. Electronic invoicing through SDI: we currently do not issue electronic invoices through the Italian SDI. For invoicing requirements, contact sales@kunavo.com.
GDPR — key points for Italian SMEs
- PII pseudonymization: Remove personal names, tax codes, IBANs, emails, and addresses from the prompt before sending it to the model
- DPA / GDPR Art. 28: Kunavo does not offer a DPA or standard contractual clauses (SCCs); requests are processed in the United States and forwarded to upstream providers. If you need a DPA with SCCs for transferring data to the United States, enter into one directly with the model provider (Anthropic, OpenAI, or Google's enterprise terms)
- Updated privacy notice: Explicitly mention the use of third-party AI through Kunavo
- Right to erasure (Art. 17): Make sure your application logs can be deleted. Don’t put prompts in immutable archives such as blockchains
Practical roadmap
- Week 1: Prototype with 100 documents, 10 test queries
- Week 2: Integrate the complete KB, test with internal users
- Week 3: Tune the system prompt using real cases, evaluate quality
- Week 4: Gradual deployment, monitor costs at /app/usage
Ready to get started? Sign up for free, top up from $10, and pay only for what you use (enough for ~1,100 test queries). Full documentation: /docs/quickstart. For questions in Italian, email contact@kunavo.com directly.