Kezdje el a „.NET saját adatmintával való csevegés” használatát.

Ez a cikk bemutatja, hogyan helyezheti üzembe és futtathatja a Chatet saját adatmintával .NET. Ez a minta egy csevegőalkalmazást implementál C#, Azure OpenAI Service és Retrieval Augmented Generation (RAG) használatával Azure AI Keresés, hogy választ kapjon egy fiktív vállalat alkalmazotti juttatásairól. Az alkalmazottak juttatásait tartalmazó csevegő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őt találja:

  • Egy chat alkalmazás üzembe helyezése az Azure platformon.
  • 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.

Az eljárás elvégzése után kezdje el módosítani az új projektet az egyéni kóddal.

Ez a cikk egy cikkgyűjtemény része, amely bemutatja, hogyan hozhat létre csevegőalkalmazást Azure OpenAI szolgáltatás és Azure AI Keresés használatával.

A gyűjtemény további cikkei a következők:

Architekturális áttekintés

Ebben a mintaalkalmazásban a Contoso Electronics nevű fiktív vállalat biztosítja a csevegőalkalmazás élményét az alkalmazottaknak, hogy kérdéseket tegyenek fel az előnyökről, a belső szabályzatokról, valamint a munkaköri leírásokról és szerepkörökről.

A csevegőalkalmazás 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.

  • Felhasználói felület – Az alkalmazás csevegő felülete egy Blazor WebAssembly-alkalmazás . Ez a felület fogadja a felhasználói lekérdezéseket, irányítja a kéréseket az alkalmazás háttérrendszeréhez, és megjeleníti a létrehozott válaszokat.
  • Backend – Az alkalmazás háttérrendszere egy ASP.NET Core Minimális API. A háttérrendszer üzemelteti a Blazor statikus webalkalmazást, és ez vezényli a különböző szolgáltatások közötti interakciókat. Az alkalmazásban használt szolgáltatások a következők:

Költség

Az architektúra legtöbb erőforrása alapszintű vagy fogyasztásalapú díjszabást 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 kell fizetnie, de ez minimális. Miután elolvasta a cikket, törölje az erőforrásokat, hogy elkerülje a költségeket.

További információért lásd: Azure példagyűjtemények: Költség a mintatárolóban.

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ési tárolót GitHub Kódterekben (böngészőben) vagy helyileg is futtathatja a Visual Studio Code használatával.

A cikk követéséhez a következő előfeltételekre van szüksége:

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.

GitHub Codespaces felhasználói felületként egy GitHub által felügyelt fejlesztési tárolót futtat Visual Studio Code web. A legegyszerűbb fejlesztési környezethez használja a GitHub Codespace-eket, hogy a megfelelő fejlesztői eszközök és függőségek legyenek előre telepítve 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óért lásd: A GitHub Codespaces havonta tartalmazott tárterületet és alapórákat.

  1. Indítsa el a folyamatot egy új GitHub kódtér létrehozásához a main GitHub adattár Azure-Samples/azure-search-openai-demo-csharp ágán.

  2. A fejlesztési környezet és a dokumentáció párhuzamos használatához kattintson a jobb gombbal az alábbi Open in GitHub Codespaces gombra, és válassza a Hivatkozás megnyitása új ablakban lehetőséget.

    Megnyitás GitHub Codespaces gombban.

  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árjon, amíg a codespace elindul. Ez az indítási folyamat eltarthat néhány percig.

  5. A képernyő alján lévő terminálban jelentkezzen be az Azure fejlesztői parancssori felülettel az Azure-ba.

    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 a Azure-fiókjával 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 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 üzembe helyezésének folyamatán.

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

Fontos

Az ebben a szakaszban létrehozott Azure-erőforrások azonnali költségekkel járnak, elsősorban az Azure AI Keresés erőforrás miatt. 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 Fejlesztői parancssori felület parancsot a 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 akár 20 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 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ó 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.

  1. A böngészőben lépjen a Csevegés lapra a bal oldali navigációs sávon.

  2. Válassza vagy írja be a "Mi szerepel a Northwind Health Plus csomagomban, amely nem szabványos?" szöveget a csevegés szövegmezőjében. A válasz hasonló az alábbi képhez.

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

  3. A válaszból válasszon ki egy idézetet. Ekkor megnyílik egy előugró ablak, amely megjeleníti az információ forrását.

    Képernyőkép a csevegőalkalmazás első válaszáról egy piros mezőben kiemelt idézettel.

  4. A válaszmező tetején található fülek között navigálva megtudhatja, hogyan jött létre a válasz.

    Fül 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.
    Hivatkozás Ekkor megjelenik az idézetet tartalmazó forráslap.
  5. Ha elkészült, lépjen vissza a válasz lapra.

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

A csevegé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
Prompt sablon felülbírálása Ez az a prompt, amelyet a válasz generálásához használnak.
Ennyi keresési eredmény lekérése Ez a válasz létrehozásához használt keresési eredmények száma. Ezeket a forrásokat a Gondolkodási folyamat és Támogató tartalom fülekben tekintheti meg az idézetnél.
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 a Azure AI Keresés olyan funkciója, amely gépi tanulással javítja a keresési eredmények relevanciáját.
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.
Lekérdezéskörnyezeti összegzések használata a teljes dokumentumok helyett Ha a rendszer mindkettőt Use semantic rankerUse 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.

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 fogaskerék ikont az oldal jobb felső sarkában.

  2. Ha nincs bejelölve, jelölje be a Következő kérdések javasolása jelölőnégyzetet, és tegye fel újra ugyanezt a kérdést.

    What is included in my Northwind Health Plus plan that is not in standard?
    

    Előfordulhat, hogy a csevegés a következő kérdésekre vonatkozó javaslatokkal tér vissza.

  3. A Beállítások lapon törölje a Szemantikai rangsoroló használata lekéréshez jelölést.

  4. Tegye fel újra 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 egyetlen választ adott. A szemantikai rangsorolás nélküli válasz kevésbé közvetlen választ adott.

Erőforrások takarítása

A befejezéshez törölje a használt Azure és GitHub CodeSpaces-erőforrásokat.

Azure erőforrások törlése

A cikkben létrehozott Azure erőforrások számlázása az Azure-előfizetésére történik. 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 fejlesztői parancssori felület parancsot a Azure erőforrások törléséhez és a forráskód eltávolításához:

azd down --purge

GitHub kódterek takarítása

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

Fontos

A GitHub-fiók jogosultságairól további információt a GitHub Codespaces havi rendelkezésre álló tárhely és magóra című témakörben talál.

  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-demo-csharp 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 kínál.

Ha a problémát nem oldják meg, jelentse be az adattár Issues részébe.

Következő lépések