Chat Data
Un assistente AI che risponde ai clienti usando i documenti dell'azienda
Incasso mensile: 16.000 USD (fonte indicata nella scheda)
Cosa fa
L'azienda carica il proprio sito, le domande frequenti e i documenti; il servizio crea un assistente che risponde ai clienti sul sito o sui social, raccoglie contatti e passa la conversazione a una persona quando serve.
Come guadagna
Abbonamento mensile.
Rendilo tuo
- Specializzalo per un settore italiano: hotel e B&B, studi medici, scuole guida.
- Risponde su WhatsApp, dove i clienti italiani scrivono davvero.
- Attenzione a privacy e dati sanitari se lo usi in ambito medico.
Le frasi da scrivere all'AI
1. Base del sito e grafica
Crea un'app web in italiano chiamata "Risponde Lui": crea un assistente AI che risponde ai clienti sul sito usando solo i documenti e le informazioni dell'azienda, e passa a una persona quando non sa rispondere. Usa React, Vite, TypeScript e Tailwind CSS.
Pagine da creare:
1. Pagina iniziale con una demo della chat e prezzi
2. Registrazione e accesso
3. Caricamento dei contenuti: link del sito, PDF, domande frequenti
4. Personalizzazione della chat: nome, colori, messaggio di benvenuto
5. Conversazioni e domande senza risposta
Stile: amichevole e professionale: sfondo bianco, blu cielo #0284C7, testo #0F172A, carattere "Inter", la chat di anteprima sempre visibile a destra. Nessuna immagine generica di stock.
Tutto deve funzionare perfettamente da telefono. Tutti i testi in italiano, chiari e senza parole tecniche.
2. Database, account e sicurezza
Collega il progetto a Supabase e attiva la registrazione con email e password.
Crea queste tabelle:
- "assistenti": nome, colori, messaggio di benvenuto, collegati all'utente
- "documenti": pezzi di testo dei contenuti caricati, con il loro embedding per la ricerca per significato
- "conversazioni": messaggi delle chat, con i contatti lasciati dai visitatori
Regole di sicurezza obbligatorie:
- ogni azienda vede solo i suoi assistenti, documenti e conversazioni
- la chat pubblica non può leggere i documenti di altre aziende
- i visitatori non vedono le conversazioni degli altri
Usa esattamente il codice SQL che trovi nei "Dettagli tecnici" di questa scheda: eseguilo nel SQL Editor di Supabase prima di continuare, poi collega le pagine alle tabelle.
3. Caricamento dei contenuti e ricerca
Nella pagina dei contenuti l'azienda incolla il link del sito o carica PDF e domande frequenti. Una Edge Function estrae il testo, lo divide in pezzi da circa 800 caratteri, calcola per ognuno l'embedding con un servizio di embedding e lo salva nella tabella "documenti" con pgvector (codice nei Dettagli tecnici).
Quando un visitatore scrive nella chat, la Edge Function cerca i 5 pezzi più vicini per significato alla domanda e li passa a Claude con l'istruzione di rispondere solo con quelle informazioni. Se non trova la risposta, l'assistente lo dice e chiede nome e telefono per far richiamare il cliente.
4. La chat sul sito e il pannello
Crea il codice da incollare nel sito dell'azienda: una bolla in basso a destra che apre la chat, con il nome, i colori e il messaggio di benvenuto scelti.
Nel pannello mostra tutte le conversazioni, i contatti raccolti e l'elenco delle "domande senza risposta", con il pulsante per aggiungere subito l'informazione mancante. Statistiche: conversazioni del mese, percentuale di domande risolte, contatti raccolti.
5. Pagamenti con Stripe
Aggiungi un abbonamento a 29 € al mese. Gratis l'utente ha: 100 messaggi al mese e 10 pagine di contenuti. Con il piano Pro sblocca: messaggi illimitati, contenuti illimitati, nessun marchio nella chat e contatti esportabili.
A pagamento riuscito il webhook porta l'utente al piano Pro; se l'abbonamento viene disdetto o non rinnovato lo riporta al piano gratuito.
Per la sessione di pagamento e il webhook segui la guida "Pagamenti con Stripe" di Fattibile.
6. Controlli specifici di questo progetto
Oltre ai controlli della guida "Controllo finale", verifica in particolare:
1. Inventare: fai 10 domande a cui i documenti non rispondono: l'assistente deve dire che non lo sa, mai inventare prezzi, orari o promesse.
Correggi quello che non va e scrivimi cosa hai cambiato.
Dettagli tecnici
Ricerca per significato con pgvector
La tabella dei documenti con gli embedding e la funzione che trova i pezzi più simili alla domanda. La dimensione 1024 va adattata al servizio di embedding scelto.
create extension if not exists vector;
create table documenti (
id bigint generated always as identity primary key,
assistente_id uuid not null,
utente_id uuid not null references auth.users(id) on delete cascade,
contenuto text not null,
fonte text not null, -- es. URL o nome del PDF
embedding vector(1024) not null
);
create index on documenti using hnsw (embedding vector_cosine_ops);
alter table documenti enable row level security;
create policy "le mie righe" on documenti
for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);
-- I 5 pezzi più vicini alla domanda, solo dell'assistente indicato
create function cerca_documenti(assistente uuid, domanda vector(1024), quanti int default 5)
returns table (contenuto text, fonte text, somiglianza float)
language sql stable security definer set search_path = public as $
select contenuto, fonte, 1 - (embedding <=> domanda) as somiglianza
from documenti
where assistente_id = assistente
order by embedding <=> domanda
limit quanti;
$;
revoke execute on function cerca_documenti(uuid, vector, int) from public, anon, authenticated;
grant execute on function cerca_documenti(uuid, vector, int) to service_role;Istruzioni per l'AI: chat
La Edge Function della chat. Prima di chiamarla, il server mette nella "richiesta" la domanda del visitatore insieme ai 5 pezzi di documenti trovati con cerca_documenti. Nella versione pubblica sul sito dell'azienda, al posto dell'utente collegato si controlla il limite di messaggi del piano. Il resto della funzione (accesso, crediti, rimborso se l'AI rifiuta) è uguale per tutti i progetti: è nella guida "Chiamare l'AI dal server".
Sei l'assistente di un'azienda e rispondi ai clienti sul suo sito, in italiano, in modo cortese e breve. Usa SOLO le informazioni nei documenti forniti nella richiesta. Se la risposta non c'è, dillo chiaramente e proponi di lasciare nome e telefono per essere richiamati. Non inventare mai prezzi, orari, disponibilità o promesse.
Pezzi comuni a tutti i progetti
- Pagamenti con Stripe
- Profili, piano e crediti
- Chiamare l'AI dal server
- Controllo finale prima di pubblicare
Glossario
- Embedding
- Un testo trasformato in numeri, che permette di cercare per significato e non solo per parole uguali.
- pgvector
- L'estensione di Postgres che salva gli embedding e trova i testi più simili per significato.