Megosztás a következőn keresztül:


Azure OpenAI az adatokon

Ebből a cikkből megismerheti az Azure OpenAI On Your Data szolgáltatását, amely megkönnyíti a fejlesztők számára a vállalati adatok összekapcsolását, betöltését és őrzését a személyre szabott copilotok (előzetes verzió) gyors létrehozása érdekében. Javítja a felhasználók megértését, felgyorsítja a feladatok elvégzését, javítja a működési hatékonyságot, és segíti a döntéshozatalt.

Mi az Azure OpenAI az Ön adatain?

Az Azure OpenAI On Your Data lehetővé teszi fejlett AI-modellek, például a GPT-35-Turbo és a GPT-4 futtatását saját vállalati adatain anélkül, hogy be kellene tanítania vagy finomhangolnia kellene a modelleket. Cseveghet a tetején, és nagyobb pontossággal elemezheti az adatokat. A kijelölt adatforrásokban elérhető legfrissebb információk alapján megadhatja, hogy mely források támogatják a válaszokat. Az Azure OpenAI On Your Data egy REST API-val érhető el az SDK-n vagy az Azure OpenAI Studio webes felületén keresztül. Létrehozhat egy olyan webalkalmazást is, amely az adatokhoz csatlakozva lehetővé teszi a továbbfejlesztett csevegési megoldást, vagy közvetlenül a Copilot Studióban (előzetes verzió) copilotként is üzembe helyezheti.

Fejlesztés az Azure OpenAI-val az adatokon

Példa munkafolyamatot bemutató diagram.

Az Azure OpenAI On Your Data szolgáltatással használt fejlesztési folyamat általában a következő:

  1. Betöltés: Fájlok feltöltése az Azure OpenAI Studióval vagy a betöltési API-val. Így az adatok feltörhetők, daraboltak és beágyazhatók egy Azure AI Search-példányba, amelyet az Azure Open AI-modellek használhatnak. Ha már rendelkezik támogatott adatforrással, közvetlenül is csatlakoztathatja.

  2. Fejlesztés: Az Azure OpenAI On Your Data kipróbálása után kezdje el fejleszteni az alkalmazást az elérhető REST API-k és SDK-k használatával, amelyek több nyelven is elérhetők. A rendszer kéréseket és keresési szándékokat hoz létre az Azure OpenAI szolgáltatásnak való továbbításhoz.

  3. Következtetés: Miután az alkalmazás üzembe lett helyezve az előnyben részesített környezetben, a rendszer kéri az Azure OpenAI-t, amely több lépést is végrehajt a válasz visszaadása előtt:

    1. Szándékgenerálás: A szolgáltatás határozza meg a felhasználó kérésének szándékát a megfelelő válasz meghatározásához.

    2. Lekérés: A szolgáltatás lekérdezéssel lekéri a csatlakoztatott adatforrásból az elérhető adatok releváns darabjait. Például szemantikai vagy vektoros kereséssel. A rendszer olyan paramétereket használ, mint a szigorúság és az újrapróbálkozáshoz szükséges dokumentumok száma, amelyek befolyásolják a lekérést.

    3. Szűrés és reranking: A lekérési lépés keresési eredményei javulnak az adatok rangsorolásával és szűrésével a relevancia pontosítása érdekében.

    4. Válaszgenerálás: Az eredményül kapott adatokat a rendszer más információkkal együtt elküldi, például a rendszerüzenetet a nagy nyelvi modellnek (LLM), és a rendszer visszaküldi a választ az alkalmazásnak.

Első lépésként csatlakoztassa az adatforrást az Azure OpenAI Studióval, és kezdjen el kérdéseket feltenni, és csevegni az adataival.

Azure Szerepköralapú hozzáférés-vezérlés (Azure RBAC) adatforrások hozzáadásához

Az Azure OpenAI teljes körű használatához be kell állítania egy vagy több Azure RBAC-szerepkört. További információkért tekintse meg az Azure OpenAI biztonságos használata az adatokon című témakört.

Adatformátumok és fájltípusok

Az Azure OpenAI On Your Data a következő fájltípusokat támogatja:

  • .txt
  • .md
  • .html
  • .docx
  • .pptx
  • .pdf

