Share via


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

Ez a cikk bemutatja, hogyan helyezheti üzembe és futtathatja a Vállalati csevegőalkalmazás-mintát Pythonhoz. Ez a minta egy csevegőalkalmazást implementál a Python, 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 alkalmazotti kézikönyvet, az előnyöket tartalmazó dokumentumot, valamint a vállalati szerepkörök és elvárások listáját.

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 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 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.

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.

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

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:

  • Azure-előfizetés – Ingyenes létrehozás
  • 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.
  • A hozzáférést az Azure OpenAI a kívánt Azure-előfizetésen belül kapja meg. 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.
  • 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-demo 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.

    Megnyitás a GitHub Codespacesben

  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. Ha 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 vagy a Dokumentumintelligencia-erőforrás helyét kéri, válassza ki az Önhöz legközelebbi helyet. Ha ugyanaz a hely érhető el, mint az első hely, válassza ezt.

  6. A folytatás előtt várjon 5 vagy 10 percet az alkalmazás üzembe helyezése után.

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

    Képernyőkép az üzembe helyezett alkalmazásról az AZD CLI azd up folyamat végén jelentett módon.

  8. Válassza ki a címkével ellátott URL-címet (✓) Done: Deploying service webapp 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. A válaszok a mögöttes modellek frissítésekor változhatnak.

  1. A böngészőben válassza ki vagy írja be a Mi történik a teljesítményértékelésben? lehetőséget a csevegés szövegmezőjében.

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

  2. A válaszból válasszon ki egy idézetet.

    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 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, 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

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
Parancssori sablon felülbírálása Ez az a kérdés, amely a válasz létrehozásához használatos.
Hőmérséklet Az utolsó Chat Completion API-híváshoz használt hőmérséklet, egy 0 és 1 közötti szám, amely szabályozza a modell "kreativitását".
Minimális keresési pontszám A válasz létrehozásához használt keresési eredmények minimális pontszáma. A tartomány a használt keresési módtól függ.
Reranker-pontszám minimális értéke A válasz létrehozásához használt keresési eredmények szemantikai rangsorolójának minimális pontszáma. 0 és 4 közötti tartomány.
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 Következő kérdések javasolása jelölőnégyzetet, és tegye fel újra ugyanezt a kérdést.

    What happens in a performance review?
    

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

    1. What is the frequency of performance reviews?
    2. How can employees prepare for a performance review?
    3. Can employees dispute the feedback received during the performance review?
    
  3. A Gépház lapon törölje a jelölést: Szemantikai rangsoroló használata a lekéréshez.

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

    What happens in a performance review?
    
  5. Mi a különbség a válaszokban?

    A Szemantikai rangsorolóval: A Contoso Electronics teljesítményértékelése során az alkalmazottaknak lehetőségük lesz megvitatni a munkahelyi sikereiket és kihívásaikat (1). A felülvizsgálat pozitív és konstruktív visszajelzést ad az alkalmazottaknak a szerepkörük fejlesztéséhez és növekedéséhez (1). Az alkalmazott írásos összefoglalót kap a teljesítményértékelésről, amely tartalmazza a következő évre vonatkozó teljesítményértékelést, visszajelzést, célokat és célkitűzéseket (1). A teljesítményértékelés kétirányú párbeszéd a vezetők és az alkalmazottak között (1).

    A Szemantikai rangsoroló nélkül: A Contoso Electronics teljesítményértékelése során az alkalmazottaknak lehetőségük van megvitatni a munkahelyi sikereiket és kihívásaikat. Pozitív és konstruktív visszajelzések segítik az alkalmazottakat abban, hogy fejlődjenek és növekedjenek a szerepköreik. Írásos összegzést kap a teljesítményértékelésről, beleértve a teljesítményértékelést, a visszajelzéseket és a közelgő évre vonatkozó célokat. A felülvizsgálat kétirányú párbeszéd a vezetők és az alkalmazottak között (1).

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 --force

A kapcsolók a következőt biztosítják:

  • purge: A törölt erőforrások azonnal törlődnek. Ez lehetővé teszi az Azure OpenAI TPM újrafelhasználását.
  • force: A törlés csendesen, felhasználói hozzájárulás nélkül történik.

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ó, a Azure-Samples/azure-search-openai-demo 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.

  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 probléma nem oldja meg a problémát, jelentkezzen be az adattár problémáiba.

Következő lépések