Indítsa el a csevegést a saját Java-hoz készült adatmintájával

Ez a cikk bemutatja, hogyan telepítheti és futtathatja a Chat with your data Java-adatminta alkalmazást. Ez a minta egy csevegőalkalmazást implementál Java nyelven az Azure OpenAI-modellek Microsoft Foundrybeli változatával, és az Azure AI Keresés-ben elérhető Retrieval Augmented Generation (RAG) használatával, hogy választ adjon egy fiktív vállalat alkalmazotti juttatásaival kapcsolatos kérdésekre. Az alkalmazás pdf-fájlokkal van elszórva, beleértve az alkalmazottak kézikönyvét, az előnyöket tartalmazó dokumentumot, valamint a vállalati szerepkörök és elvárások listáját.

  • Bemutató videó

Ebben a cikkben a következő feladatokat hajtja végre:

  • Csevegőalkalmazás üzembe helyezése az Azure-ban.
  • Válaszokat kaphat az alkalmazottak juttatásairó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.

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

Megjegyzés

Ez a cikk egy vagy több AI-alkalmazássablonokat használ a cikkben szereplő példák és útmutatások alapjául. Az AI-alkalmazássablonok jól karbantartott, könnyen üzembe helyezhető referencia-implementációkat biztosítanak, amelyek segítenek magas színvonalú kiindulópontot biztosítani az AI-alkalmazások számára.

Architekturális áttekintés

Az alábbi ábra a csevegőalkalmazás egyszerű architektúráját mutatja be:

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

Az architektúra fő összetevői a következők:

  • Egy webalkalmazás, amely az interaktív csevegési felületet üzemelteti.
  • Egy Azure AI Keresés erőforrás, amely válaszokat kap a saját adataiból.
  • Egy Azure OpenAI Service, amely a következőt biztosítja:
    • Kulcsszavak, amelyek javítják az ön adatainak keresését.
    • Válaszok az OpenAI-modellből.
    • Beágyazások az ada-modellből.

Költség

Az architektúrában használt erőforrások többsége alapszintű vagy használatalapú tarifacsomagok alá tartozik. Ez a díjszabási modell azt jelenti, hogy csak azért kell fizetnie, amit használ, és a költségek általában minimálisak a fejlesztés vagy a tesztelés során.

A minta elvégzéséhez előfordulhat, hogy kis költséggel jár az olyan szolgáltatások használata, mint az Azure OpenAI, az AI Search és a Storage. Ha végzett az alkalmazás kiértékelésével vagy üzembe helyezésével, törölje az összes kiépített erőforrást a folyamatos költségek elkerülése érdekében.

További információ a költségekről a példatárhelyben.

Előfeltételek

A cikk elvégzéséhez szükséges összes függőséget tartalmazó fejlesztői tárolókörnyezetre van szüksége. A fejlesztési tárolót GitHub kódterekben (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:

  • Codespaces (ajánlott)
  • Visual Studio Code

Nyílt fejlesztési környezet

Állítson be egy olyan fejlesztői környezetet, amely a jelen cikk végrehajtásához minden függőséget telepítve van.

  • GitHub Codespaces (ajánlott)
  • Visual Studio Code

GitHub Codespaces egy, a GitHub által felügyelt fejlesztői konténert futtat a Visual Studio Code for the Web-et használva 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 két alapvető példánnyal. További információért lásd: GitHub Codespaces havonta tartalmazott tárhely és processzoridő.

  1. Kattintson a jobb gombbal a következő gombra, és válassza a Hivatkozás megnyitása új ablakban lehetőséget, hogy egyszerre legyen elérhető a fejlesztési környezet és a dokumentáció is.

    `Megnyitás a GitHub Codespacesben`

  2. A Kódtér létrehozása területen tekintse át a kódtér konfigurációs beállításait, majd válassza a Kódtér létrehozása lehetőséget.

    Screenshot of the confirmation screen before creating a new codespace.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.

  3. Várja meg, amíg a Codespace elindul. Ez az indítási folyamat eltarthat néhány percig.

  4. A képernyő alján található terminálban jelentkezzen be az Azure-ba az Azure Developer CLI használatával.

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

  6. 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 – különösen az Azure AI Keresés – amint üzembe helyezik őket, azonnal díjkötelessé válhatnak, még akkor is, ha az üzembe helyezés a befejezés előtt megszakad. A váratlan költségek elkerülése érdekében monitorozza az Azure-használatot, és a tesztelés után azonnal törölje a nem használt erőforrásokat.

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

    azd up
    
  2. Ha a rendszer kéri, hogy adjon meg egy környezetnevet, tartsa rövid és kisbetűs, például myenv. A környezet nevét az erőforráscsoport nevének részeként használja a rendszer.

  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. Ez a hely a legtöbb erőforráshoz használható, 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 ki ezt a helyet.

  6. Várja meg az alkalmazás üzembe helyezését, ami 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 Deploying service web címkével ellátott URL-címet a csevegőalkalmazás böngészőben való megnyitásához.

    A csevegőalkalmazás képernyőképe a böngészőben, amely számos javaslatot jelenít meg a csevegési bevitelhez, valamint azt a csevegőablakot, ahol kérdést ad meg.

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

A csevegőalkalmazás előre be van töltve a PDF-fájlokból származó alkalmazotti juttatási adatokkal. A csevegőalkalmazással kérdéseket tehet fel az előnyökrő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 csevegés szövegmezőjébe a következőt: Mi különbözik a standard csomagoktól a Northwind Health Plus csomagomban?.

    Screenshot of chat app's first answer.Képernyőkép a csevegőalkalmazás első válaszáról.

  2. A válaszból válassza ki az idézetek egyikét.

    Screenshot of chat app's first answer with its citation highlighted in a red box.Képernyőkép a csevegőalkalmazás első válaszáról egy piros mezőben kiemelt idézettel.

  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 A csevegésben lévő interakciók szkriptje.
    Támogató tartalom Tartalmazza a kérdés megválaszolásához szükséges információkat és a forrásanyagot.
    Hivatkozás Megjeleníti az idézetet tartalmazó PDF-lapot.
  4. Ha elkészült, a kijelölt lap ismételt kiválasztásával zárja be a panelt.

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

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

Screenshot of chat developer settings.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 A válasz létrehozásához használt üzenet.
Ennyi találat lekérése A válasz létrehozásához használt keresési eredmények száma. Ezeket a forrásokat a Gondolatfolyamat és Támogató tartalom fülein tekintheti meg.
Kategória kizárása A keresési eredményekből kizárt dokumentumok kategóriája.
Szemantikai rangsoroló használata lekéréshez Az Azure AI Keresés 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 Amikor mind a Use semantic ranker és a Use query-contextual summaries be van jelölve, az LLM a legmagasabb rangsorolt dokumentumokban kulcsfontosságú szakaszokból kinyert képaláírásokat használ az összes szakasz 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árnánk, amíg a teljes válasz elérhetővé válik.

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 beállítások lapot.

  2. Jelölje be a Következő kérdések ajánlása jelölőnégyzetet, és tegye fel újra ugyanezt a kérdést.

    What is my deductible?
    

    A csevegés az alábbihoz hasonló javasolt követési kérdéseket ad vissza:

    1. What is the cost sharing for out-of-network services?
    2. Are preventive care services subject to the deductible?
    3. How does the prescription drug deductible work?
    
  3. A Beállítások lapon törölje a jelölést a Szemantikai rangsoroló használata lekéréshez jelölőnégyzetből.

  4. Újra felteheti ugyanezt a kérdést?

    What is my deductible?
    
  5. Mi a különbség a válaszokban?

    A szemantikai rangsorolót használó válasz például egyetlen választ adott: The deductible for the Northwind Health Plus plan is $2,000 per year.

    A válasz szemantikai rangsorolás nélkül is adott egy választ, amelyhez több munka kellett ahhoz, hogy megkapjuk a választ: Based on the information provided, it is unclear what your specific deductible is. The Northwind Health Plus plan has different deductible amounts for in-network and out-of-network services, and there is also a separate prescription drug deductible. I would recommend checking with your provider or referring to the specific benefits details for your plan to determine your deductible amount.

Az erőforrások felfrissítése

A gyakorlat elvégzése után távolítsa el azokat az erőforrásokat, amelyekre már nincs szüksége.

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

Az ebben a cikkben létrehozott Azure-erőforrások az Azure-előfizetésére lesznek számlázva. 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. Az azure-erőforrások törléséhez és a forráskód eltávolításához használja a következő parancsot:

azd down --purge

GitHub kódterek tisztítása

  • GitHub Codespaces
  • Visual Studio Code

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óért olvassa el a GitHub Codespaces havi tárhely és magóra kvóták dokumentációt.

  1. Jelentkezzen be a GitHub Codespaces irányítópultba.

  2. Keresse meg a jelenleg futó kódtereket, amelyek a Azure-Samples/azure-search-openai-demo-java GitHub adattárból származnak.

    Screenshot of all the running Codespaces including their status and templates.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.

Hogyan ad választ a kérdésre?

Az alkalmazás két alkalmazásra van osztva:

  • Egy előtérbeli JavaScript-alkalmazás, amely a React-keretrendszert használja a Vite buildelési eszközzel.
  • Egy háttéralkalmazás Java, amely választ ad a kérdésre.

A háttér /chat API lépésről lépésre elmagyarázza a válasz megszerzésének folyamatát:

  • RAG-beállítások létrehozása: Válasz létrehozásához használt beállítások készletének létrehozása.
  • Megközelítés létrehozása RAG-beállításokkal: A lekéréses és a generatív alapú modellek kombinációjával pontos és természetes hangzású választ hozhat létre.
  • Futtassa a megközelítést a RAG beállításokkal és az előző beszélgetést felhasználva: Az előző beszélgetés alapján a megközelítéssel és a RAG beállításokkal hozhat létre választ. A válasz tartalmazza a válasz létrehozásához használt dokumentumokra vonatkozó információkat.

Segítség kérése

Ez a mintaadattár hibaelhárítási információkat nyújt. Amennyiben a problémáját nem orvosolják, rögzítse azt az adattár Problémákrészében.

Következő lépések