Van egy feltöltési korlát, és van néhány kikötés a dokumentumszerkezettel kapcsolatban, és hogy ez hogyan befolyásolhatja a modell válaszainak minőségét:

  • Ha nem támogatott formátumból konvertál adatokat támogatott formátumba, optimalizálja a modell válaszának minőségét az átalakítás biztosításával:

    • Nem vezet jelentős adatvesztéshez.
    • Nem ad váratlan zajt az adatokhoz.
  • Ha a fájlok speciális formázással, például táblákkal és oszlopokkal vagy listajelekkel rendelkeznek, készítse elő az adatokat a GitHubon elérhető adat-előkészítési szkripttel.

  • A hosszú szöveggel rendelkező dokumentumok és adathalmazok esetében a rendelkezésre álló adat-előkészítési szkriptet kell használnia. A szkript adattömböket hoz létre annak érdekében, hogy a modell válaszai pontosabbak legyenek. Ez a szkript a beolvasott PDF-fájlokat és képeket is támogatja.

Támogatott adatforrások

Az adatok feltöltéséhez csatlakoznia kell egy adatforráshoz. Ha egy Azure OpenAI-modellel szeretne csevegni az adataival, az adatok egy keresési indexbe kerülnek, hogy a releváns adatok a felhasználói lekérdezések alapján is megtalálhatók legyenek.

A virtuális magalapú Azure Cosmos DB for MongoDB integrált vektoradatbázisa natív módon támogatja az Azure OpenAI On Your Data integrációját.

Egyes adatforrások, például fájlok feltöltése a helyi gépről (előzetes verzió) vagy egy blobtároló-fiókban (előzetes verzió) tárolt adatok esetében az Azure AI Search lesz használatban. Az alábbi adatforrások kiválasztásakor az adatok egy Azure AI Search-indexbe kerülnek.

Az Azure AI Search szolgáltatással betöltött adatok Leírás
Azure AI Search Használjon egy meglévő Azure AI Search-indexet az Azure OpenAI-val az Adatain.
Fájlok feltöltése (előzetes verzió) Töltsön fel fájlokat a helyi gépről, hogy egy Azure Blob Storage-adatbázisban tárolja, és betöltse az Azure AI Searchbe.
URL-cím/webcím (előzetes verzió) Az URL-címekről származó webes tartalmakat az Azure Blob Storage tárolja.
Azure Blob Storage (előzetes verzió) Töltsön fel fájlokat az Azure Blob Storage-ból, hogy betöltse őket egy Azure AI Search-indexbe.

Vektorindexelési szolgáltatások diagramja.

Üzembe helyezés egy másodpilóta (előzetes verzió), Teams-alkalmazás (előzetes verzió) vagy webalkalmazásban

Miután csatlakoztatta az Azure OpenAI-t az adataihoz, üzembe helyezheti azOkat az Azure OpenAI Studióban a Telepítés gombra kattintva.

Képernyőkép a modell üzembe helyezésének gombjáról az Azure OpenAI Studióban.

Ez több lehetőséget is kínál a megoldás üzembe helyezésére.

A Copilot Studióban (előzetes verzió) közvetlenül az Azure OpenAI Studióban telepítheti a copilotokat, így beszélgetési élményeket hozhat létre különböző csatornákon, például a Microsoft Teamsben, webhelyeken, Dynamics 365 és más Azure Bot Service-csatornákon. Az Azure OpenAI szolgáltatásban és a Copilot Studióban (előzetes verzió) használt bérlőnek azonosnak kell lennie. További információkért lásd : Kapcsolat használata az Azure OpenAI-hez az adatokon.

Feljegyzés

A Copilot Studióban (előzetes verzió) való üzembe helyezés csak az USA régióiban érhető el.

Az Azure OpenAI biztonságos használata az adatokon

Az Azure OpenAI On Your Data biztonságosan használható az adatok és erőforrások védelmével a Microsoft Entra ID szerepköralapú hozzáférés-vezérléssel, virtuális hálózatokkal és privát végpontokkal. Az Azure AI Search biztonsági szűrőivel korlátozhatja a különböző felhasználók válaszaiban használható dokumentumokat is. Lásd: Az Azure OpenAI biztonságos használata az adatokon.

Ajánlott eljárások

A következő szakaszokból megtudhatja, hogyan javíthatja a modell által adott válaszok minőségét.

Betöltési paraméter

Amikor az adatok az Azure AI Searchbe kerülnek, a következő további beállításokat módosíthatja a studióban vagy a betöltési API-ban.

Adattömb mérete (előzetes verzió)

Az Azure OpenAI On Your Data úgy dolgozza fel a dokumentumokat, hogy azokat adattömbökre osztja, mielőtt betöltené őket. Az adattömb mérete a keresési indexben lévő adattömbök tokenjeinek számát tekintve a maximális méret. Az adattömb mérete és a lekért dokumentumok száma együttesen határozza meg, hogy a modellnek küldött kérés mennyi információt (jogkivonatot) tartalmaz. Általánosságban elmondható, hogy az adattömb mérete és a lekért dokumentumok számának szorzata a modellnek küldött tokenek teljes száma.

