Liigu põhisisu juurde
Reacti vestlusroboti SDK

Looge oma Reacti vestlusroboti liides

Ühenda Reacti komponendid ChattyBoxiga paketi @openstaticfish/chattybox abil. Tiim juhib renderdust ja olekut, hallatud taristu tegeleb allikapõhiste vastuste, viidete ja vestluste rühmitamisega.

Roomab avaldatud dokumentide lehtedelAllikale viidatud vastusedManustatakse ühe skriptigaDokumentide migreerimine pole vajalikKrediitkaarti pole vajaTeie sisu jääb teile
Küsi ChattyBoxilt
x
Kust peaksin alustama, kui vajan sellelt saidilt usaldusväärset vastust?
Alusta avaliku veebisaidi URL-i lisamisest ChattyBoxi. See hangib indekseeritud sisu vastuste suunamiseks ning võib näidata külastajatele kontrollitavaid allikalinke. Testi vastuseid ja varuvastuseid enne avaldamist.
iAllikad3^
Reacti platvorm juhend
chattybox.ai
Analüütika
chattybox.ai
Avaleht
chattybox.ai
Esita küsimus...
Toetab ChattyBox
Ehitatud Reacti tootetiimid jaoks

Käivitage allikaviidetega vestlusbot ilma saidi tehnilist pinu ümber ehitamata

ChattyBox roomab teie olemasolevat veebisaiti, dokumentatsiooni, abikeskust, CMS-i või teadmistebaasi ning manustab seejärel vestlusroboti, mis vastab teie enda avaldatud sisu, mitte mudeli üldise mälu põhjal.

Looge kohandatud sõnumi-, viite-, laadimis-, varuvastuse- ja veakomponendid.
Hoidke vestluse ID-sid külastajapõhises Reacti olekus jätkuküsimuste jaoks.
Kasuta avalikke brauseri API-võtmeid koos valikuliste täpsete päritolupiirangutega lisakaitseks.
Vältige oma roomaja, vektorandmebaasi, teabeotsinguteenuse või vastuste loomise konveieri haldamist.
1Töövoo samm

Paigaldage JavaScripti SDK oma Reacti rakendusse.

2Töövoo samm

Looge üks Chattyboxi klient väljaspool komponendi renderdusteed.

3Töövoo samm

Saatke sõnumid sündmusetöötlejast ja värskendage vastusega kasutajaliidese olekut.

4Töövoo samm

Kuvage allikalingid ja käsitlege struktureeritud ChattyboxErrori tõrkeid.

Kolmeastmeline käivitamine

Kleepige oma Reacti platvorm URL, testige viidatud vastuseid ja installige seejärel vidin.

Looge Reacti vestlusrobot
Reacti integratsioon

Sobitage allikapõhine vestlus oma komponendisüsteemi

Kasutage oma rakenduse olemasolevaid oleku-, ligipääsetavuse, kujunduse ja disainisüsteemi mustreid, selle asemel et kohanduda jäiga vidinakestaga.

Otsuste tee

Kasutage neid kontrollpunkte, et otsustada, kas ChattyBox peaks asuma teie dokumentide platvormi kõrval, asendama eraldi assistendi või jääma testimiseks isoleerituks.

01

Komponentide omandiõigus

Koostage sõnumid, viitekaardid, viibad, tühjad olekud ja juhtnupud oma Reacti komponentidest.

02

Olek teie tingimustel

Kasutage kohalikku olekut või olemasolevat olekukihti, hoides vestlused külastajate vahel eraldi.

03

Ligipääsetavad vastused

Juhtige oma rakenduses fookust, reaalajas piirkondi, klaviatuurikäitumist ja veateateid.

04

Hallatud taustsüsteem

Hoidke brauseriintegratsioon väike, samal ajal kui ChattyBox haldab sisu indekseerimist, teabeotsingut ja viidetega vastuseid.

Paigaldustee

Ühendage Reacti komponent ChattyBoxiga

Looge klient üks kord, kutsuge seda sündmusetöötlejast ja hoidke iga külastaja vestluse ID-d komponendi või rakenduse olekus.

  1. 1Lisage @openstaticfish/chattybox Reacti rakendusse.
  2. 2Lähtestage klient Vite'i või raamistiku pakutud avalike keskkonnamuutujatega.
  3. 3Salvestage tagastatud sõnum, allikad ja vestluse ID külastajapõhises olekus.
