0 / 0
Volver a la versión inglesa de la documentación

Reordenar pasajes de documentos

Última actualización: 07 feb 2025
Reordenar pasajes de documentos

Utilice el modelo reranker y la API reranker de texto que están disponibles en watsonx.ai para clasificar un conjunto de pasajes de mayor a menor probabilidad de responder a una consulta especificada.

Formas de desarrollarse

Puede extraer texto de documentos utilizando estos métodos de programación:

Visión general

Clasificar un conjunto de pasajes en orden de mayor a menor relevancia para una consulta es útil para las tareas de búsqueda y recuperación y los flujos de trabajo de chat, especialmente en escenarios en los que son importantes las respuestas fundamentadas y objetivas.

Modelos de bases compatibles

Para obtener más información sobre los modelos de reevaluación disponibles en watsonx.ai, consulte Modelos de codificador compatibles.

Para obtener una lista de los modelos de reranker que están disponibles para su uso, puede utilizar el método List the available foundation models en la API watsonx.ai as a service. Especifique el parámetro ' filters=function_rerank ' para devolver sólo los modelos de reranker disponibles.

Por ejemplo:

curl -X GET \
  'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-10-18&filters=function_rerank'
Nota: Muchos de los modelos de incrustación también indican que admiten la función rerank. Sin embargo, los modelos de incrustación admiten la reordenación semántica, que es un método de clasificación menos preciso. Cuando los modelos de incrustación vuelven a clasificar los pasajes, se basan en las puntuaciones de similitud derivadas de los valores de los vectores de incrustación. Los modelos de codificación cruzada son más eficaces en la reordenación porque comparan explícitamente cada pasaje con la consulta y generan puntuaciones de clasificación por emparejamiento.

Python

Vea la clase Reranker en la biblioteca watsonx.ai Python.

API REST

Como se muestra en el siguiente diagrama, el método reranker de la API watsonx.ai acepta una solicitud de API REST con una consulta y una lista de pasajes de documentos. La API envía estas cadenas de texto a un modelo reranker. El modelo de reordenación empareja la consulta con cada pasaje por turnos, convierte el texto en vectores de incrustación y, a continuación, compara los vectores de cada par y puntúa su similitud entre sí. A continuación, el modelo vuelve a clasificar los pasajes basándose en las puntuaciones de similitud generadas. Aunque el modelo convierte texto en incrustaciones de texto, las incrustaciones no se devuelven. Las incrustaciones de texto se utilizan para generar una puntuación de similitud, y solo se devuelve la puntuación.

Diagrama que muestra el flujo de una solicitud API de reranker

Referencia de API

Para más detalles, consulte la documentación de referencia de la API.

Ejemplo de API REST

El código del ejemplo utiliza el modelo " ms-marco-minilm-l-12-v2 " para jerarquizar los siguientes pasajes de texto de forma que el pasaje que contiene la información que tiene más probabilidades de responder a la consulta aparezca en primer lugar.

Consultar

¿Qué es un flujo de trabajo de IA basado en agentes?

Pasajes

Los pasajes de entrada son definiciones del glosario de watsonx.ai:

  • Punto 0. Un foundation model es un modelo generativo de IA a gran escala que puede adaptarse a una amplia gama de tareas posteriores.

  • Tema 1. La IA generativa es una clase de algoritmos de IA que pueden producir varios tipos de contenidos, como texto, código fuente, imágenes, audio y datos sintéticos.

  • Tema 2. La IA agenética es un flujo generativo de IA que puede descomponer una pregunta en múltiples tareas, asignar tareas a los agentes gen IA adecuados y sintetizar una respuesta sin intervención humana.

  • Tema 3. La ética de la IA es un campo multidisciplinar que estudia cómo optimizar el impacto beneficioso de la IA al tiempo que se reducen los riesgos y los resultados adversos. Ejemplos de cuestiones éticas de la IA son la responsabilidad y la privacidad de los datos, la imparcialidad, la explicabilidad, la solidez, la transparencia, la sostenibilidad medioambiental, la inclusión, la agencia moral, la alineación de valores, la responsabilidad, la confianza y el mal uso de la tecnología.

  • Tema 4. La gobernanza de la IA es el acto de una organización de gobernar, a través de sus instrucciones corporativas, personal, procesos y sistemas para dirigir, evaluar, supervisar y tomar medidas correctivas a lo largo del ciclo de vida de la IA, para proporcionar garantías de que el sistema de IA está funcionando como la organización pretende, como sus partes interesadas esperan y como exige la normativa pertinente.

