Kaip galime padėti?

Trumpai papasakokite, apie ką klausiate - atsakysime el. paštu.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Į pradžios puslapį

Smart Answer: odpověď AI ve vyhledávání na vašem webu

Jak vložit Smart Answer – skript suche.js, box ve značkování, veřejné HTTP rozhraní pro stránky vyhledávání vykreslované na serveru a stream odpovědi přes Server-Sent Events, vzhled pomocí proměnných CSS a předání do chatu.

Smart Answer zobrazuje krátkou odpověď na otázku návštěvníka nad výsledky vyhledávání na vašem webu nebo pod nimi – průběžně, se zdroji z vaší znalostní báze a polem pro další otázku. Smart Answer je samostatná služba; používá stejnou znalostní bázi jako váš chatovací asistent. Zapíná se a upravuje v účtu v části Projekt → Smart Answer pro vyhledávání na webu.

Vložení pomocí suche.js

Pokud už na stránce máte načítací skript chatu, stačí jeden řádek:

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

Bez chatovacího widgetu předejte klíč webu:

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

Skript se připojí k vyhledávacím polím vaší stránky (která to budou, určíte v účtu selektorem CSS), počká na odeslání nebo pauzu v psaní a zobrazí odpověď v boxu na nastaveném místě (před cílovým prvkem, za ním nebo uvnitř něj). Ve výchozím nastavení odpovídá jen na zadání, která vypadají jako otázka.

Atributy značky script:

Skript nenastavuje cookies a ukládá data pouze do sessionStorage. Pro CSP potřebuje script-src https://cdn.reactive.chat a connect-src https://ws.reactive.chat (Zabezpečení a CSP).

Předání do chatu

Pokud návštěvník položí v boxu doplňující otázku, konverzace podle nastavení Doplňující otázka pokračuje v chatovacím widgetu (ReactiveChat('continueConversation', id, text) nebo ReactiveChat('startConversation', text)), nebo se na otázku odpoví ve stejném boxu. Bez chatovacího widgetu na stránce zůstává doplňující otázka vždy v boxu.

Úprava vzhledu

Box (.rc-ai) má vlastní CSS a je chráněn proti resetovacím stylům vaší stránky. Můžete ho upravit pomocí proměnných s nejnižší specificitou:

.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;
}

Jednotlivé části změníte pomocí .rc-ai .rc-ai__teil { … } v poli Vlastní CSS v účtu, např. .rc-ai .rc-ai__hinweis { display: none; }. Ochranná vrstva nechrání proti pravidlům vaší stránky s #id nebo !important.

HTTP rozhraní

Pro stránky vyhledávání vykreslované na serveru nebo vaše vlastní rozhraní je k dispozici veřejné rozhraní bez autentizace a bez cookies na adrese https://ws.reactive.chat/api/suche/SITE_KEY.

Společné pro všechny endpointy:

GET /api/suche/SITE_KEY?locale=de – konfigurace, CSS a prázdná šablona boxu (Cache-Control: public, max-age=60):

POST /api/suche/SITE_KEY – hotové HTML boxu pro otázku, tělo nejvýše 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 – samotná odpověď jako stream Server-Sent Events, tělo nejvýše 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":"…"}]}

Odpověď 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…"}}

Po fertig nebo fehler stream končí. Chyby před zahájením přicházejí také jako stream s právě jednou událostí fehler (HTTP 404, 429, 400, 413, 503 nebo 200). Pokud po 45 sekundách nepřijde text nebo po 90 sekundách nenastane konec, následuje fehler zeit. Zavřením spojení se odpověď přeruší. Proxy na cestě musí předávat stream bez bufferování.

// 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]));
  }
}

Dále: Integrace ochrany soukromí

Paskutinį kartą atnaujinta: