Gli utenti scrivono male le domande?
Questa capacità prende la domanda che un utente scrive in una barra di ricerca — spesso incompleta, con refusi o sigle — e la riformula in una query chiara, pronta per un motore di ricerca semantica o per un database. Non risponde alla domanda: la prepara perché la ricerca trovi davvero quello che serve.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Il problema delle ricerche scritte così come vengono
Un utente reale non scrive query pulite: digita “consegna quanto ci mette”, oppure incolla mezza frase con un refuso o una sigla che solo lui capisce. Un motore di ricerca tradizionale, e anche uno semantico, lavora meglio con una domanda formulata bene. Questa capacità fa da passaggio intermedio: prende il testo grezzo dell’utente e lo trasforma in una query più chiara, senza cambiarne il significato.
Cosa cambia esattamente nel testo
Corregge i refusi evidenti, scioglie abbreviazioni comuni, esplicita un riferimento lasciato sottinteso e, quando la domanda è ambigua, la riformula nella lettura più probabile, senza aggiungere condizioni che l’utente non ha scritto. Il risultato resta una domanda in linguaggio naturale, non parole chiave isolate: pensata per essere passata a un motore di ricerca semantica o a un sistema di domande e risposte sui tuoi documenti, dove una formulazione più chiara fa trovare risultati migliori.
Dove si inserisce nel flusso di ricerca
Si usa come primo passaggio, prima della ricerca vera e propria: la query dell’utente entra grezza, così come l’ha scritta, ed esce pronta per essere interrogata su un indice o su un database. Utile su un catalogo prodotti, su un motore di ricerca interno di un’azienda o su un archivio di documenti, ovunque le ricerche scritte male oggi restituiscano pochi o nessun risultato utile e l’utente rinunci prima di trovare quello che cercava.
Prezzo e uso
Ogni riscrittura costa $0.003 di richiesta più $0.0135 di elaborazione, circa $0.0165 a query, in dollari e senza abbonamento: un costo minimo, pensato per stare davanti a ogni ricerca senza pesare sul conto finale. Si usa da questa pagina per provare il comportamento su qualche esempio prima di deciderlo, oppure via API per collegarlo davanti al motore di ricerca del tuo sito o della tua applicazione, così ogni query passa da qui prima di essere interrogata.
Casi d'uso
La ricerca di un negozio online
Un negozio che vende scarpe riceve ricerche come “scarpe 42 marroni uomo pelle”: la capacità la riformula in una domanda chiara prima di interrogare il catalogo, migliorando i risultati mostrati.
L’archivio ticket di un’assistenza
Un servizio clienti riceve ricerche interne scritte di fretta da chi risponde ai ticket; riscriverle prima di cercare nell’archivio dei casi passati riduce i risultati mancati.
Il portale immobiliare con sigle locali
Un portale di annunci riceve ricerche con sigle come “bilo zona centro”: la riscrittura le scioglie in una domanda esplicita prima di interrogare gli annunci disponibili.
La ricerca interna su una documentazione tecnica
Un team tecnico cerca nella propria documentazione con domande abbreviate o con refusi; la riscrittura le pulisce prima che arrivino al motore di ricerca semantico interno.
Domande frequenti
Corregge anche i refusi di battitura?
Sì, i refusi evidenti vengono corretti come parte della riformulazione, non solo il senso generale della domanda.
Che differenza c’è con un correttore ortografico?
Un correttore sistema le parole una per una. Questa capacità riscrive l’intera domanda, sciogliendo sigle e riferimenti impliciti, per prepararla a un motore di ricerca, non solo a essere letta senza errori.
Devo saper programmare per usarlo?
Per provarlo su qualche esempio basta questa pagina. Per collegarlo davanti alla ricerca del tuo sito o della tua applicazione serve integrarlo via API.
Quanto costa ogni riscrittura?
$0.003 di richiesta più $0.0135 di elaborazione per query riscritta, in dollari: nessun canone fisso.
Funziona con ricerche scritte in dialetto o molto colloquiali?
Gestisce bene l’italiano colloquiale e le abbreviazioni comuni; con un dialetto stretto il risultato dipende da quanto il testo si allontana dall’italiano standard.
I testi delle ricerche vengono conservati?
No, la query viene elaborata per produrre la riformulazione e poi non resta in archivio collegata a te o ai tuoi utenti.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/rag/query-rewrite \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/rag/query-rewrite", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/rag/query-rewrite",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/rag/query-rewrite", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/rag/query-rewrite", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"input": "…"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "rag.query_rewrite",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chunks | 10000 |
max_tokens | 20000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |