Nástroj Vyhledávání indexů pro Azure Machine Learning (Preview)
Nástroj Pro vyhledávání indexu příkazového řádku umožňuje použití běžných vektorových indexů (jako je Azure AI Search, FAISS a Pinecone) k načtení rozšířené generace (RAG) v toku výzvy. Nástroj automaticky rozpozná indexy v pracovním prostoru a umožní výběr indexu, který se použije v toku.
Důležité
Nástroj Vyhledávání indexu je aktuálně ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Sestavení pomocí nástroje Vyhledávání indexu
Vytvoření nebo otevření toku v studio Azure Machine Learning Další informace najdete v tématu Vytvoření toku.
Vyberte + Další nástroje>Vyhledávání indexu a přidejte do toku nástroj Vyhledávání indexu.
Zadejte hodnoty vstupních parametrů vyhledávacího nástroje indexu. Nástroj LLM může vygenerovat vektorový vstup.
Podle potřeby přidejte do toku další nástroje nebo vyberte Spustit , aby se tok spustil.
Další informace o vrácených výstupech najdete ve výstupech.
Vstupy
K dispozici jsou následující vstupní parametry:
Name | Typ | Popis | Povinní účastníci |
---|---|---|---|
mlindex_content | string | Typ indexu, který se má použít. Vstup závisí na typu indexu. Příklad JSON indexu služby Azure Cog Search je vidět pod tabulkou* | Ano |
dotazy | string, Union[string, List[String]] | Text, který se má dotazovat. | Ano |
query_type | string | Typ dotazu, který se má provést. Mezi možnosti patří klíčové slovo, sémantické, hybridní atd. | Ano |
top_k | integer | Počet entit s nejvyšším skóre, které se mají vrátit. Výchozí hodnota je 3. | No |
*Příklad ACS JSON:
embeddings:
api_base: <api_base>
api_type: azure
api_version: 2023-07-01-preview
batch_size: '1'
connection:
id: /subscriptions/<subscription>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace> /connections/<AOAI_connection>
connection_type: workspace_connection
deployment: <embedding_deployment>
dimension: <embedding_model_dimension>
kind: open_ai
model: <embedding_model>
schema_version: <version>
index:
api_version: 2023-07-01-Preview
connection:
id: /subscriptions/<subscription>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace> /connections/<cogsearch_connection>
connection_type: workspace_connection
endpoint: <cogsearch_endpoint>
engine: azure-sdk
field_mapping:
content: id
embedding: content_vector_open_ai
metadata: id
index: <index_name>
kind: acs
semantic_configuration_name: azureml-default
Výstupy
Následující odpověď formátu JSON je příkladem vrácený nástrojem, který obsahuje entity s nejvyšším skóre k. Entita se řídí obecným schématem výsledku vektorového hledání, který poskytuje sada promptflow-vectordb SDK. Pro vyhledávání vektorového indexu jsou vyplněna následující pole:
Název pole | Typ | Popis |
---|---|---|
metadata | Dict | Přizpůsobené páry klíč-hodnota poskytované uživatelem při vytváření indexu |
page_content | string | Obsah vektorového bloku používaného ve vyhledávání |
score | float (číslo s plovoucí řádovou čárkou) | Závisí na typu indexu definovaném v vektorovém indexu. Pokud je typ indexu Faiss, je skóre L2 vzdálenost. Pokud je typ indexu Azure AI Search, skóre je kosinusová podobnost. |
[
{
"metadata":{
"answers":{},
"captions":{
"highlights":"sample_highlight1",
"text":"sample_text1"
},
"page_number":44,
"source":{
"filename":"sample_file1.pdf",
"mtime":1686329994,
"stats":{
"chars":4385,
"lines":41,
"tiktokens":891
},
"url":"sample_url1.pdf"
},
"stats":{
"chars":4385,"lines":41,"tiktokens":891
}
},
"page_content":"vector chunk",
"score":0.021349556744098663
},
{
"metadata":{
"answers":{},
"captions":{
"highlights":"sample_highlight2",
"text":"sample_text2"
},
"page_number":44,
"source":{
"filename":"sample_file2.pdf",
"mtime":1686329994,
"stats":{
"chars":4385,
"lines":41,
"tiktokens":891
},
"url":"sample_url2.pdf"
},
"stats":{
"chars":4385,"lines":41,"tiktokens":891
}
},
"page_content":"vector chunk",
"score":0.021349556744098663
},
]
Migrace ze starších nástrojů na nástroj Vyhledávání indexu
Nástroj Vyhledávání indexu hledá nahrazení tří zastaralých nástrojů indexu, nástroje Vector Index Lookup, nástroje Vector DB Lookup a Faiss Index Lookup. Pokud máte tok, který obsahuje některý z těchto nástrojů, upgradujte tok podle následujících kroků.
Upgrade nástrojů
Přejděte do svého toku. Můžete to udělat tak, že v části Vytváření vyberete kartu Tok výzvy, vyberete kontingenční kartu Toky a pak vyberete název toku.
Jakmile budete uvnitř toku, vyberte tlačítko +Další nástroje v horní části podokna. Rozevírací seznam by se měl otevřít a vybrat Vyhledávání indexu [Preview] a přidat instanci nástroje Vyhledávání indexu.
Pojmenujte nový uzel a vyberte Přidat.
V novém uzlu vyberte textové pole "mlindex_content". Toto by mělo být první textové pole v seznamu.
V zásobníku Pro generování, který se zobrazí, postupujte podle následujících pokynů a upgradujte ze tří starších nástrojů:
- Pokud používáte starší nástroj Vyhledávání vektorového indexu, v rozevíracím seznamu index_type vyberte Registrovaný index. V rozevíracím seznamu "mlindex_asset_id" vyberte asset vektorového indexu.
- Pokud používáte starší nástroj Faiss Index Lookup , vyberte v rozevíracím seznamu "index_type" "Faiss" a zadejte stejnou cestu jako ve starší verzi nástroje.
- Pokud používáte starší nástroj Vyhledávání ve službě Vector DB , v závislosti na typu databáze v rozevíracím seznamu "index_type" vyberte AI Search nebo Pinecone a podle potřeby vyplňte informace.
Po vyplnění potřebných informací vyberte Uložit.
Po návratu do uzlu by měly být v textovém poli "mlindex_content" vyplněny informace. Vyberte další textové pole "dotazy" a vyberte hledané termíny, které chcete dotazovat. Budete chtít vybrat stejnou hodnotu jako vstup do uzlu "embed_the_question", obvykle ${vstupy.question} nebo ${modify_query_with_history.output}" (pokud jste ve standardním toku, a druhý, pokud jste v toku chatu).
Vyberte typ dotazu kliknutím na rozevírací seznam vedle položky "query_type". Vektor vytvoří identické výsledky jako starší verze toku, ale v závislosti na konfiguraci indexu můžou být k dispozici i další možnosti, včetně možnosti Hybrid a Sémantic.
Upravte podřízené komponenty tak, aby místo výstupu staršího uzlu vyhledávání vektorového indexu spotřebovávají výstup nově přidaného uzlu.
Odstraňte uzel Vyhledávání vektorového indexu a nadřazený vložený uzel.