Looge Reacti vestlusrobot
Chat.tsx
tsx
import { useState, type FormEvent } from 'react';
import { Chattybox, ChattyboxError, type ChatResponse } from '@openstaticfish/chattybox';

// Vite browser example. Other frameworks use different public environment APIs.
const chattybox = new Chattybox({
  apiKey: import.meta.env.VITE_CHATTYBOX_API_KEY,
  baseUrl: import.meta.env.VITE_CHATTYBOX_API_URL,
});

export function Chat() {
  const [question, setQuestion] = useState('');
  const [answer, setAnswer] = useState<ChatResponse | null>(null);
  const [pending, setPending] = useState(false);
  const [error, setError] = useState('');

  async function ask(event: FormEvent<HTMLFormElement>) {
    event.preventDefault();
    const message = question.trim();
    if (pending || !message || message.length > 2000) return;
    setPending(true);
    setError('');
    try {
      setAnswer(await chattybox.sendMessage({
        message,
        // Groups stored messages; previous turns are not sent to the model.
        conversationId: answer?.conversationId,
      }));
      setQuestion('');
    } catch (failure) {
      setError(failure instanceof ChattyboxError
        ? failure.status + ': ' + failure.message
        : 'Chat could not be completed.');
    } finally {
      setPending(false);
    }
  }

  const sources = answer?.sources.filter((source) => {
    try { return ['https:', 'http:'].includes(new URL(source).protocol); }
    catch { return false; }
  }) ?? [];

  return (
    <section aria-label="Chat">
      <form onSubmit={ask}>
        <label>Question
          <input value={question} maxLength={2000} disabled={pending}
            onChange={(event) => setQuestion(event.target.value)} />
        </label>
        <button type="submit" disabled={pending || !question.trim()}>
          {pending ? 'Sending...' : 'Send'}
        </button>
      </form>
      {error && <p role="alert">{error}</p>}
      <div aria-live="polite" aria-busy={pending}>
        <p style={{ whiteSpace: 'pre-wrap' }}>{answer?.message}</p>
        {sources.length > 0 && <ul aria-label="Sources">
          {sources.map((source, index) => <li key={index}>
            <a href={source} target="_blank" rel="noopener noreferrer">{source}</a>
          </li>)}
        </ul>}
      </div>
    </section>
  );
}

// Render <Chat /> in your app. This shows the latest answer, not a saved transcript.
// No automatic retries: see the SDK retry-safety guide before adding retries.
KKK

Levinud küsimused

1

Kas saan ChattyBoxiga luua kohandatud Reacti vestlusroboti?

Jah. JavaScripti SDK tagastab sõnumid, vestluse ID-d ja allika-URL-id, et teie Reacti rakendus saaks kuvada täiesti kohandatud liidese.

2

Kas ChattyBox pakub Reacti komponenti?

Reacti komponente ega hooke ei ekspordita. Kasuta kasutajaliideseta meetodeid oma komponentidega või kutsu mountWidget() püsivast brauseripaigutusest hallatud hõljuva vidina laadimiseks.

3

Kuhu peaksin Reactis Chattyboxi kliendi looma?

Looge see üks kord väljaspool komponendi renderdusteed või stabiilses rakendusepakkujas, mitte iga renderdusega uuesti.

4

Kas saan Reactis kasutada hoopis majutatud vidinat?

Jah. Kasutage majutatud vidina paigaldusjuhendit, kui soovite kohandatud Reacti kuvamise asemel hooldatud liidest.

Alusta tasuta

Krediitkaarti pole vaja. Teie sisu ei kasutata mudelite treenimiseks.

Looge tasuta vestlusbot

Tasuta pakett. Kaarti pole vaja.

Kasutame valikulisi analüütika- ja sildihaldustööriistu, et mõista veebisaidi kasutamist. Valige, kas lubate järgmised tööriistad: Ahrefs Web Analytics, PostHog ja Google Tag Manager. Analüütika väljalülitamisel laaditakse see leht uuesti, et muudatus jõustuks korrektselt. Veebisaidi põhifunktsioonid ja veaseire ei sõltu sellest valikust. Lugege meie privaatsuspoliitikat.