Siirry pääsisältöön
React-chatbot-SDK

Rakenna oma React-chat-käyttöliittymäsi

Yhdistä React-komponentit ChattyBoxiin paketilla @openstaticfish/chattybox. Tiimisi hallitsee renderöintiä ja tilaa, kun ylläpidetty infrastruktuuri hoitaa lähdepohjaiset vastaukset, viitteet ja keskustelujen ryhmittelyn.

Indeksoi julkaistut asiakirjasivutLähdeviittauksiaUpota yhdellä skriptilläAsiakirjojen siirtoa ei vaaditaLuottokorttia ei vaaditaSisältösi pysyy sinun
Kysy ChattyBoxilta
x
Mistä minun kannattaa aloittaa, jos tarvitsen luotettavan vastauksen tältä sivustolta?
Aloita lisäämällä julkisen sivustosi URL ChattyBoxiin. Se hakee indeksoitua sisältöä vastausten tueksi ja voi näyttää lähdesivulinkkejä kävijöiden tarkistettavaksi. Testaa vastaukset ja varavastaukset ennen julkaisua.
iLähteet3^
React-alusta opas
chattybox.ai
Analytiikka
chattybox.ai
Etusivu
chattybox.ai
Esitä kysymys...
Palvelun tarjoaa ChattyBox
Rakennettu mallille React-tuotetiimit

Lanseeraa lähdeviitteillä varustettu chatbot rakentamatta sivustosi pinoa uudelleen

ChattyBox indeksoi nykyisen verkkosivustosi, dokumentaatiosi, ohjekeskuksesi, CMS:si tai tietämyskantasi ja upottaa sitten chatbotin, joka vastaa omasta julkaistusta sisällöstäsi eikä mallin yleisen muistin perusteella.

Luo mukautetut komponentit viesteille, lähdeviitteille, lataukselle, varavastauksille ja virheille.
Säilytä keskustelutunnukset kävijäkohtaisessa React-tilassa jatkokysymyksiä varten.
Käytä julkisia selain-API-avaimia ja halutessasi tarkkoja alkuperärajoituksia lisäsuojana.
Vältä oman indeksointirobotin, vektoritietokannan, hakupalvelun tai vastausten luontiputken ylläpitoa.
1Työnkulun vaihe

Asenna JavaScript SDK React-sovellukseesi.

2Työnkulun vaihe

Luo yksi Chattybox-asiakas komponentin renderöintipolun ulkopuolella.

3Työnkulun vaihe

Lähetä viestit tapahtumankäsittelijästä ja päivitä käyttöliittymän tila vastauksella.

4Työnkulun vaihe

Esitä lähdelinkit ja käsittele rakenteiset ChattyboxError-virheet.

Kolmivaiheinen käynnistys

Liitä React-alusta URL-osoite, testaa lainatut vastaukset ja asenna sitten widget.

Rakenna React-chatbot
React-integraatio

Sovita lähteisiin perustuva chat nykyiseen komponenttijärjestelmääsi

Käytä sovelluksesi nykyisiä tila-, saavutettavuus-, tyyli- ja design system -käytäntöjä kiinteään widget-kuoreen mukautumisen sijaan.

Päätöksen polku

Käytä näitä tarkistuspisteitä päättääksesi, pitäisikö ChattyBox istua dokumenttialustan viereen, vaihtaa erillinen avustaja vai pysyä erillään testausta varten.

01

Komponenttien hallinta

Koosta viestit, lähdekortit, kehotteet, tyhjät tilat ja ohjaimet omista React-komponenteistasi.

02

Tila omilla ehdoillasi

Käytä paikallista tilaa tai nykyistä tilakerrostasi ja pidä keskustelut erillään kävijöiden välillä.

03

Saavutettavat vastaukset

Hallitse kohdistusta, live-alueita, näppäimistökäyttöä ja virheilmoituksia sovelluksessasi.

04

Hallittu taustajärjestelmä

Pidä selainintegraatio pienenä, kun ChattyBox hoitaa sisällön indeksoinnin, tiedonhaun ja lähdeviitteelliset vastaukset.

Asennuspolku

Yhdistä React-komponentti ChattyBoxiin

Luo asiakas kerran, kutsu sitä tapahtumankäsittelijästä ja säilytä jokaisen kävijän keskustelutunnus komponentin tai sovelluksen tilassa.

  1. 1Lisää @openstaticfish/chattybox React-sovellukseen.
  2. 2Alusta asiakas Viten tai sovelluskehyksen tarjoamilla julkisilla ympäristömuuttujilla.
  3. 3Tallenna palautettu viesti, lähteet ja keskustelutunnus kävijäkohtaiseen tilaan.
Rakenna React-chatbot
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.
UKK

Yleisiä kysymyksiä

1

Voinko rakentaa mukautetun React-chatbotin ChattyBoxilla?

Kyllä. JavaScript SDK palauttaa viestit, keskustelutunnukset ja lähde-URL-osoitteet, joten React-sovelluksesi voi esittää täysin mukautetun käyttöliittymän.

2

Tarjoaako ChattyBox React-komponentin?

React-komponentteja tai hookeja ei viedä. Käytä käyttöliittymättömiä metodeja omien komponenttien kanssa tai kutsu mountWidget() pysyvästä selainasettelusta ladataksesi ylläpidetyn kelluvan widgetin.

3

Mihin Chattybox-asiakas kannattaa luoda Reactissa?

Luo se kerran komponentin renderöintipolun ulkopuolella tai vakaassa sovellusproviderissa sen sijaan, että loisit uuden asiakkaan jokaisella renderöinnillä.

4

Voinko käyttää Reactissa sen sijaan hostattua widgetiä?

Kyllä. Käytä hostatun widgetin asennusopasta, kun haluat ylläpidetyn käyttöliittymän mukautetun React-esityksen sijaan.

Aloita ilmaiseksi

Luottokorttia ei vaadita. Sisältöäsi ei käytetä mallien kouluttamiseen.

Luo ilmainen chatbot

Ilmainen taso. Ei korttia.

Käytämme valinnaisia analytiikka- ja tagienhallintatyökaluja ymmärtääksemme sivuston käyttöä. Valitse, sallitko seuraavat työkalut: Ahrefs Web Analytics, PostHog ja Google Tag Manager. Analytiikan poistaminen käytöstä lataa tämän sivun uudelleen, jotta muutos tulee varmasti voimaan. Sivuston välttämättömät toiminnot ja virheiden seuranta eivät kuulu tämän valinnan piiriin. Lue tietosuojakäytäntömme.