modul plug-in ai_embed_text (Preview)
Platí pro: ✅Azure Data Explorer
Modul ai_embed_text
plug-in umožňuje vkládání textu pomocí jazykových modelů, což umožňuje různé scénáře související s AI, jako jsou aplikace rag (Retrieval Augmented Generation) a sémantické vyhledávání. Modul plug-in podporuje modely vkládání služeb Azure OpenAI, ke které se přistupuje pomocí spravované identity.
Požadavky
- Služba Azure OpenAI nakonfigurovaná se spravovanou identitou
- Spravované identity a zásady popisku nakonfigurované tak, aby umožňovaly komunikaci se službami Azure OpenAI
Syntaxe
evaluate
ai_embed_text
(
text, connectionString [,
options [,
IncludeErrorMessages]])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
text | string |
✔️ | Text, který chcete vložit. Hodnota může být odkaz na sloupec nebo konstantní skalární. |
connectionString | string |
✔️ | Připojovací řetězec pro jazykový model ve formátu <ModelDeploymentUri>;<AuthenticationMethod> ; nahraďte <ModelDeploymentUri> identifikátorem URI nasazení modelu AI a <AuthenticationMethod> metodou ověřování. |
volby | dynamic |
Možnosti, které řídí volání koncového bodu modelu vložení Viz Možnosti. | |
IncludeErrorMessages | bool |
Určuje, jestli se mají výstupní chyby v novém sloupci ve výstupní tabulce zobrazit. Výchozí hodnota: false . |
Možnosti
Následující tabulka popisuje možnosti, které řídí způsob, jakým se požadavky provádějí do koncového bodu modelu vložení.
Name | Typ | Popis |
---|---|---|
RecordsPerRequest |
int |
Určuje počet záznamů, které se mají zpracovat na požadavek. Výchozí hodnota: 1 . |
CharsPerRequest |
int |
Určuje maximální počet znaků, které se mají zpracovat na požadavek. Výchozí hodnota: 0 (neomezená). Azure OpenAI počítá tokeny, přičemž každý token se přibližně překládá na čtyři znaky. |
RetriesOnThrottling |
int |
Určuje počet pokusů o opakování, když dojde k omezování. Výchozí hodnota: 0 . |
GlobalTimeout |
timespan |
Určuje maximální dobu čekání na odpověď z modelu vkládání. Výchozí hodnota: null |
ModelParameters |
dynamic |
Parametry specifické pro model vkládání, například dimenze vkládání nebo identifikátory uživatelů pro účely monitorování. Výchozí hodnota: null . |
ReturnSuccessfulOnly |
bool |
Určuje, zda se mají vrátit pouze úspěšně zpracované položky. Výchozí hodnota: false . Pokud je parametr IncludeErrorMessages nastaven na true , tato možnost je vždy nastavena na false . |
Konfigurace spravovaných identit a zásad popisku
Pokud chcete použít modul ai_embed_text
plug-in, musíte nakonfigurovat následující zásady:
- spravovaná identita: Povolte spravované identitě přiřazené systémem ověřování ve službách Azure OpenAI.
- bublinový popisek: Autorizovat doménu koncového bodu modelu AI.
Ke konfiguraci těchto zásad použijte příkazy v následujících krocích:
Konfigurace spravované identity:
.alter-merge cluster policy managed_identity ``` [ { "ObjectId": "system", "AllowedUsages": "AzureAI" } ] ```
Nakonfigurujte zásadu popisku:
.alter-merge cluster policy callout ``` [ { "CalloutType": "azure_openai", "CalloutUriRegex": "https://[A-Za-z0-9\\-]{3,63}\\.openai\\.azure\\.com/.*", "CanCall": true } ] ```
Návraty
Vrátí následující nové sloupce vkládání:
- Sloupec s příponou _embedding , která obsahuje vložené hodnoty
- Pokud je nakonfigurováno na vrácení chyb, sloupec s příponou _embedding_error , která obsahuje chybové řetězce nebo je ponechán prázdný, pokud je operace úspěšná.
V závislosti na typu vstupu modul plug-in vrátí různé výsledky:
- Odkaz na sloupec: Vrátí jeden nebo více záznamů s dalšími sloupci, které mají předponu názvu referenčního sloupce. Pokud má například vstupní sloupec název TextData, výstupní sloupce se nazývají TextData_embedding a pokud jsou nakonfigurované tak, aby vracely chyby, TextData_embedding_error.
- Konstantní skalární: Vrátí jeden záznam s dalšími sloupci, které nemají předponu. Názvy sloupců jsou _embedding a pokud jsou nakonfigurované tak, aby vracely chyby, _embedding_error.
Příklady
Následující příklad vloží text Embed this text using AI
pomocí modelu vložení Azure OpenAI.
let expression = 'Embed this text using AI';
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;managed_identity=system';
evaluate ai_embed_text(expression, connectionString)
Následující příklad vloží více textů pomocí modelu vkládání Azure OpenAI.
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;managed_identity=system';
let options = dynamic({
"RecordsPerRequest": 10,
"CharsPerRequest": 10000,
"RetriesOnThrottling": 1,
"GlobalTimeout": 2m
});
datatable(TextData: string)
[
"First text to embed",
"Second text to embed",
"Third text to embed"
]
| evaluate ai_embed_text(TextData, connectionString, options , true)
Osvědčené postupy
Modely vkládání Azure OpenAI podléhají vysokému omezování a časté volání tohoto modulu plug-in můžou rychle dosáhnout limitů omezování.
Pokud chcete modul plug-in efektivně používat ai_embed_text
při minimalizaci omezování a nákladů, postupujte podle těchto osvědčených postupů:
- Velikost žádosti o řízení: Upravte počet záznamů (
RecordsPerRequest
) a znaků na požadavek (CharsPerRequest
). - Časový limit ovládacího dotazu: Nastavte
GlobalTimeout
hodnotu nižší než časový limit dotazu, aby se zajistilo, že při úspěšných voláních až do tohoto bodu dojde ke ztrátě průběhu. - Zpracování limitů rychlosti elegantněji: Nastavte opakování na omezování (
RetriesOnThrottling
).