Kurz: Volba modelů vkládání a chatů pro RAG ve službě Azure AI Search
Řešení RAG založené na službě Azure AI Search využívá závislost na vkládání modelů pro vektorizaci a na modelech chatu pro konverzační vyhledávání dat.
V tomto kurzu se naučíte:
- Zjistěte, které modely v cloudu Azure fungují s integrovanou integrací
- Další informace o modelech Azure používaných pro chat
- Nasazení modelů a shromáždění informací o modelu pro váš kód
- Konfigurace přístupu vyhledávacího webu k modelům Azure
- Další informace o vlastních dovednostech a vektorizátorech pro připojení modelů mimo Azure
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Požadavky
Azure Portal, který se používá k nasazení modelů a konfiguraci přiřazení rolí v cloudu Azure.
Role Vlastník nebo Správce uživatelských přístupů ve vašem předplatném Azure, která je nezbytná pro vytváření přiřazení rolí. V tomto kurzu použijete aspoň tři prostředky Azure. Připojení se ověřují pomocí ID Microsoft Entra, které vyžaduje možnost vytvářet role. Přiřazení rolí pro připojení k modelům jsou zdokumentovaná v tomto článku. Pokud nemůžete vytvářet role, můžete místo toho použít klíče rozhraní API.
Poskytovatel modelu, jako je Azure OpenAI, Azure AI Vision prostřednictvím prostředku služeb Azure AI s více službami nebo Azure AI Foundry.
V tomto kurzu používáme Azure OpenAI. Ostatní poskytovatelé jsou uvedeni, abyste věděli, jaké máte možnosti integrované vektorizace.
Azure AI Search, úroveň Basic nebo vyšší poskytuje spravovanou identitu použitou v přiřazeních rolí.
Sdílená oblast. K dokončení všech kurzů v této sérii musí tato oblast podporovat Azure AI Search i poskytovatele modelu. Projděte si podporované oblasti pro:
Azure AI Search má v současné době omezenou dostupnost v některých oblastech. Pokud chcete potvrdit stav oblasti, zkontrolujte seznam oblastí služby Azure AI Search.
Tip
V tomto článku najdete seznam překrývajících se oblastí.
Kontrola modelů podporujících předdefinované vektorizace
Vektorizovaný obsah zlepšuje výsledky dotazu v řešení RAG. Azure AI Search podporuje integrovanou vektorizační akci v kanálu indexování. Podporuje také vektorizaci v době dotazu, převod vstupů textu nebo obrázků na vkládání vektorového vyhledávání. V tomto kroku identifikujte model vkládání, který funguje pro váš obsah a dotazy. Pokud poskytujete nezpracovaná vektorová data a nezpracované vektorové dotazy nebo pokud vaše řešení RAG neobsahuje vektorová data, tento krok přeskočte.
Vektorové dotazy, které obsahují krok převodu textu na vektor, musí používat stejný model vkládání, který byl použit při indexování. Pokud používáte různé modely, vyhledávací web nevyvolá chybu, ale dostanete špatné výsledky.
Pokud chcete splnit požadavek na stejný model, zvolte modely vkládání, na které lze během indexování a prostřednictvím vektorizátorů během provádění dotazů odkazovat prostřednictvím dovedností. V následující tabulce jsou uvedeny páry dovedností a vektorizátoru. Pokud chcete zjistit, jak se používají vložené modely, přeskočte k vytvoření kanálu indexování pro kód, který volá dovednosti vkládání a odpovídající vektorizátor.
Azure AI Search poskytuje podporu dovedností a vektorizátorů pro následující modely vkládání do cloudu Azure.
Klient | Vkládání modelů | Dovednost | Vektorizátor |
---|---|---|---|
Azure OpenAI | text-embedding-ada-002, text-embedding-3-large, text-embedding-3-small |
AzureOpenAIEmbedding | AzureOpenAIEmbedding |
Azure AI Vision | multimodal 4.0 1 | AzureAIVision | AzureAIVision |
Katalog modelů Azure AI Foundry | Facebook-DinoV2-Image-Embeddings-ViT-Base, Facebook-DinoV2-Image-Embeddings-ViT-Giant, Cohere-embed-v3-english, Cohere-embed-v3-multilingual |
AML 2 | Katalog modelů Azure AI Foundry |
1 Podporuje vektorizaci obrázků a textu.
2 Nasazené modely v katalogu modelů jsou přístupné přes koncový bod AML. Pro toto připojení používáme stávající dovednosti AML.
Kromě modelů uvedených tady můžete použít i jiné modely. Další informace najdete v tématu Použití modelů mimo Azure pro vkládání v tomto článku.
Poznámka:
Vstupy do vložených modelů jsou obvykle blokovaná data. V modelu RAG služby Azure AI Search se bloky dat zpracovávají v kanálu indexeru, který je popsaný v dalším kurzu této série.
Kontrola modelů používaných pro generování AI v době dotazu
Azure AI Search nemá kód integrace pro modely chatu, takže byste měli zvolit LLM, který znáte a který splňuje vaše požadavky. Kód dotazu můžete upravit tak, aby vyzkoušel různé modely, aniž byste museli znovu sestavit index nebo znovu spustit jakoukoli část kanálu indexování. Projděte si hledání a vygenerujte odpovědi na kód, který volá model chatu.
Pro vyhledávání chatu se běžně používají následující modely:
Klient | Modely chatu |
---|---|
Azure OpenAI | GPT-35-Turbo, GPT-4, GPT-4o, GPT-4 Turbo |
Modely GPT-35-Turbo a GPT-4 jsou optimalizované pro práci se vstupy formátovanými jako konverzace.
V tomto kurzu používáme GPT-4o. Během testování jsme zjistili, že je méně pravděpodobné, že bude doplněna o vlastní trénovací data. Například vzhledem k dotazu "kolik země je pokryto vodou?", GPT-35-Turbo odpověděl pomocí své integrované znalosti země, aby uvedl, že 71 % země je pokryto vodou, i když vzorková data neposkytují tento fakt. Naproti tomu GPT-4o odpověděl (správně) s textem "Nevím".
Nasazení modelů a shromažďování informací
Modely musí být nasazené a přístupné prostřednictvím koncového bodu. Jak dovednosti související s vkládáním, tak vektorizátory potřebují počet dimenzí a název modelu.
Tato série kurzů používá následující modely a poskytovatele modelů:
- Vkládání textu –3 velké v Azure OpenAI pro vkládání
- GPT-4o v Azure OpenAI pro dokončení chatu
Abyste mohli nasazovat modely v Azure OpenAI, musíte mít přispěvatel OpenAI služeb Cognitive Services nebo vyšší.
Přejděte do Azure AI Foundry.
V nabídce vlevo vyberte Nasazení .
Vyberte Nasadit model Nasazení základního>modelu.
V rozevíracím seznamu vyberte text-embedding-3-large a potvrďte výběr.
Zadejte název nasazení. Doporučujeme text-embedding-3-large.
Přijměte výchozí hodnoty.
Vyberte Nasadit.
Opakujte předchozí kroky pro gpt-4o.
Poznamenejte si názvy modelů a koncový bod. Vložené dovednosti a vektorizátory sestavují celý koncový bod interně, takže potřebujete jenom identifikátor URI prostředku.
https://MY-FAKE-ACCOUNT.openai.azure.com/openai/deployments/text-embedding-3-large/embeddings?api-version=2024-06-01
Například koncový bod, který byste měli poskytnout v definicích dovedností a vektorizátoru, jehttps://MY-FAKE-ACCOUNT.openai.azure.com
.
Konfigurace přístupu vyhledávacího webu k modelům Azure
Pro spuštění kanálu a dotazu tento kurz používá ID Microsoft Entra pro ověřování a role pro autorizaci.
Přiřaďte sami sebe a oprávnění identit vyhledávací služby v Azure OpenAI. Kód pro tento kurz běží místně. Požadavky na Azure OpenAI pocházejí z vašeho systému. Výsledky hledání z vyhledávacího webu se také předávají do Azure OpenAI. Z těchto důvodů vy i vyhledávací služba potřebujete oprávnění k Azure OpenAI.
Přihlaste se k webu Azure Portal a vyhledejte vyhledávací službu.
Nakonfigurujte Azure AI Search tak, aby používala identitu spravovanou systémem.
Vyhledejte prostředek Azure OpenAI.
V nabídce vlevo vyberte Řízení přístupu (IAM ).
Vyberte Přidat přiřazení role.
Vyberte uživatele OpenAI služeb Cognitive Services.
Vyberte Spravovanou identitu a pak vyberte Členové. V rozevíracím seznamu vyhledejte identitu spravovanou systémem pro vaši vyhledávací službu.
Dále vyberte Uživatel, skupina nebo instanční objekt a pak vyberte Členové. Vyhledejte svůj uživatelský účet a vyberte ho z rozevíracího seznamu.
Ujistěte se, že máte k roli přiřazené dva objekty zabezpečení.
Výběrem možnosti Zkontrolovat a Přiřadit vytvořte přiřazení rolí.
Pokud chcete získat přístup k modelům ve službě Azure AI Vision, přiřaďte uživatele OpenAI služeb Cognitive Services. Pro Azure AI Foundry přiřaďte vývojáře Azure AI.
Použití modelů mimo Azure pro vkládání
Vzor pro integraci jakéhokoli modelu vkládání je zabalit ho do vlastní dovednosti a vlastní vektorizátoru. Tato část obsahuje odkazy na referenční články. Příklad kódu, který volá model mimo Azure, najdete v ukázce vlastních vkládání.
Klient | Vkládání modelů | Dovednost | Vektorizátor |
---|---|---|---|
Všechny | Všechny | vlastní dovednost | custom vectorizer |