Compartir a través de


Búsqueda de índices para Azure Machine Learning (versión preliminar)

La herramienta de flujo de avisos Búsqueda de índices permite el uso de índices vectoriales comunes (como Búsqueda de Azure AI, FAISS y Pinecone) para la generación aumentada de recuperación (RAG) en el flujo de avisos. La herramienta detecta automáticamente los índices del área de trabajo y permite usar la selección del índice en el flujo.

Importante

La herramienta Búsqueda de índices se encuentra actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin contrato de nivel de servicio y no es aconsejable usarla para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

Compilación con la herramienta Búsqueda de índices

  1. Cree o abra un flujo en Estudio de Azure Machine Learning. Para obtener más información, consulte Crear un flujo.

  2. Seleccione + Más herramientas>Búsqueda de índices para agregar la herramienta Búsqueda de índices al flujo.

    Captura de pantalla del botón herramientas Más y la lista desplegable en la que se muestra la herramienta Búsqueda de índices en Estudio de Azure Machine Learning.

    Captura de pantalla de la herramienta Búsqueda de índices agregada a un flujo en Estudio de Azure Machine Learning.

  3. Escriba los valores de los parámetros de entrada de la herramienta Búsqueda de índices. La herramienta LLM puede generar el vector de entrada.

  4. Agregue más herramientas al flujo según sea necesario o seleccione Ejecutar para ejecutar el flujo.

  5. Para obtener más información sobre la salida devuelta, consulte salidas.

Entradas

Los siguientes parámetros de entrada están disponibles:

Nombre Escribir Descripción Obligatorio
mlindex_content string Tipo de índice que se va a usar. La entrada depende del tipo de índice. Debajo de la tabla se muestra un ejemplo de JSON de índice de búsqueda de Azure Cog*
Consultas string, Union[string, List[String]] Texto que se va a consultar.
query_type string Tipo de consulta que se va a realizar. Las opciones incluyen palabra clave, semántica, híbrida, etc.
top_k integer Recuento de entidades con puntuación superior que se van a devolver. El valor predeterminado es 3. No

*Ejemplo de JSON de 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



Salidas

La siguiente respuesta en formato JSON es un ejemplo devuelto por la herramienta que incluye las entidades con mayor puntuación. La entidad sigue un esquema genérico del resultado de búsqueda vectorial proporcionado por el SDK de promptflow-vectordb. Para la búsqueda de índices vectoriales, se rellenan los campos siguientes:

Nombre del campo Tipo Descripción
metadata dict Pares clave-valor personalizados proporcionados por el usuario al crear el índice
page_content string Contenido del fragmento de vector que se usa en la búsqueda
score FLOAT Depende del tipo de índice definido en el índice vectorial. Si el tipo de índice es Faiss, la puntuación es la distancia L2. Si el tipo de índice es Azure AI Search, la puntuación es la similitud coseno.
[
  {
    "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
  },
    
]

Migración de herramientas heredadas a la herramienta de búsqueda de índices

La herramienta de búsqueda de índices busca reemplazar las tres herramientas de índice heredadas en desuso, la herramienta de búsqueda de índices vectoriales, la herramienta de búsqueda de base de datos vectoriales y la herramienta de búsqueda de índices de Faiss. Si tiene un flujo que contiene una de estas herramientas, siga los pasos que se indican a continuación para actualizar el flujo.

Actualización de las herramientas

  1. Actualice el runtime.

  2. Vaya al flujo. Para ello, seleccione la pestaña Flujo de avisos en Creación, seleccione la pestaña dinámica Flujos y después el nombre del flujo.

  3. Una vez que esté dentro del flujo, seleccione el botón "+ Más herramientas" cerca de la parte superior del panel. Se debe abrir una lista desplegable y seleccionar Búsqueda de índices [versión preliminar] para agregar una instancia de la herramienta de búsqueda de índices.

    Captura de pantalla de la lista desplegable Más herramientas en el flujo de avisos.

  4. Asigne un nombre al nuevo nodo y seleccione "Agregar".

    Captura de pantalla del nodo de búsqueda de índice con el nombre.

  5. En el nuevo nodo, seleccione el cuadro de texto "mlindex_content". Debe ser el primer cuadro de texto de la lista.

    Captura de pantalla del nodo Búsqueda de índice expandido con el cuadro mlindex_content resaltado en rojo.

  6. En el cajón Generar que aparece, siga las siguientes instrucciones para actualizar desde las tres herramientas heredadas:

    • Si usa la herramienta heredada de búsqueda de índice de vectores, seleccione “Índice registrado" en la lista desplegable “index_type”. Seleccione el recurso de índice vectorial en la lista desplegable “mlindex_asset_id”.
    • Si usa la herramienta de búsqueda de índices de Faiss heredada, seleccione “Faiss” en la lista desplegable “index_type” y especifique la misma ruta de acceso que en la herramienta heredada.
    • Si usa la herramienta heredada de búsqueda de base de datos vectoriales, seleccione búsqueda de IA o Pinecone en función del tipo de base de datos en la lista desplegable “index_type” y rellene la información según sea necesario.
  7. Después de rellenar la información necesaria, seleccione Guardar.

  8. Al volver al nodo, debe haber información rellenada en el cuadro de texto “mlindex_content”. Seleccione el siguiente cuadro de texto "consultas" y después los términos de búsqueda que quiera consultar. Deberá seleccionar el mismo valor que la entrada del nodo "embed_the_question", normalmente "${inputs.question}" o "${modify_query_with_history.output}" (el primero si está en un flujo estándar y el segundo si está en un flujo de chat).

    Captura de pantalla del nodo Búsqueda de índice expandido con información de índice en las celdas.

  9. Seleccione un tipo de consulta haciendo clic en la lista desplegable situada junto a “query_type”. "Vector" generará resultados idénticos al flujo heredado, pero en función de la configuración del índice, es posible que haya disponibles otras opciones, como "Híbrido" y "Semántico".

    Captura de pantalla del nodo Index Lookup expandido con el vector de búsqueda delineado en rojo.

  10. Edite los componentes de bajada para consumir la salida del nodo recién agregado, en lugar de la salida del nodo de búsqueda de índices vectoriales heredado.

  11. Elimine el nodo de búsqueda de índice de vectores y su nodo de inserción primario.

Pasos siguientes