Sdílet prostřednictvím


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

  1. Vytvoření nebo otevření toku v studio Azure Machine Learning Další informace najdete v tématu Vytvoření toku.

  2. Vyberte + Další nástroje>Vyhledávání indexu a přidejte do toku nástroj Vyhledávání indexu.

    Snímek obrazovky s tlačítkem Nástroje M ore a rozevíracím seznamem zobrazující nástroj Vyhledávání indexu v studio Azure Machine Learning

    Snímek obrazovky s nástrojem Vyhledávání indexu přidaným do toku v studio Azure Machine Learning

  3. Zadejte hodnoty vstupních parametrů vyhledávacího nástroje indexu. Nástroj LLM může vygenerovat vektorový vstup.

  4. Podle potřeby přidejte do toku další nástroje nebo vyberte Spustit , aby se tok spustil.

  5. 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ů

  1. Aktualizujte modul runtime.

  2. 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.

  3. 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.

    Snímek obrazovky s rozevíracím seznamem Další nástroje v toku výzvy

  4. Pojmenujte nový uzel a vyberte Přidat.

    Snímek obrazovky s vyhledávacím uzlem indexu s názvem

  5. V novém uzlu vyberte textové pole "mlindex_content". Toto by mělo být první textové pole v seznamu.

    Snímek obrazovky s rozbaleným uzlem Vyhledávání indexu s červeným polem mlindex_content

  6. 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.
  7. Po vyplnění potřebných informací vyberte Uložit.

  8. 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).

    Snímek obrazovky s rozbaleným vyhledávacím uzlem indexu s informacemi o indexu v buňkách

  9. 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.

    Snímek obrazovky s rozbaleným vyhledávacím uzlem indexu s červeným obrysem vektorového vyhledávání

  10. 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.

  11. Odstraňte uzel Vyhledávání vektorového indexu a nadřazený vložený uzel.

Další kroky