Ismerkedés a JavaScript vállalati csevegési mintával a RAG használatával

Ez a cikk bemutatja, hogyan helyezheti üzembe és futtathatja a JavaScript vállalati csevegőalkalmazás-mintáját. Ez a minta egy csevegőalkalmazást implementál a JavaScript, az Azure OpenAI Service és a Retrieveal Augmented Generation (RAG) használatával az Azure AI Searchben, hogy válaszokat kapjon a bérleti tulajdonságokról. A bérlői tulajdonságok csevegőalkalmazása markdown-fájlokból (*.md) származó adatokkal rendelkezik, beleértve az adatvédelmi szabályzatot, a szolgáltatási feltételeket és a támogatást.

  • JavaScript bemutató – fullstack videó
  • JavaScript bemutató – előtér Python háttérbeli videóval

A cikkben található utasításokat követve a következőket fogja követni:

  • Csevegőalkalmazás üzembe helyezése az Azure-ban.
  • Válaszokat kaphat a kölcsönzési tulajdonságok webhelyére vonatkozó információkról.
  • A válaszok viselkedésének módosításához módosítsa a beállításokat.

A cikk befejezése után megkezdheti az új projekt módosítását az egyéni kóddal és adatokkal.

Ez a cikk egy cikkgyűjtemény része, amely bemutatja, hogyan hozhat létre csevegőalkalmazást az Azure OpenAI Service és az Azure AI Search használatával. A gyűjtemény további cikkei a következők:

Architekturális áttekintés

A csevegőalkalmazás egyszerű architektúrája az alábbi ábrán látható:

Az architektúrát ábrázoló ábra az ügyféltől a háttéralkalmazásig.

A csevegési mintaalkalmazás egy Fiktív, Contoso Real Estate nevű vállalat számára készült, és az intelligens csevegési felület lehetővé teszi az ügyfelek számára, hogy támogatási kérdéseket tegyenek fel a termékeik használatával kapcsolatban. A mintaadatok olyan dokumentumokat tartalmaznak, amelyek ismertetik a szolgáltatási feltételeket, az adatvédelmi szabályzatot és a támogatási útmutatót. A dokumentumok az üzembe helyezés során kerülnek az architektúrába

Az alkalmazás több összetevőből áll, többek között a következőkből:

  • Search szolgáltatás: a keresési és lekérési képességeket biztosító háttérszolgáltatás.
  • Indexelő szolgáltatás: az adatokat indexelő és keresési indexeket létrehozó szolgáltatás.
  • Webalkalmazás: az előtérbeli webalkalmazás, amely biztosítja a felhasználói felületet, és vezényli a felhasználó és a háttérszolgáltatások közötti interakciót.

Az Azure-szolgáltatásokat és azok integrációs folyamatát bemutató ábra az előtérbeli alkalmazáshoz, a kereséshez és a dokumentumbetöltéshez.

Költség

Az architektúra legtöbb erőforrása alapszintű vagy használati tarifacsomagot használ. A használati díjszabás a használaton alapul, ami azt jelenti, hogy csak azért kell fizetnie, amit használ. A cikk elvégzéséhez díjat számítunk fel, de minimális lesz. Ha végzett a cikkel, törölheti az erőforrásokat, hogy ne keletkezhessenek díjak.

További információ a költségekről a mintaadattárban.

Előfeltételek

A cikk elvégzéséhez szükséges összes függőséget tartalmazó fejlesztői tárolókörnyezet érhető el. A fejlesztői tárolót a GitHub Codespacesben (böngészőben) vagy helyileg is futtathatja a Visual Studio Code használatával.

A cikk használatához a következő előfeltételekre van szüksége:

  1. Azure-előfizetés – Ingyenes létrehozás
  2. Azure-fiókengedélyek – Az Azure-fióknak Microsoft.Authorization/roleAssignments/write engedélyekkel kell rendelkeznie, például felhasználói hozzáférés Rendszergazda istrator vagy tulajdonos.
  3. Hozzáférés az Azure OpenAI-hoz a kívánt Azure-előfizetésben. Ezen szolgáltatáshoz jelenleg csak alkalmazás útján kapható hozzáférés. Az Azure OpenAI-hoz való hozzáférésre a következő https://aka.ms/oai/accessűrlap kitöltésével jelentkezhet: . Ha probléma merül fel, nyisson meg egy hibát az adattárban, és lépjen velünk kapcsolatba.
  4. GitHub-fiók

Nyílt fejlesztési környezet

Kezdje most a jelen cikk végrehajtásához telepített összes függőséget tartalmazó fejlesztői környezettel.