Adattömb méretének beállítása a használati esethez

Az alapértelmezett adattömbméret 1024 token. Az adatok egyedisége miatt azonban előfordulhat, hogy egy másik adattömbméret (például 256, 512 vagy 1536 token) hatékonyabb.

Az adattömb méretének módosítása javíthatja a csevegőrobot teljesítményét. Az optimális adattömb méretének megkereséséhez próbaidőszakra és hibára van szükség, először is vegye figyelembe az adathalmaz természetét. A kisebb adattömbök általában jobbak a közvetlen tényekkel és kevesebb kontextussal rendelkező adathalmazok esetében, míg a nagyobb adattömbméret hasznos lehet a környezetfüggőbb információk esetében, bár ez befolyásolhatja a lekérési teljesítményt.

A 256-hoz hasonló kis adattömbök részletesebb adattömböket eredményeznek. Ez a méret azt is jelenti, hogy a modell kevesebb jogkivonatot használ a kimenet létrehozásához (kivéve, ha a lekért dokumentumok száma nagyon magas), ami valószínűleg kevesebbe kerül. A kisebb adattömbök azt is jelentik, hogy a modellnek nem kell feldolgoznia és értelmeznie a hosszú szövegszakaszokat, ezáltal csökkentve a zajt és a zavaró tényezőket. Ez a részletesség és a fókusz azonban potenciális problémát jelent. Előfordulhat, hogy a fontos információk nem tartoznak a legjobban lekért adattömbök közé, különösen akkor, ha a lekért dokumentumok száma alacsony értékre van állítva, például 3.

Tipp.

Ne feledje, hogy az adattömb méretének módosításához újra be kell tölteni a dokumentumokat, ezért érdemes először módosítani a futtatókörnyezet paramétereit, például a szigorúságot és a lekért dokumentumok számát. Fontolja meg az adattömb méretének módosítását, ha még mindig nem kapja meg a kívánt eredményeket:

  • Ha sok olyan választ talál, mint például a "Nem tudom" a dokumentumokban szereplő válaszokkal kapcsolatos kérdésekre, fontolja meg az adattömb méretének 256-ra vagy 512-re való csökkentését a részletesség javítása érdekében.
  • Ha a csevegőrobot helyes adatokat ad meg, de hiányoznak mások, amelyek az idézetekben nyilvánvalóvá válnak, az adattömb méretének 1536-ra való növelése segíthet a környezetfüggőbb információk rögzítésében.

Futtatókörnyezeti paraméterek

Az alábbi további beállításokat az Azure OpenAI Studio Adatparaméterek szakaszában és az API-ban módosíthatja. Ezeknek a paramétereknek a frissítésekor nem kell újból betöltenie az adatokat.

Paraméter neve Leírás
Az adatokra adott válaszok korlátozása Ez a jelző konfigurálja a csevegőrobot megközelítését az adatforrástól független lekérdezések kezelésére, vagy ha a keresési dokumentumok nem elegendőek a teljes válaszhoz. Ha ez a beállítás le van tiltva, a modell a dokumentumok mellett saját tudással egészíti ki a válaszokat. Ha ez a beállítás engedélyezve van, a modell csak a dokumentumokra próbál támaszkodni a válaszokhoz. Ez az inScope API paramétere, és alapértelmezés szerint igaz értékre van állítva.
Lekért dokumentumok Ez a paraméter egy olyan egész szám, amely 3, 5, 10 vagy 20 értékre állítható be, és szabályozza a nagy nyelvi modellnek biztosított dokumentumtömbök számát a végső válasz megfogalmazásához. Alapértelmezés szerint ez az 5 értékre van állítva. A keresési folyamat zajos lehet, és előfordulhat, hogy az adattömbök miatt a releváns információk a keresési index több adattömbjében is el vannak osztva. Az 5-hez hasonló legfelső K-szám kiválasztása biztosítja, hogy a modell a keresés és az adattömbök eredendő korlátozásai ellenére is kinyerje a releváns információkat. A túl magas szám növelése azonban megzavarhatja a modellt. Emellett a hatékonyan használható dokumentumok maximális száma a modell verziójától függ, mivel mindegyiknek más a környezet mérete és kapacitása a dokumentumok kezeléséhez. Ha úgy találja, hogy a válaszok hiányoznak a fontos környezetből, próbálja meg növelni ezt a paramétert. Ez az topNDocuments API paramétere, és alapértelmezés szerint 5.
Szigorúság Meghatározza a rendszer agresszivitását a keresési dokumentumok szűrésében a hasonlósági pontszámok alapján. A rendszer lekérdezi az Azure Searcht vagy más dokumentumtárolókat, majd eldönti, hogy mely dokumentumokat adja meg a nagy nyelvi modelleknek, például a ChatGPT-nek. Az irreleváns dokumentumok kiszűrése jelentősen javíthatja a végpontok közötti csevegőrobot teljesítményét. Egyes dokumentumok ki vannak zárva az első K eredményekből, ha alacsony hasonlósági pontszámmal rendelkeznek, mielőtt továbbítanák őket a modellnek. Ezt egy 1 és 5 közötti egész szám szabályozza. Az érték 1 értékre állítása azt jelenti, hogy a rendszer minimálisan szűri a dokumentumokat a felhasználói lekérdezéshez hasonló keresési hasonlóság alapján. Ezzel szemben az 5-ös beállítás azt jelzi, hogy a rendszer agresszíven szűri ki a dokumentumokat, és nagyon magas hasonlósági küszöbértéket alkalmaz. Ha úgy találja, hogy a csevegőrobot kihagyja a releváns információkat, csökkentse a szűrő szigorúságát (állítsa az értéket közelebb az 1-hez), hogy több dokumentumot is tartalmazzon. Ezzel szemben, ha az irreleváns dokumentumok elvonják a válaszokat, növelje a küszöbértéket (az értéket 5-höz közelebb állítsa). Ez az strictness API paramétere, és alapértelmezés szerint 3 értékre van állítva.

Nem hivatkozott hivatkozások

Lehetséges, hogy a modell az API helyett "TYPE":CONTENT az adatforrásból lekért, de az idézetben nem szereplő dokumentumokhoz tér vissza"TYPE":"UNCITED_REFERENCE". Ez hasznos lehet a hibakereséshez, és ezt a viselkedést a fent ismertetett szigorúsági és lekéréses dokumentumok futtatókörnyezeti paramétereinek módosításával szabályozhatja.

Rendszerüzenet

Az Azure OpenAI On Your Data használatakor megadhat egy rendszerüzenetet a modell válaszának irányításához. Ez az üzenet lehetővé teszi a válaszok testreszabását az Azure OpenAI on Your Data által használt kibővített generációs (RAG) minta alapján. A rendszerüzenet a belső alapkérésen kívül a felhasználói élmény biztosításához is használható. Ennek támogatásához egy adott számú jogkivonat után csonkítjuk a rendszerüzenetet , hogy a modell válaszolhasson az adatokkal kapcsolatos kérdésekre. Ha az alapértelmezett felületen felül további viselkedést határoz meg, győződjön meg arról, hogy a rendszerkérés részletes, és elmagyarázza a pontos elvárt testreszabást.

Miután kiválasztotta az adathalmaz hozzáadását, használhatja az Azure OpenAI Studio Rendszerüzenet szakaszát vagy az role_information API paraméterét.

Képernyőkép az Azure OpenAI Studióban a rendszerüzenet lehetőségről.

Lehetséges használati minták

Szerepkör definiálása

Meghatározhat egy szerepkört, amelyet az asszisztensének szeretne. Ha például egy támogatási robotot hoz létre, felveheti a "Ön egy szakértői incidenstámogatási asszisztens, amely segít a felhasználóknak az új problémák megoldásában".

A lekérendő adatok típusának meghatározása

Az asszisztensnek megadott adatok természetét is hozzáadhatja.

  • Adja meg az adathalmaz témáját vagy hatókörét, például a "pénzügyi jelentést", a "tudományos tanulmányt" vagy az "incidensjelentést". Technikai támogatás esetén például felveheti a következőt: "A lekérdezéseket a lekért dokumentumok hasonló incidenseiből származó információk alapján válaszolja meg".
  • Ha az adatok bizonyos jellemzőkkel rendelkeznek, ezeket a részleteket hozzáadhatja a rendszerüzenethez. Ha például a dokumentumok japán nyelven vannak, hozzáadhatja a "Japán dokumentumok lekérése, és gondosan olvassa el őket japánul, és válaszoljon japánul".
  • Ha a dokumentumok strukturált adatokat, például táblákat tartalmaznak egy pénzügyi jelentésből, ezt a tényt a rendszer parancssorába is felveheti. Ha például az adatok táblái vannak, felveheti a következőt: "A pénzügyi eredményekhez kapcsolódó táblák formájában kap adatokat, és a felhasználói kérdések megválaszolásához sorról sorra kell olvasnia a táblázatsorokat."

A kimeneti stílus definiálása

A modell kimenetét rendszerüzenet definiálásával is módosíthatja. Ha például meg szeretné győződni arról, hogy az asszisztens válaszai franciául vannak, hozzáadhat egy olyan kérdést, mint például : "Ön egy AI-asszisztens, amely segít a franciául értő felhasználóknak az információk megtalálásában. A felhasználói kérdések lehetnek angol vagy francia nyelven. Kérjük, olvassa el figyelmesen a lekért dokumentumokat, és válaszoljon rájuk franciául. Kérjük, lefordítsa a tudást a dokumentumokból franciára, hogy minden válasz francia nyelven legyen."

Kritikus viselkedés megerősítése

Az Azure OpenAI On Your Data úgy működik, hogy utasításokat küld egy nagy nyelvi modellnek az adatok felhasználói lekérdezéseinek megválaszolására vonatkozó kérések formájában. Ha van egy bizonyos viselkedés, amely kritikus fontosságú az alkalmazás számára, megismételheti a viselkedést a rendszerüzenetben a pontosság növelése érdekében. Ha például azt szeretné, hogy a modell csak dokumentumokból válaszoljon, hozzáadhatja a "Válasz csak lekért dokumentumok használatával, a tudás használata nélkül. Hozzon létre idézeteket a válaszban szereplő összes jogcím dokumentumainak lekéréséhez. Ha a felhasználói kérdést nem lehet megválaszolni a lekért dokumentumok használatával, kérjük, magyarázza el, hogy miért relevánsak a dokumentumok a felhasználói lekérdezések szempontjából. Mindenesetre ne a saját tudása alapján válaszoljon."

Parancssori mérnöki trükkök

Számos trükk van a gyors tervezésben, amelyeket megpróbálhat javítani a kimeneten. Az egyik példa a gondolatláncra való rákérdezés, ahová felveheti a következőt: "Gondoljuk át lépésről lépésre a lekért dokumentumok információiról a felhasználói lekérdezések megválaszolásához. A dokumentumokból lépésről lépésre kinyerheti a releváns ismereteket a felhasználói lekérdezésekből, és a megfelelő dokumentumokból kinyert információkból alulról választ alkothat."

Feljegyzés

A rendszerüzenet segítségével módosíthatja, hogy a GPT-asszisztens hogyan válaszol egy felhasználói kérdésre a lekért dokumentáció alapján. Ez nem befolyásolja a lekérési folyamatot. Ha útmutatást szeretne adni a lekérési folyamathoz, jobb, ha belefoglalja őket a kérdésekbe. A rendszerüzenet csak útmutatás. Előfordulhat, hogy a modell nem tartja be az összes megadott utasítást, mert bizonyos viselkedésekkel, például az objektivitással és az ellentmondásos állítások elkerülésével lett előállítva. Váratlan viselkedés akkor fordulhat elő, ha a rendszerüzenet ellentmond ezeknek a viselkedéseknek.

Maximális válasz

Állítsa be a modellválaszonkénti jogkivonatok számának korlátját. Az Azure OpenAI on Your Data felső korlátja 1500. Ez egyenértékű a max_tokens paraméter API-ban való beállításával.

Az adatokra adott válaszok korlátozása

Ez a beállítás arra ösztönzi a modellt, hogy csak az ön adataival válaszoljon, és alapértelmezés szerint ki van választva. Ha nem választja ki ezt a beállítást, a modell könnyebben alkalmazhatja a belső tudását a válaszadáshoz. A használati eset és a forgatókönyv alapján határozza meg a megfelelő kijelölést.

A modell interakciója

A modellel folytatott csevegés során az alábbi eljárásokkal érheti el a legjobb eredményeket.

Beszélgetési előzmények

  • Mielőtt új beszélgetést kezdene (vagy olyan kérdést tesz fel, amely nem kapcsolódik az előzőekhez), törölje a csevegési előzményeket.
  • Ugyanarra a kérdésre eltérő válaszok érkeznek az első beszélgetési sor és az azt követő fordulatok között, mivel a beszélgetési előzmények megváltoztatják a modell aktuális állapotát. Ha helytelen válaszokat kap, jelentse minőségi hibaként.

Modell válasza

  • Ha nem elégedett egy adott kérdés modellválaszával, próbálja meg konkrétabbá vagy általánosabbá tenni a kérdést, hogy lássa, hogyan reagál a modell, és ennek megfelelően újrakeretezi a kérdést.

  • A gondolatlánc-rákérdezés hatékonynak bizonyult abban, hogy a modell összetett kérdésekhez/feladatokhoz kívánt kimeneteket állít elő.

Kérdés hossza

