Neidio i'r prif gynnwys
SDK Sgwrsfot React

Adeiladwch eich rhyngwyneb sgwrsio React eich hun

Cysylltwch gydrannau React â ChattyBox drwy @openstaticfish/chattybox. Eich tîm sy’n rheoli rendro a chyflwr, tra bo seilwaith a reolir yn trin atebion sy’n seiliedig ar ffynonellau, dyfyniadau a grwpio sgyrsiau.

Crawls tudalennau dogfennau cyhoeddedigAtebion ffynhonnellMewnosod gydag un sgriptNid oes angen mudo dogfennauNid oes angen cerdyn credydMae eich cynnwys yn parhau'n eiddo i chi
Gofynnwch i ChattyBox
x
Ble ddylwn i ddechrau os oes angen ateb dibynadwy arnaf o'r wefan hon?
Dechreuwch drwy ychwanegu URL eich gwefan gyhoeddus at ChattyBox. Mae’n adalw cynnwys wedi’i fynegeio i arwain atebion a gall ddangos dolenni i dudalennau ffynhonnell i ymwelwyr eu harchwilio. Profwch atebion ac ymatebion wrth gefn cyn lansio.
iFfynonellau3^
Platfform React canllaw
chattybox.ai
Dadansoddeg
chattybox.ai
Cartref
chattybox.ai
Gofynnwch gwestiwn...
Wedi'i bweru gan ChattyBox
Adeiladwyd ar gyfer Timau cynnyrch React

Lansiwch chatbot â dyfyniadau ffynhonnell heb ailadeiladu pentwr eich gwefan

Mae ChattyBox yn cropian eich gwefan bresennol, dogfennaeth, canolfan gymorth, CMS neu sylfaen wybodaeth, ac yna'n mewnosod chatbot sy'n ateb o'ch cynnwys cyhoeddedig eich hun yn hytrach na chof generig model.

Crëwch gydrannau personol ar gyfer negeseuon, dyfyniadau, llwytho, atebion wrth gefn a gwallau.
Cadwch IDau sgyrsiau mewn cyflwr React sy'n benodol i'r ymwelydd ar gyfer cwestiynau dilynol.
Defnyddiwch allweddi API porwr cyhoeddus, gyda chyfyngiadau tarddiad union dewisol ar gyfer diogelwch ychwanegol.
Peidiwch â chynnal eich cropianwr, storfa fectorau, gwasanaeth adalw na phiblinell gynhyrchu eich hun.
1Cam llif gwaith

Gosodwch yr SDK JavaScript yn eich cymhwysiad React.

2Cam llif gwaith

Crëwch un cleient Chattybox y tu allan i lwybr rendro'r gydran.

3Cam llif gwaith

Anfonwch negeseuon o drinnydd digwyddiad a diweddarwch gyflwr y rhyngwyneb gyda'r ymateb.

4Cam llif gwaith

Cyflwynwch ddolenni ffynhonnell a thriniwch fethiannau strwythuredig ChattyboxError.

Lansiad tri cham

Gludwch eich URL Platfform React, profwch yr atebion a ddyfynnir, yna gosodwch y teclyn.

Adeiladwch sgwrsfot React
Integreiddio React

Gosodwch sgwrs wedi'i seilio yn eich system gydrannau bresennol

Defnyddiwch batrymau cyflwr, hygyrchedd, steilio a system ddylunio eich cymhwysiad yn lle addasu i gragen teclyn sefydlog.

Llwybr penderfyniad

Defnyddiwch y pwyntiau gwirio hyn i benderfynu a ddylai ChattyBox eistedd wrth ymyl eich platfform docs, amnewid cynorthwyydd ar wahân, neu aros yn ynysig ar gyfer profi.

01

Rheolaeth dros gydrannau

Cyfansoddwch negeseuon, cardiau dyfyniadau, anogwyr, cyflyrau gwag a rheolyddion o'ch cydrannau React eich hun.

02

Cyflwr ar eich telerau chi

Defnyddiwch gyflwr lleol neu'ch haen gyflwr bresennol gan gadw sgyrsiau ar wahân rhwng ymwelwyr.

03

Ymatebion hygyrch

Rheolwch ffocws, rhanbarthau byw, ymddygiad bysellfwrdd a chyhoeddi gwallau yn eich cymhwysiad.

04

Ôl-wyneb a reolir

Cadwch integreiddiad y porwr yn fach tra bo ChattyBox yn trin mynegeio cynnwys, adalw ac atebion â dyfyniadau.

Gosod llwybr

Cysylltwch gydran React â ChattyBox

Crëwch y cleient unwaith, galwch ef o drinnydd digwyddiad a chadwch ID sgwrs pob ymwelydd yng nghyflwr y gydran neu'r cymhwysiad.

  1. 1Ychwanegwch @openstaticfish/chattybox at y cymhwysiad React.
  2. 2Cychwynnwch y cleient gyda newidynnau amgylchedd cyhoeddus Vite neu'r fframwaith.
  3. 3Cadwch y neges, y ffynonellau ac ID y sgwrs a ddychwelir mewn cyflwr sy'n benodol i'r ymwelydd.
Adeiladwch sgwrsfot React
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.
Cwestiynau cyffredin

Cwestiynau cyffredin

1

A allaf adeiladu sgwrsfot React personol gyda ChattyBox?

Gallwch. Mae'r SDK JavaScript yn dychwelyd negeseuon, IDau sgyrsiau ac URLau ffynhonnell fel y gall eich cymhwysiad React gyflwyno rhyngwyneb cwbl bersonol.

2

A yw ChattyBox yn darparu cydran React?

Ni allforir cydran React na bachau. Defnyddiwch y dulliau heb ryngwyneb gyda’ch cydrannau eich hun, neu galwch mountWidget() o gynllun porwr parhaol i lwytho’r teclyn arnofiol a gynhelir.

3

Ble dylwn greu'r cleient Chattybox yn React?

Crëwch ef unwaith y tu allan i lwybr rendro'r gydran neu mewn darparwr cymhwysiad sefydlog, yn hytrach na chreu cleient newydd ar bob rendrad.

4

A allaf ddefnyddio'r teclyn lletyol yn React yn lle hynny?

Gallwch. Defnyddiwch y canllaw gosod teclyn lletyol pan fyddwch eisiau rhyngwyneb a gynhelir yn hytrach na chyflwyniad React personol.

Dechreuwch am ddim

Nid oes angen cerdyn credyd. Ni ddefnyddir eich cynnwys i hyfforddi modelau.

Creu chatbot am ddim

Haen am ddim. Dim angen cerdyn.

Rydym yn defnyddio offer dadansoddeg a rheoli tagiau dewisol i ddeall sut mae'r wefan yn cael ei defnyddio. Dewiswch a ydych am ganiatáu Ahrefs Web Analytics, PostHog a Google Tag Manager. Mae diffodd dadansoddeg yn ail-lwytho'r dudalen hon fel bod y newid yn cael ei weithredu'n briodol. Nid yw swyddogaethau hanfodol y wefan na monitro gwallau yn cael eu rheoli gan y dewis hwn. Darllenwch ein polisi preifatrwydd.