Partilhar via


Ferramenta de Pesquisa de Índice para o Azure Machine Learning (Pré-visualização)

A ferramenta de Pesquisa de Índice de fluxo de prompt permite o uso de índices vetoriais comuns (como Azure AI Search, FAISS, e Pinecone) para geração aumentada de recuperação (RAG) no fluxo de prompt. A ferramenta deteta automaticamente os índices no espaço de trabalho e permite a seleção do índice a ser usado no fluxo.

Importante

A ferramenta de pesquisa de índice está atualmente em pré-visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Criar com a ferramenta Pesquisa de índice

  1. Crie ou abra um fluxo no estúdio do Azure Machine Learning. Para obter mais informações, consulte Criar um fluxo.

  2. Selecione + Mais ferramentas>Pesquisa de índice para adicionar a ferramenta Pesquisa de índice ao seu fluxo.

    Captura de ecrã do botão M ore tools e da lista pendente a mostrar a ferramenta de Pesquisa de Índice no estúdio do Azure Machine Learning.

    Captura de ecrã da ferramenta Pesquisa de Índice adicionada a um fluxo no estúdio do Azure Machine Learning.

  3. Insira valores para os parâmetros de entrada da ferramenta Pesquisa de índice. A ferramenta LLM pode gerar a entrada vetorial.

  4. Adicione mais ferramentas ao seu fluxo conforme necessário ou selecione Executar para executar o fluxo.

  5. Para saber mais sobre a saída retornada, consulte saídas.

Entradas

Os seguintes parâmetros de entrada estão disponíveis:

Nome Tipo Descrição Obrigatório
mlindex_content string Tipo de índice a utilizar. A entrada depende do tipo de índice. Exemplo de um JSON do Azure Cog Search Index pode ser visto abaixo da tabela* Sim
consultas de string, União[string, List[String]] O texto a consultar. Sim
query_type string O tipo de consulta a ser executada. As opções incluem palavra-chave, semântica, híbrida, etc. Sim
top_k integer A contagem de entidades mais bem pontuadas para retornar. O valor padrão é 3. Não

*Exemplo de JSON do ACS:

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



Saídas

A resposta de formato JSON a seguir é um exemplo retornado pela ferramenta que inclui as entidades com melhor pontuação. A entidade segue um esquema genérico de resultado de pesquisa vetorial fornecido pelo promptflow-vectordb SDK. Para a Pesquisa de índice vetorial, os seguintes campos são preenchidos:

Nome do Campo Tipo Description
do IdP ditado Pares chave-valor personalizados fornecidos pelo usuário ao criar o índice
page_content string Conteúdo do bloco vetorial que está sendo usado na pesquisa
score flutuante Depende do tipo de índice definido em Vetor Index. Se o tipo de índice for Faiss, a pontuação é a distância L2. Se o tipo de índice for Azure AI Search, a pontuação será a semelhança cosseno.
[
  {
    "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
  },
    
]

Como migrar de ferramentas herdadas para a ferramenta Pesquisa de índice

A ferramenta Pesquisa de índice procura substituir as três ferramentas de índice herdadas obsoletas, a ferramenta Pesquisa de índice vetorial, a ferramenta Pesquisa de banco de dados vetorial e a ferramenta Pesquisa de índice Faiss. Se você tiver um fluxo que contenha uma dessas ferramentas, siga as etapas abaixo para atualizar seu fluxo.

Atualize as suas ferramentas

  1. Atualize seu tempo de execução.

  2. Navegue até o seu fluxo. Você pode fazer isso selecionando a guia Fluxo de prompt em Criação, selecionando a guia Fluxos dinâmicos e, em seguida, selecionando o nome do fluxo.

  3. Uma vez dentro do fluxo, selecione o botão "+ Mais ferramentas" perto da parte superior do painel. Uma lista suspensa deve abrir e selecionar Pesquisa de índice [Visualização] para adicionar uma instância da ferramenta Pesquisa de índice.

    Captura de tela da lista suspensa Mais Ferramentas no fluxo de prompt.

  4. Nomeie o novo nó e selecione "Adicionar".

    Captura de tela do nó de pesquisa de índice com nome.

  5. No novo nó, selecione a caixa de texto "mlindex_content". Esta deve ser a primeira caixa de texto da lista.

    Captura de ecrã do nó de Pesquisa de Índice expandido com a caixa de mlindex_content delineada a vermelho.

  6. Na gaveta Gerar que aparece, siga as instruções abaixo para atualizar das três ferramentas herdadas:

    • Se estiver usando a ferramenta de pesquisa de índice vetorial herdada, selecione "Índice registrado" no menu suspenso "index_type". Selecione seu ativo de índice vetorial na lista suspensa "mlindex_asset_id".
    • Se estiver usando a ferramenta Faiss Index Lookup herdada, selecione "Faiss" no menu suspenso "index_type" e especifique o mesmo caminho que na ferramenta herdada.
    • Se estiver usando a ferramenta Vetor DB Lookup herdada, selecione AI Search ou Pinecone, dependendo do tipo de banco de dados, no menu suspenso "index_type" e preencha as informações conforme necessário.
  7. Depois de preencher as informações necessárias, selecione salvar.

  8. Ao retornar ao nó, deve haver informações preenchidas na caixa de texto "mlindex_content". Selecione a caixa de texto "consultas" em seguida e selecione os termos de pesquisa que deseja consultar. Você desejará selecionar o mesmo valor da entrada para o nó "embed_the_question", normalmente "${inputs.question}" ou "${modify_query_with_history.output}" (o primeiro se você estiver em um fluxo padrão e o segundo se estiver em um fluxo de bate-papo).

    Captura de ecrã do nó de Pesquisa de Índice expandido com informações de índice nas células.

  9. Selecione um tipo de consulta clicando na lista suspensa ao lado de "query_type". "Vetor" produzirá resultados idênticos ao fluxo herdado, mas dependendo da configuração do seu índice, outras opções, incluindo "Híbrido" e "Semântico", podem estar disponíveis.

    Captura de tela do nó Pesquisa de índice expandido com pesquisa vetorial delineada em vermelho.

  10. Edite componentes downstream para consumir a saída do nó recém-adicionado, em vez da saída do nó Vetor Index Lookup herdado.

  11. Exclua o nó Pesquisa de índice vetorial e seu nó de incorporação pai.

Próximos passos