Kerülje a hosszú kérdések feltevését, és ha lehetséges, több kérdésre bontsa őket. A GPT-modellek korlátokkal rendelkeznek az elfogadható jogkivonatok számára vonatkozóan. A jogkivonatok korlátai a következőkre számítanak: a felhasználói kérdés, a rendszerüzenet, a lekért keresési dokumentumok (adattömbök), a belső kérések, a beszélgetési előzmények (ha vannak ilyenek) és a válasz. Ha a kérdés túllépi a jogkivonat korlátját, a rendszer csonkolja.

Többnyelvű támogatás

  • Az Azure OpenAI On Your Data szolgáltatásban jelenleg a kulcsszókeresés és a szemantikai keresés támogatja a lekérdezéseket, és az indexben lévő adatokkal azonos nyelven vannak. Ha például az adatok japán nyelvűek, akkor a bemeneti lekérdezéseket is japán nyelven kell megadni. A többnyelvű dokumentumok lekéréséhez javasoljuk, hogy az indexet engedélyezze a Vektorkeresés funkcióval.

  • Az információlekérés és a modellválasz minőségének javítása érdekében javasoljuk, hogy engedélyezze a szemantikai keresést a következő nyelvekre: angol, francia, spanyol, portugál, olasz, német, kínai (Zh), japán, koreai, orosz, arab

  • Javasoljuk, hogy egy rendszerüzenettel tájékoztassa a modellt arról, hogy az adatok más nyelven találhatóak. Példa:

  • *"*Ön egy AI-asszisztens, amelyet arra terveztek, hogy segítsen a felhasználóknak kinyerni az információkat a lekért japán dokumentumokból. Mielőtt választ ad, gondosan vizsgálja meg a japán dokumentumokat. A felhasználó lekérdezése japán nyelven lesz, és japánul is válaszolnia kell."

  • Ha több nyelven is rendelkezik dokumentumokkal, javasoljuk, hogy minden nyelvhez hozzon létre egy új indexet, és külön csatlakoztassa őket az Azure OpenAI-hoz.

Adatok streamelése

Streamelési kérést küldhet a stream paraméterrel, így az adatok növekményesen küldhetők és fogadhatók anélkül, hogy a teljes API-válaszra kellene várniuk. Ez javíthatja a teljesítményt és a felhasználói élményt, különösen a nagy vagy dinamikus adatok esetében.

{
    "stream": true,
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                "endpoint": "'$AZURE_AI_SEARCH_ENDPOINT'",
                "key": "'$AZURE_AI_SEARCH_API_KEY'",
                "indexName": "'$AZURE_AI_SEARCH_INDEX'"
            }
        }
    ],
    "messages": [
        {
            "role": "user",
            "content": "What are the differences between Azure Machine Learning and Azure AI services?"
        }
    ]
}

Beszélgetési előzmények a jobb eredmények érdekében

Ha egy modellel cseveg, a csevegés előzményeinek megadásával a modell jobb minőségű eredményeket ad vissza. A jobb válaszminőség érdekében nem kell belefoglalnia a context segédüzenetek tulajdonságát az API-kérésekbe. Példákért tekintse meg az API referenciadokumentációját .

Függvényhívás

Egyes Azure OpenAI-modellek lehetővé teszik eszközök és tool_choice paraméterek definiálására a függvényhívás engedélyezéséhez. A rest API-val /chat/completionshívható függvények beállíthatók. Ha mind tools az adatforrások szerepelnek a kérelemben, a rendszer a következő szabályzatot alkalmazza.

  1. Ha tool_choice igen none, a rendszer figyelmen kívül hagyja az eszközöket, és csak az adatforrások használják a választ.
  2. Ellenkező esetben, ha tool_choice nincs megadva, vagy objektumként auto van megadva, a rendszer figyelmen kívül hagyja az adatforrásokat, és a válasz tartalmazza a kiválasztott függvények nevét és az argumentumokat, ha vannak ilyenek. Még ha a modell úgy dönt, hogy nincs kiválasztva függvény, az adatforrások továbbra is figyelmen kívül maradnak.

Ha a fenti szabályzat nem felel meg az igényeinek, fontolja meg más lehetőségeket is, például: prompt flow vagy Assistants API.

Tokenhasználat becslése az Azure OpenAI-hoz az Ön adatain

Az Azure OpenAI On Your Data Retrieveal Augmented Generation (RAG) egy olyan szolgáltatás, amely a keresési szolgáltatás (például az Azure AI Search) és a generációs (Azure OpenAI-modellek) használatával lehetővé teszi, hogy a felhasználók a megadott adatok alapján választ kaphassanak kérdéseikre.

Ennek a RAG-folyamatnak a részeként három lépés áll rendelkezésre magas szinten:

  1. A felhasználói lekérdezés átalakítása a keresési szándékok listájára. Ezt úgy végezheti el, hogy egy utasításokat, a felhasználói kérdést és a beszélgetési előzményeket tartalmazó üzenettel hívja meg a modellt. Hívjuk ezt szándékkérésnek.

  2. Minden szándékhoz több dokumentumtömb lesz lekérve a keresési szolgáltatásból. Miután a felhasználó által megadott szigorúsági küszöbérték alapján szűrte ki az irreleváns adattömböket, és belső logikán alapuló adattömböket adott át/összesít, a rendszer kiválasztja a felhasználó által megadott számú dokumentumtömböt.

  3. Ezeket a dokumentumrészleteket, valamint a felhasználói kérdést, a beszélgetési előzményeket, a szerepkör-információkat és az utasításokat a rendszer elküldi a modellnek a végső modellválasz létrehozásához. Hívjuk ezt a generációs kérésnek.

A modellnek összesen két hívása van:

  • A szándék feldolgozásához: A szándékkérelem jogkivonat-becslése tartalmazza a felhasználói kérdéshez, a beszélgetési előzményekhez és a modellnek a szándékgeneráláshoz küldött utasításokat.

  • A válasz létrehozásához: A generációs kérdés jogkivonat-becslése tartalmazza a felhasználói kérdéshez, a beszélgetési előzményekhez, a dokumentumtömbök lekért listájához, a szerepkör-információkhoz és a generációhoz küldött utasításokat.

A modell által létrehozott kimeneti jogkivonatokat (mind a szándékokat, mind a választ) figyelembe kell venni a teljes jogkivonat-becsléshez. Az alábbi négy oszlop összegzése a válasz létrehozásához használt átlagos összes jogkivonatot adja meg.

Modell Parancssori jogkivonatok száma Szándékkérési jogkivonatok száma Válasz jogkivonatok száma Szándék jogkivonatának száma
gpt-35-turbo-16k 4297 1366 111 25
gpt-4-0613 3997 1385 118 18
gpt-4-1106-preview 4538 811 119 27
gpt-35-turbo-1106 4854 1372 110 26

A fenti számok egy olyan adatkészleten végzett tesztelésen alapulnak, amely a következőkkel rendelkezik:

  • 191 beszélgetés
  • 250 kérdés
  • 10 átlagos jogkivonat kérdésenként
  • Beszélgetésenként átlagosan 4 beszélgetési fordulat

És a következő paraméterek.

Beállítás Érték
Lekért dokumentumok száma 5
Szigorúság 3
Adattömb mérete 1024
Korlátozza a betöltött adatokra adott válaszokat? Igaz

Ezek a becslések a fenti paraméterekhez beállított értékektől függően változnak. Ha például a lekért dokumentumok száma 10, a szigorúság pedig 1, akkor a jogkivonatok száma megnő. Ha a visszaadott válaszok nem korlátozódnak a betöltött adatokra, kevesebb utasítást kap a modell, és a jogkivonatok száma csökken.

A becslések a dokumentumok jellegétől és a feltett kérdésektől is függenek. Ha például a kérdések nyitottak, a válaszok valószínűleg hosszabbak lesznek. Hasonlóképpen egy hosszabb rendszerüzenet is hozzájárul egy hosszabb, több jogkivonatot használó kérdéshez, és ha a beszélgetési előzmények hosszúak, a kérés hosszabb lesz.

Modell A rendszerüzenethez tartozó jogkivonatok maximális kihasználása
GPT-35-0301 400
GPT-35-0613-16K 1000
GPT-4-0613-8K 400
GPT-4-0613-32K 2000.
GPT-35-turbo-0125 2000.
GPT-4-turbo-0409 4000
GPT-4o 4000
GPT-4o-mini 4000

A fenti táblázat a rendszerüzenethez használható jogkivonatok maximális számát mutatja. A modellválasz maximális jogkivonatainak megtekintéséhez tekintse meg a modellekről szóló cikket. Emellett a következők is használnak jogkivonatokat:

  • A metaüzenet: ha a modell válaszait az alapozó adattartalomra (inScope=True az API-ban) korlátozza, a jogkivonatok maximális száma magasabb. Ellenkező esetben (például ha inScope=False) a maximális érték alacsonyabb. Ez a szám a felhasználói kérdés és beszélgetés előzményeinek tokenhosszától függően változó. Ez a becslés tartalmazza az alapkérést és a lekérdezés újraírását kérő kéréseket a lekéréshez.

  • Felhasználói kérdés és előzmények: Változó, de 2000 jogkivonatra van megfeleltetve.

  • Lekért dokumentumok (adattömbök): A lekért dokumentumtömbök által használt tokenek száma több tényezőtől függ. Ennek felső határa a beolvasott dokumentumtömbök száma és az adattömb méretének szorzata. A többi mező megszámlálása után azonban csonkolja az adott modellhez használt jogkivonatok alapján.

    Az elérhető jogkivonatok 20%-a a modell válaszához van fenntartva. Az elérhető jogkivonatok fennmaradó 80%-a tartalmazza a metaüzenetet, a felhasználói kérdést és a beszélgetési előzményeket, valamint a rendszerüzenetet. A fennmaradó jogkivonat-költségvetést a lekért dokumentumtömbök használják.

A bemenet által felhasznált tokenek számának kiszámításához (például a kérdés, a rendszerüzenet/szerepkör adatai) használja az alábbi kódmintát.

import tiktoken

class TokenEstimator(object):

    GPT2_TOKENIZER = tiktoken.get_encoding("gpt2")

    def estimate_tokens(self, text: str) -> int:
        return len(self.GPT2_TOKENIZER.encode(text))
      
token_output = TokenEstimator.estimate_tokens(input_text)

Hibaelhárítás

A sikertelen műveletek hibaelhárításához mindig keresse meg az API-válaszban vagy az Azure OpenAI Studióban megadott hibákat vagy figyelmeztetéseket. Íme néhány gyakori hiba és figyelmeztetés:

Sikertelen betöltési feladatok

Kvótakorlátozásokkal kapcsolatos problémák

Nem hozható létre X nevű index az Y szolgáltatásban. A szolgáltatás indexkvótája túllépte az indexkvótát. Először törölnie kell a nem használt indexeket, késleltetnie kell az indexlétrehozási kérelmeket, vagy frissítenie kell a szolgáltatást a magasabb korlátok érdekében.

A szolgáltatás esetében túllépte az X standard indexelőkvótát. Jelenleg X standard indexelőkkel rendelkezik. Először törölnie kell a nem használt indexelőket, módosítania kell a "executionMode" indexelőt, vagy frissítenie kell a szolgáltatást a magasabb korlátok érdekében.

Megoldás:

Frissítsen magasabb tarifacsomagra, vagy törölje a nem használt eszközöket.

Időtúllépési problémák előfeldolgozása

Nem sikerült végrehajtani a képességet, mert a webes API-kérés meghiúsult

Nem sikerült végrehajtani a képességet, mert a webes API-képesség válasza érvénytelen

Megoldás:

Bontsa le a bemeneti dokumentumokat kisebb dokumentumokra, és próbálkozzon újra.

Engedélyekkel kapcsolatos problémák

Ez a kérés nem jogosult a művelet végrehajtására

Megoldás:

Ez azt jelenti, hogy a tárfiók nem érhető el a megadott hitelesítő adatokkal. Ebben az esetben tekintse át az API-nak átadott tárfiók hitelesítő adatait, és győződjön meg arról, hogy a tárfiók nem rejthető el privát végpont mögött (ha egy privát végpont nincs konfigurálva ehhez az erőforráshoz).

Minden felhasználói üzenet több keresési lekérdezésre is lefordítható, amelyek mindegyike párhuzamosan lesz elküldve a keresési erőforrásnak. Ez szabályozást eredményezhet, ha a keresési replikák és partíciók száma alacsony. Előfordulhat, hogy egy partíció és egy replika által támogatott másodpercenkénti lekérdezések maximális száma nem elegendő. Ebben az esetben fontolja meg a replikák és partíciók növelését, vagy az alvó/újrapróbálkozások logikáját az alkalmazásban. További információkért tekintse meg az Azure AI Search dokumentációját .

Regionális rendelkezésre állás és modelltámogatás

Régió gpt-35-turbo-16k (0613) gpt-35-turbo (1106) gpt-4-32k (0613) gpt-4 (1106-preview) gpt-4 (0125-preview) gpt-4 (0613) gpt-4o** gpt-4 (turbo-2024-04-09)
Kelet-Ausztrália
Kelet-Kanada
USA keleti régiója
USA 2. keleti régiója
Közép-Franciaország
Kelet-Japán
USA északi középső régiója
Kelet-Norvégia
USA déli középső régiója
Dél-India
Közép-Svédország
Észak-Svájc
Az Egyesült Királyság déli régiója
USA nyugati régiója

**Ez csak szöveges implementáció

Ha az Azure OpenAI-erőforrás egy másik régióban található, nem fogja tudni használni az Azure OpenAI-t az adatain.

Következő lépések