Ejemplo de solicitud de REST API

En este ejemplo, sólo 5 pasajes se someten a una nueva clasificación. Puede especificar hasta 1.000 entradas. Sin embargo, cuantos más pasajes se especifiquen, más tardará el proceso de reordenación, ya que un modelo de codificación cruzada procesa cada pasaje junto con la consulta, uno tras otro.

Cada entrada que envíe debe ajustarse al límite máximo de tokens de entrada definido por el modelo del reranker.

Para resolver los casos en los que un pasaje puede tener más tokens de los que permite el modelo, en este ejemplo se especifica el parámetro " truncate_input_tokens " para forzar el truncamiento de la línea. De lo contrario, la solicitud podría fallar.

El parámetro de opciones de devolución ' inputs ' se incluye en este ejemplo para que el texto del pasaje original se incluya en la respuesta, lo que facilita la comprensión de cómo se vuelven a clasificar los pasajes originales. En un flujo de trabajo real, puede que no necesite incluir el parámetro ' inputs.

Especifique el modelo de reranker que desea utilizar como ' model_id ' en la carga útil del método de reranker de texto.

En el siguiente ejemplo, sustituya el{url}variable with the right value for your instance, such asus-south.ml.cloud.ibm.com. Añade tu propio token de portador e ID de proyecto.

curl -X POST \
  'https://{url}/ml/v1/text/rerank?version=2024-10-17' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJraWQiOi...' \
  --data '{
      "inputs": [
        {
          "text": "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks."
        },
        {
          "text": "Generative AI is a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
        },
        {
          "text": "Agentic AI is a generative AI flow that can decompose a prompt into multiple tasks, assign tasks to appropriate gen AI agents, and synthesize an answer without human intervention."
        },
        {
          "text": "AI ethics is a multidisciplinary field that studies how to optimize AI'\''s beneficial impact while reducing risks and adverse outcomes. Examples of AI ethics issues are data responsibility and privacy, fairness, explainability, robustness, transparency, environmental sustainability, inclusion, moral agency, value alignment, accountability, trust, and technology misuse."
        },
        {
          "text": "AI governance is an organization'\''s act of governing, through its corporate instructions, staff, processes and systems to direct, evaluate, monitor, and take corrective action throughout the AI lifecycle, to provide assurance that the AI system is operating as the organization intends, as its stakeholders expect, and as required by relevant regulation."
        }
      ],
      "query": "What is an agent-driven AI workflow?",
      "parameters":{
        "truncate_input_tokens": 512,
        "return_options":{
          "inputs":true
        }
      },
      "model_id": "cross-encoder/ms-marco-minilm-l-12-v2",
      "project_id": "51f3a990-4372-4ac3-9ddb-ed99d9b50840"
    }'

Si sólo desea obtener los pasajes de mayor rango, puede especificar el parámetro " top_n ". El siguiente ejemplo muestra cómo indicar que se desea que el modelo devuelva sólo un pasaje, el más relacionado con la consulta:

"parameters":{
    "truncate_input_tokens": 512,
    "return_options":{
      "inputs":true,
      "top_n": 1
    }
}

Ejemplo de respuesta REST API

Se devuelve la siguiente respuesta para la solicitud de ejemplo. Algunas cosas a tener en cuenta:

  • Los pasajes se reordenan para mostrar primero los pasajes con las puntuaciones más altas.

    El modelo devuelve con precisión la definición de Inteligencia Artificial Agéntica a la cabeza de la lista porque es la más relacionada con la pregunta sobre los flujos de trabajo dirigidos por agentes.

  • Los valores de índice, que van de 0 a 4, representan las posiciones originales de los pasajes en la matriz " inputs " que se envió en la solicitud.

    Por ejemplo, el pasaje sobre la IA Agéntica era el tercero de la lista y, por tanto, tiene el valor de índice " 2.

  • El campo " input_token_count " muestra el número total de tokens procesados por la solicitud.

    Para más información sobre cómo se contabilizan las fichas, consulte Información de facturación.

{
  "model_id": "cross-encoder/ms-marco-minilm-l-12-v2",
  "created_at": "2024-10-17T14:01:47.322Z",
  "results": [
    {
      "index": 2,
      "score": 5.063366413116455,
      "input": {
        "text": "Agentic AI is a generative AI flow that can decompose a prompt into multiple tasks, assign tasks to appropriate gen AI agents, and synthesize an answer without human intervention."
      }
    },
    {
      "index": 4,
      "score": -0.992393970489502,
      "input": {
        "text": "AI governance is an organization's act of governing, through its corporate instructions, staff, processes and systems to direct, evaluate, monitor, and take corrective action throughout the AI lifecycle, to provide assurance that the AI system is operating as the organization intends, as its stakeholders expect, and as required by relevant regulation."
      }
    },
    {
      "index": 1,
      "score": -3.5372314453125,
      "input": {
        "text": "Generative AI is a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
      }
    },
    {
      "index": 0,
      "score": -4.646212100982666,
      "input": {
        "text": "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks."
      }
    },
    {
      "index": 3,
      "score": -4.926990032196045,
      "input": {
        "text": "AI ethics is a multidisciplinary field that studies how to optimize AI's beneficial impact while reducing risks and adverse outcomes. Examples of AI ethics issues are data responsibility and privacy, fairness, explainability, robustness, transparency, environmental sustainability, inclusion, moral agency, value alignment, accountability, trust, and technology misuse."
      }
    }
  ],
  "input_token_count": 292,
  "system": {
    "warnings": [
      {
        "message": "This model is a Non-IBM Product governed by a third-party license that may impose use restrictions and other obligations. By using this model you agree to its terms as identified in the following URL.",
        "id": "disclaimer_warning",
        "more_info": "https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fm-models.html?context=wx"
      }
    ]
  }
}

Si incluye ' "top_n": 1 en el objeto parameters como se muestra en el ejemplo anterior, la respuesta tendrá el siguiente aspecto:

{
  "model_id": "cross-encoder/ms-marco-minilm-l-12-v2",
  "created_at": "2024-10-17T20:18:50.867Z",
  "results": [
    {
      "index": 2,
      "score": 5.063366413116455,
      "input": {
        "text": "Agentic AI is a generative AI flow that can decompose a prompt into multiple tasks, assign tasks to appropriate gen AI agents, and synthesize an answer without human intervention."
      }
    }
  ],
  "input_token_count": 292,
  "system": {
    "warnings": [
      {
        "message": "This model is a Non-IBM Product governed by a third-party license that may impose use restrictions and other obligations. By using this model you agree to its terms as identified in the following URL.",
        "id": "disclaimer_warning",
        "more_info": "https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fm-models.html?context=wx"
      }
    ]
  }
}

Información sobre facturación

La facturación se basa en el número de tokens procesados por el modelo de reranker que esté utilizando. El número de fichas utilizadas por palabra varía según el modelo.

Recuerde que un modelo de codificación cruzada procesa la consulta y cada pasaje de entrada conjuntamente para generar una puntuación para cada entrada. Por lo tanto, para sumar las fichas, debes utilizar una fórmula como ésta:

(Tokens en la consulta x Número de entradas) + (Suma de tokens en todas las entradas x Número de consultas)

Nota:

La API sólo acepta una consulta. Por lo tanto, ' Number of queries ' siempre es igual a 1.

Además del texto presentado, el modelo utiliza los siguientes marcadores. Cada marcador cuenta como una ficha:

  • CLS: Significa clasificación y se añade al principio de una secuencia que se envía al modelo para identificar ese inicio de secuencia.
  • SEP: Significa separador y se utiliza para identificar el final de una secuencia y el comienzo de la siguiente.

Cada entrada contiene un marcador " CLS " que identifica el inicio de la secuencia de consulta + entrada, y dos marcadores separadores " SEP ". Por lo tanto, añada (3 x Número de entradas) a la suma que obtuvo anteriormente para obtener el total.

Más información

Tema principal: Codificación de soluciones de IA generativa