Kā varam palīdzēt?

Īsi pastāstiet, par ko ir jautājums - mēs atbildēsim e-pastā.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Uz sākumlapu

Smart Answer: risposta IA nella ricerca del Suo sito web

Come incorporare Smart Answer: lo script suche.js, il box nel markup, l’interfaccia HTTP pubblica per le pagine di ricerca generate dal server, il flusso di risposta tramite Server-Sent Events, l’aspetto tramite variabili CSS e il passaggio alla chat.

Smart Answer mostra una breve risposta alla domanda del visitatore sopra o sotto i risultati della ricerca del Suo sito web: in streaming, con fonti dalla Sua knowledge base e un campo per la domanda successiva. Smart Answer è un servizio separato; utilizza la stessa knowledge base dell’assistente della Sua chat. Si attiva e se ne configura l’aspetto nell’account in Progetto → Smart Answer per la ricerca nel sito.

Incorporamento con suche.js

Se il caricatore della chat è già presente nella pagina, basta una riga:

<script src="https://cdn.reactive.chat/suche.js" async></script>

Senza il widget di chat, specifichi la chiave del sito:

<script src="https://cdn.reactive.chat/suche.js" data-site-key="SITE_KEY" async></script>

Lo script si collega ai campi di ricerca della Sua pagina (definiti nell’account tramite un selettore CSS), attende l’invio o una pausa nella digitazione e mostra la risposta in un box nella posizione configurata (prima, dopo o all’interno di un elemento di destinazione). Per impostazione predefinita risponde solo agli inserimenti che sembrano domande.

Attributi del tag script:

Lo script non imposta cookie e memorizza dati solo in sessionStorage. Per la CSP richiede script-src https://cdn.reactive.chat e connect-src https://ws.reactive.chat (Sicurezza e CSP).

Passaggio alla chat

Se il visitatore pone una domanda successiva nel box, a seconda dell’impostazione Domanda successiva, la conversazione prosegue nel widget di chat (ReactiveChat('continueConversation', id, text) o ReactiveChat('startConversation', text)) oppure riceve risposta nello stesso box. Senza il widget di chat sulla pagina, la domanda successiva rimane sempre nel box.

Aspetto

Il box (.rc-ai) dispone di un proprio CSS ed è protetto dai reset della Sua pagina. Può personalizzarlo tramite variabili con la specificità più bassa:

.rc-ai {
  --rc-ai-akzent: #0a7cff;
  --rc-ai-hg: var(--karte, #fff);
  --rc-ai-text: #1d1d1f;
  --rc-ai-rand: #e3e3e8;
  --rc-ai-radius: 10px;
  --rc-ai-schrift: inherit;
  --rc-ai-abstand: 20px;
  --rc-ai-schriftgroesse: 16px;
  --rc-ai-zeilenhoehe: 1.6;
}

Può modificare singole parti con .rc-ai .rc-ai__teil { … } nel campo CSS personalizzato dell’account, ad esempio .rc-ai .rc-ai__hinweis { display: none; }. Lo strato protettivo non protegge dalle regole della Sua pagina con #id o !important.

Interfaccia HTTP

Per le pagine di ricerca generate dal server o le Sue interfacce è disponibile un’interfaccia pubblica senza autenticazione e senza cookie all’indirizzo https://ws.reactive.chat/api/suche/SITE_KEY.

Comune a tutti gli endpoint:

GET /api/suche/SITE_KEY?locale=de – configurazione, CSS e modello vuoto del box (Cache-Control: public, max-age=60):

POST /api/suche/SITE_KEY – HTML completo del box per una domanda, corpo massimo 4 KB:

curl -s -X POST "https://ws.reactive.chat/api/suche/SITE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"How long does shipping take?","locale":"en"}'

POST /api/suche/SITE_KEY/antwort – la risposta stessa come flusso Server-Sent Events, corpo massimo 8 KB:

{"q":"How long does shipping take?","locale":"en",
 "visitor_id":"v_…",
 "ctx":{"url":"https://shop.example/search","title":"Search"},
 "folge":false,
 "vorher":[{"q":"…","a":"…"}]}

Risposta text/event-stream:

event: status
data: {"stufe":"denkt"}

event: text
data: {"text":"Shipping usually takes"}

event: fertig
data: {"text":"Shipping usually takes 2–3 working days.","quellen":[{"titel":"Shipping","url":"https://shop.example/shipping"}],"fortsetzung":{"art":"faden","id":"01J…"}}

Dopo fertig o fehler il flusso termina. Anche gli errori prima dell’avvio arrivano come flusso con un solo fehler (HTTP 404, 429, 400, 413, 503 o 200). Se non arriva testo entro 45 secondi o il flusso non termina entro 90 secondi, segue fehler zeit. Se chiude la connessione, la risposta viene interrotta. Un proxy lungo il percorso deve inoltrare il flusso senza buffering.

// read the stream in the browser (EventSource cannot POST)
const r = await fetch('https://ws.reactive.chat/api/suche/SITE_KEY/antwort', {
  method: 'POST', headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ q: frage, locale: 'en' }), credentials: 'omit'
});
const leser = r.body.getReader(); const dec = new TextDecoder(); let puffer = '';
for (;;) {
  const { value, done } = await leser.read(); if (done) break;
  puffer += dec.decode(value, { stream: true });
  let i; while ((i = puffer.indexOf('\n\n')) >= 0) {
    const block = puffer.slice(0, i); puffer = puffer.slice(i + 2);
    const ev = /^event: (.*)$/m.exec(block), da = /^data: (.*)$/m.exec(block);
    if (ev && da) zeige(ev[1], JSON.parse(da[1]));
  }
}

Prosegua: Integrazione della protezione dei dati

Pēdējoreiz atjaunināts: