Ismerkedés a csevegéssel a Java-hoz készült saját adatmintával
Ez a cikk bemutatja, hogyan helyezheti üzembe és futtathatja a csevegést a Java-adatmintával. Ez a minta egy csevegőalkalmazást implementál a Java, az Azure OpenAI Service és a Retrieveal Augmented Generation (RAG) használatával az Azure AI Searchben, hogy válaszokat kapjon egy fiktív vállalat alkalmazotti juttatásairól. 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.
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 Service és az Azure AI Search használatával. A gyűjtemény további cikkei a következők:
Feljegyzés
Ez a cikk egy vagy több AI-alkalmazássablont használ a cikkben szereplő példák és útmutatók 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.
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.
Az architektúra fő összetevői a következők:
- Egy webalkalmazás, amely az interaktív csevegési élményt üzemelteti.
- Egy Azure AI Search-erőforrás, amely válaszokat kaphat saját adataiból.
- Egy Azure OpenAI-szolgáltatás, amely a következőt nyújtja:
- Kulcsszavak, amelyek javítják a keresést a saját adatain.
- Válaszok az OpenAI-modellből.
- Beágyazások az ada-modellből
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 elolvasásának befejezéséhez díj fizetése szükséges, de az minimális. 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.
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:
- Azure-előfizetés – Hozzon létre egyet ingyenes.
- 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-rendszergazdai vagy tulajdonosi. - Egy GitHub-fiók.
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 két alapvető példánnyal. További információ: GitHub Codespaces havonta tartalmazza a tárterületet és az alapórákat.
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.
A Kódtér létrehozása lapon 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.
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.
Várja meg, amíg a kódtér elindul. Ez az indítási folyamat eltarthat néhány percig.
A képernyő alján lévő terminálon jelentkezzen be az Azure-ba az Azure Developer CLI használatával.
azd auth login
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.
A cikkben szereplő fennmaradó feladatok ennek a fejlesztési tárolónak a kontextusában történnek.
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.
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.
Az Azure-erőforrások kiépítése és a forráskód üzembe helyezése az alábbi parancs futtatásával:
azd up
Ha a rendszer kéri, hogy adjon meg egy környezetnevet, tartsa rövid és kisbetűs, például
myenv
. Az erőforráscsoport nevének részeként használják.Amikor a rendszer kéri, válasszon ki egy előfizetést az erőforrások létrehozásához.
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.
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.
Várja meg az alkalmazás üzembe helyezését, ami 5–10 percet is igénybe vehet.
Az alkalmazás sikeres üzembe helyezése után megjelenik egy URL-cím a terminálban.
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.
A csevegőalkalmazás előre be van töltve a PDF-fájlokból származó alkalmazottak juttatási adataival. 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.
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?.
A válaszból válassza ki az idézetek egyikét.
Képernyőkép a csevegőalkalmazás első válaszáról egy piros mezőben kiemelt idézettel.
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. Idézés Megjeleníti az idézetet tartalmazó PDF-lapot. Ha elkészült, a kijelölt lap ismételt kiválasztásával zárja be a panelt.
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.
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 az idézet Gondolat folyamata és A tartalom támogatása lapján 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 Search |
Lekérdezéskörnyezeti összegzések használata a teljes dokumentumok helyett | Ha a rendszer mindkettőt Use semantic ranker Use query-contextual summaries ellenőrzi, az LLM a legfontosabb szakaszokból kinyert feliratokat használja az összes szakasz helyett a legmagasabb rangsorolt dokumentumokban. |
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.
A böngészőben válassza a Fejlesztői beállítások lapot.
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?
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.
Újra felteheti ugyanezt a kérdést?
What is my deductible?
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 szemantikai rangsorolás nélküli válasz egy választ adott vissza, ami több munkát igényelt a válasz lekéréséhez:
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
.
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. 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
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.
Jelentkezzen be a GitHub Codespaces vezérlőpultjára.
Keresse meg a jelenleg futó, az Azure-Samples/azure-search-openai-demo-java GitHub-adattárból származó kódtereket.
Képernyőkép az összes futó kódtérről, beleértve azok állapotát és sablonjait.
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.
Az alkalmazás két alkalmazásra van elválasztva:
- Egy előtérbeli JavaScript-alkalmazás a React-keretrendszer és a Vite buildelési eszköz használatával.
- Egy háttérbeli Java-alkalmazás választ ad a kérdésre.
A háttér /chat
API végigvezeti a válasz beszerzésének folyamatán:
- 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éssel: A megközelítés és a RAG beállításokkal az előző beszélgetés alapján hozhat létre választ. A válasz tartalmazza a válasz létrehozásához használt dokumentumokra vonatkozó információkat.
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.
- A cikkben használt minta forráskódjának lekérése
- Csevegőalkalmazás létrehozása az Azure OpenAI ajánlott eljárású megoldásarchitektúrájával
- Hozzáférés-vezérlés a Generative AI-alkalmazásokban az Azure AI Search használatával
- Nagyvállalati használatra kész OpenAI-megoldás létrehozása az Azure API Management használatával
- A vektorkeresés túllépése hibrid lekérési és rangsorolási képességekkel
- További Azure AI-sablonok