V tomto návode sa naučíš, ako vytvoriť základné užívateľské rozhranie (UI) s Reactom, ktoré ti umožní komunikovať s OpenAI API. Namiesto chatovania cez URL v prehliadači vytvoríme jednoduchú aplikáciu, kde bude môcť používateľ zadať text a získať príslušnú odpoveď od IA. Zaminieme sa o kód pre frontend i logiku spracovania vstupov a komunikáciu s OpenAI API.

Základné poznatky

  • Porozumieš, ako v Reacte vytvoriť poľo na vstupe a tlačidlo pre odosielanie žiadostí od používateľov.
  • Taktiež sa naučíš, ako poslať asynchrónne Fetch žiadosti na OpenAI API a uložiť a zobraziť získané odpovede vo svojom React stave.

Krok za krokom sprievodca

Začni tým, že vytvoríš novú aplikáciu React alebo sa presunieš do svojej existujúcej aplikácie. V súbore index.jsx nastavíš základné komponenty pre interakciu.

Základné užívateľské rozhranie v React s OpenAI API

Najprv pridaj pole na vstupe, do ktorého používateľ môže zadať svoje správy. To umožní používateľom interagovať s IA. Takže pridaj pole na vstup a tlačidlo pre odoslanie požiadavky.

Základné UI v React s API OpenAI

Ak používateľ zadá text do poľa na vstupe a klikne na tlačidlo Odoslať, musíš byť schopný tento vstup spracovať. Môžeš použiť useState-Hook na správu súčasnej hodnoty vstupu a odpovede od API.

Základné UI v React s OpenAI API

Teraz musíš spracovať udalosť kliknutia na tlačidlo. Keď sa tlačidlo stlačí, chceš vytvoriť asynchrónnu funkciu, ktorá odosle Fetch žiadosť na server. Táto funkcia je deklarovaná s async kľúčovým slovom, čo ti umožní použiť await na čakanie na odpoveď od servera.

Základné užívateľské rozhranie v React s OpenAI API

Ďalším krokom je volanie Fetch funkcie na komunikáciu s API. URL je zadaná vo formáte API/Chat?MSG={userInput}, pričom {userInput} je nahradený používateľským vstupom. Môžeš najskôr použiť pevný reťazec, aby si sa uistil, že žiadosť na API funguje správne.

Základné UI v React s OpenAI API

Po odoslaní žiadosti získaš odpoveď, ktorú musíš spracovať. Najskôr odpoveď prevedieme do formátu JSON, aby sme s ňou mohli ľahšie pracovať. Na to zavoláme response.json().

Uistite sa, že môžete skontrolovať výstup v konzole, aby ste sa uistili, že všetko funguje podľa očakávania. Po skontrolovaní odpovede chcete odpoveď uložiť do stavu, ktorý ste deklarovali vyššie.

Základné užívateľské rozhranie v React s OpenAI API

Pre ďalšie zlepšenie užívateľského zážitku chcete zabezpečiť, aby vstup používateľa nebol vždy odoslaný s pevnou hodnotou (ako "ahoj"), ale s skutočnou zadanou správou. Na prístup k aktuálnej hodnote poľa na vstupe, keď používateľ klikne na tlačidlo, použi Hook useRef.

Základný UI v Reacte s OpenAI API

Teraz, keď správne zachytávate vstupy používateľov, mali by ste spustiť test svojej aplikácie, aby ste overili, či sa vstupy odosielajú na API a správne sa zobrazujú.

Ak všetko funguje, uvidíte, že odpoveď od IA sa zobrazuje vo vytvorenom DIV. Teraz môžete ďalej upravovať svoje užívateľské rozhranie alebo optimalizovať kód.

Aktuálne ide len o jednoduchú aplikáciu na otázky a odpovede, pretože sa história chatu neukladá. Ak chcete vytvoriť úplnú aplikáciu na chatovanie, je potrebné ukladať históriu chatu samotného a posielať ju na API, aby malo kontext pre odpovede.

Základné používateľské rozhranie v React s OpenAI API

Napriek tomu je pôsobivé, že už dokážeš používať OpenAI API a vytvoriť vlastnú aplikáciu založenú na tejto technológii. V budúcich krokoch môžeš rozšíriť funkcionalitu tak, aby bola možná reálna komunikácia.

Zhrnutie

V tomto návode si sa naučil kroky na vytvorenie základného užívateľského rozhrania v Reacte, ktoré umožňuje komunikáciu s OpenAI API. Od spracovania používateľských vstupov po zobrazenie odpovedí bolo zahrnuté všetko potrebné na vytvorenie funkčnej aplikácie.

Časté otázky

Ako vytvorím vstupné pole v Reacte?Môžeš vytvoriť vstupné pole v Reacte použitím -elementu vo svojej komponente.

Ako mám poslať požiadavku na OpenAI API?Použi funkciu Fetch na poslanie GET alebo POST požiadavky na API s správnou URL a parametrami.

Aký je rozdiel medzi useState a useRef?useState ukladá hodnoty, ktoré spôsobujú re-renderovanie komponenty, zatiaľ čo useRef ukladá hodnoty, ktoré nevyvolávajú re-renderovanie.

Ako môžem uložiť odpovede AI vo svojej aplikácii?Môžeš uložiť odpovede do stavu s useState a potom ich zobraziť vo UI.