Sdílet prostřednictvím


Generování vkládání pro vyhledávací dotazy a dokumenty

Azure AI Search nehostuje modely vektorizace, takže jedním z vašich problémů je vytváření vkládání pro vstupy a výstupy dotazů. Můžete použít libovolný podporovaný model vkládání, ale v tomto článku se předpokládá, že modely vkládání Azure OpenAI pro tyto kroky.

Doporučujeme integrovanou vektorizaci, která poskytuje předdefinované bloky dat a vektorizaci. Integrovaná vektorizace přebírá závislost na indexerech, sadách dovedností a integrovaných nebo vlastních dovednostech, které odkazují na model, který se spouští externě z Azure AI Search.

Pokud chcete zpracovávat bloky dat a vektorizaci sami, poskytujeme ukázky v ukázkovém úložišti , které vám ukážou, jak integrovat s jinými komunitními řešeními.

Způsob použití vložených modelů v vektorových dotazech

  • Vstupy dotazu jsou vektory nebo text nebo obrázky, které se během zpracování dotazu převedou na vektory. Předdefinované řešení ve službě Azure AI Search je použití vektorizátoru.

    Případně můžete převod zpracovat sami předáním vstupu dotazu do modelu vkládání podle vašeho výběru. Abyste se vyhnuli omezování rychlosti, můžete ve své úloze implementovat logiku opakování. Pro ukázku Pythonu jsme použili výdrž.

  • Výstupy dotazu jsou všechny odpovídající dokumenty nalezené v indexu vyhledávání. Index vyhledávání musel být dříve načten s dokumenty, které obsahují jedno nebo více vektorových polí se vkládáním. Jakýkoliv vložený model, který jste použili k indexování, použijte stejný model pro dotazy.

Vytvoření prostředků ve stejné oblasti

Integrovaná vektorizace vyžaduje, aby prostředky byly ve stejné oblasti:

  1. Zkontrolujte oblasti pro model vkládání textu.

  2. Vyhledejte stejnou oblast pro Azure AI Search.

  3. Pokud chcete podporovat hybridní dotazy, které zahrnují sémantické hodnocení, nebo pokud chcete vyzkoušet integraci modelu strojového učení pomocí vlastní dovednosti v kanálu rozšiřování AI, vyberte oblast služby Azure AI Search, která tyto funkce poskytuje.

Vygenerování vkládání pro improvizovaný dotaz

Následující kód Pythonu vygeneruje vložení, které můžete vložit do vlastnosti "values" vektorového dotazu.

!pip install openai

import openai

openai.api_type = "azure"
openai.api_key = "YOUR-API-KEY"
openai.api_base = "https://YOUR-OPENAI-RESOURCE.openai.azure.com"
openai.api_version = "2024-02-01"

response = openai.Embedding.create(
    input="How do I use Python in VSCode?",
    engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)

Výstup je vektorové pole s 1 536 dimenzemi.

Tipy a doporučení pro integraci modelu vložení

  • Identifikovat případy použití: Vyhodnoťte konkrétní případy použití, kdy integrace modelu vkládání funkcí vektorového vyhledávání může do vašeho řešení vyhledávání přidat hodnotu. Může se jednat o multimodální nebo odpovídající obsah obrázku s textovým obsahem, vícejazyčným vyhledáváním nebo vyhledáváním podobnosti.

  • Návrh strategie vytváření bloků dat: Modely vkládání mají omezení počtu tokenů, které mohou přijmout, což představuje požadavek na blok dat pro velké soubory. Další informace najdete v tématu Blok velkých dokumentů pro řešení vektorového vyhledávání.

  • Optimalizace nákladů a výkonu: Vektorové vyhledávání může být náročné na prostředky a podléhá maximálním limitům, proto zvažte pouze vektorizaci polí, která obsahují sémantický význam. Zmenšete velikost vektoru, abyste mohli uložit více vektorů za stejnou cenu.

  • Zvolte správný model vkládání: Vyberte vhodný model pro konkrétní případ použití, například vkládání slov pro vyhledávání na základě textu nebo vkládání obrázků pro vizuální vyhledávání. Zvažte použití předem natrénovaných modelů, jako je vkládání textu ada-002 z rozhraní OpenAI nebo rozhraní REST API pro načítání obrázků z Azure AI Počítačové zpracování obrazu.

  • Normalizovat délky vektorů: Před uložením vektoru do indexu vyhledávání zajistěte, aby se zlepšila přesnost a výkon vyhledávání podobnosti. Většina předem natrénovaných modelů je už normalizována, ale ne všechny.

  • Vyladění modelu: V případě potřeby vylaďte vybraný model na datech specifických pro vaši doménu, abyste zlepšili jeho výkon a relevanci pro vaši vyhledávací aplikaci.

  • Testování a iterace: Průběžně testujte a upřesněte integraci modelu vkládání, abyste dosáhli požadovaného výkonu vyhledávání a spokojenosti uživatelů.

Další kroky