A GitHub Codespaces egy, a GitHub által felügyelt fejlesztői tárolót futtat a Webes Visual Studio Code-tal felhasználói felületként. A legegyszerűbb fejlesztési környezethez használja a GitHub Codespacest, hogy a megfelelő fejlesztői eszközökkel és függőségekkel rendelkezzen a cikk elvégzéséhez.

Fontos

Minden GitHub-fiók legfeljebb 60 órán át használhatja a Codespace-eket havonta 2 magpéldánysal. További információ: GitHub Codespaces havonta tartalmazza a tárterületet és az alapórákat.

  1. Indítsa el az új GitHub Codespace létrehozásának folyamatát a mainAzure-Samples/azure-search-openai-javascript GitHub-adattár ágán.

  2. Kattintson a jobb gombbal a következő gombra, és válassza a Megnyitás hivatkozást az új ablakokban , hogy egyszerre legyen elérhető a fejlesztési környezet és a dokumentáció is.

  3. A Kódtér létrehozása lapon tekintse át a kódtér konfigurációs beállításait, majd válassza az Új kódtér létrehozása lehetőséget

    Képernyőkép a megerősítést kérő képernyőről egy új kódtér létrehozása előtt.

  4. Várja meg, amíg a kódtér elindul. Ez az indítási folyamat eltarthat néhány percig.

  5. A képernyő alján lévő terminálon jelentkezzen be az Azure-ba az Azure Developer CLI használatával.

    azd auth login
    
  6. Másolja ki a kódot a terminálból, majd illessze be egy böngészőbe. Kövesse az utasításokat az Azure-fiókkal való hitelesítéshez.

  7. A cikkben szereplő fennmaradó feladatok ennek a fejlesztési tárolónak a kontextusában történnek.

Üzembe helyezés és futtatás

A mintaadattár tartalmazza a csevegőalkalmazás Azure-ban való üzembe helyezéséhez szükséges összes kódot és konfigurációs fájlt. Az alábbi lépések végigvezetik a minta Azure-ban való üzembe helyezésének folyamatán.

Csevegőalkalmazás üzembe helyezése az Azure-ban

Fontos

Az ebben a szakaszban létrehozott Azure-erőforrások azonnali költségekkel járnak, elsősorban az Azure AI Search-erőforrásból. Ezek az erőforrások akkor is költségekkel járhatnak, ha a parancsot a teljes végrehajtás előtt megszakítja.

  1. Futtassa a következő Azure Developer CLI-parancsot az Azure-erőforrások kiépítéséhez és a forráskód üzembe helyezéséhez:

    azd up
    
  2. Amikor a rendszer kéri, hogy adjon meg egy környezetnevet, tartsa rövid és kisbetűsként. Például: myenv. Az erőforráscsoport nevének részeként használják.

  3. Amikor a rendszer kéri, válasszon ki egy előfizetést az erőforrások létrehozásához.

  4. Amikor a rendszer első alkalommal kéri egy hely kiválasztását, válasszon ki egy Önhöz közeli helyet. Ezt a helyet használják a legtöbb erőforráshoz, beleértve az üzemeltetést is.

  5. Ha a rendszer az OpenAI-modell helyét kéri, válasszon egy Önhöz közeli helyet. Ha ugyanaz a hely érhető el, mint az első hely, válassza ezt.

  6. Várja meg az alkalmazás üzembe helyezését. Az üzembe helyezés befejezése 5–10 percet is igénybe vehet.

  7. Az alkalmazás sikeres üzembe helyezése után megjelenik egy URL-cím a terminálban.

  8. Válassza ki a címkével ellátott URL-címet Deploying service web a csevegőalkalmazás böngészőben való megnyitásához.

    Képernyőkép a csevegőalkalmazásról a böngészőben, amelyen számos javaslat látható a csevegés bemenetére, valamint a kérdés megadására szolgáló csevegő szövegmező.

A csevegőalkalmazás használata a Markdown-fájlokból származó válaszok lekéréséhez

A csevegőalkalmazás előre be van töltve egy Markdown-fájlkatalógus bérleti adataival. A csevegőalkalmazással kérdéseket tehet fel a bérleti folyamatról. Az alábbi lépések végigvezetik a csevegőalkalmazás használatának folyamatán.

  1. A böngészőben válassza ki vagy írja be a Mi a visszatérítési szabályzat a lap alján található szövegmezőben.

    Képernyőkép a csevegőalkalmazás első válaszáról.

  2. A válaszból válassza a Gondolatfolyamat megjelenítése lehetőséget.

    Képernyőkép a csevegőalkalmazás első válaszáról, amelyen a gondolati folyamat megjelenítése piros mezőben van kiemelve.

  3. A jobb oldali panelen a lapok segítségével megtudhatja, hogyan jött létre a válasz.

    Lap Leírás
    Gondolkodási folyamat Ez a csevegésben lévő interakciók szkriptje. Megtekintheti a rendszerkérést (content) és a felhasználói kérdést (content).
    Támogató tartalom Ez magában foglalja a kérdés megválaszolásához szükséges információkat és a forrásanyagot. A forrásanyag-idézetek számát a fejlesztői beállításokban jegyezzük fel. Az alapértelmezett érték 3.
    Idézés Ekkor megjelenik az idézetet tartalmazó eredeti oldal.
  4. Ha elkészült, válassza a fülek fölött egy X jellel ellátott elrejtő gombot.

A csevegőalkalmazás beállításainak használata a válaszok viselkedésének módosításához

A csevegőalkalmazás intelligenciáját az OpenAI-modell és a modell használatához használt beállítások határozzák meg.

Képernyőkép a csevegés fejlesztői beállításairól

Beállítás Leírás
Parancssori sablon felülbírálása Ez az a kérdés, amely a válasz létrehozásához használatos.
Ennyi találat lekérése Ez a válasz létrehozásához használt keresési eredmények száma. Ezeket a forrásokat az idézet Gondolat folyamata és A tartalom támogatása lapján tekintheti meg.
Kategória kizárása Ez a dokumentumkategória, amely nem szerepel a keresési eredmények között.
Szemantikai rangsoroló használata lekéréshez Ez az Azure AI Search egyik funkciója, amely gépi tanulással javítja a keresési eredmények relevanciáját.
Lekérdezéskörnyezeti összegzések használata a teljes dokumentumok helyett Ha mindkettőt Use semantic rankerUse query-contextual summaries ellenőrzi, az LLM a legfontosabb szakaszokból kinyert képaláírás használja a legmagasabb rangsorolt dokumentumokban az összes rész helyett.
Nyomon követési kérdések ajánlása A csevegőalkalmazás a válasz alapján javasoljon további kérdéseket.
Lekérési mód A vektorok + szöveg azt jelenti, hogy a keresési eredmények a dokumentumok szövegén és a dokumentumok beágyazásán alapulnak. A vektorok azt jelentik , hogy a keresési eredmények a dokumentumok beágyazásán alapulnak. A szöveg azt jelenti, hogy a keresési eredmények a dokumentumok szövegén alapulnak.
Csevegés befejezésére adott válaszok streamelése Válasz streamelése ahelyett, hogy megvárja, amíg a teljes válasz el nem érhető a válaszhoz.

Az alábbi lépések végigvezetik a beállítások módosításának folyamatán.

  1. A böngészőben válassza a Fejlesztői Gépház lapot.

  2. Jelölje be a Lekérdezéskörnyezeti összefoglalók használata jelölőnégyzet helyett , és tegye fel újra ugyanezt a kérdést.

    What happens if the rental doesn't fit the description?
    

    A csevegés tömörebb választ adott vissza, például az alábbiakat.

Az erőforrások eltávolítása

Azure-erőforrások tisztítása

A cikkben létrehozott Azure-erőforrások számlázása az Azure-előfizetésbe kerül. Ha a jövőben nem lesz szüksége ezekre az erőforrásokra, törölje őket, hogy elkerülje a további költségek felmerülését.

Futtassa a következő Azure Developer CLI-parancsot az Azure-erőforrások törléséhez és a forráskód eltávolításához:

azd down --purge

GitHub-kódterek eltávolítása

A GitHub Codespaces-környezet törlése biztosítja, hogy maximálisan kihasználható legyen a fiókhoz tartozó ingyenes óránkénti jogosultság.

Fontos

A GitHub-fiók jogosultságairól további információt a GitHub Codespaces havi tartalmazza a tárterületet és az alapórákat.

  1. Jelentkezzen be a GitHub Codespaces irányítópultjára (https://github.com/codespaces).

  2. Keresse meg a Jelenleg futó kódtereket a Azure-Samples/azure-search-openai-javascript GitHub-adattárból.

    Képernyőkép az összes futó kódtérről, beleértve azok állapotát és sablonjait.

  3. Nyissa meg a kódtér helyi menüjét, majd válassza a Törlés lehetőséget.

    Képernyőkép egyetlen kódtér helyi menüjéről a törlési lehetőség kiemelésével.

Segítség kérése

Ez a mintaadattár hibaelhárítási információkat nyújt.

Ha a kibocsátott probléma nem oldja meg a problémát, jelentkezzen be az adattár problémáiba.

Következő lépések