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

Vectorización de texto

Última actualización: 07 feb 2025
Vectorización de texto

Utilice los modelos de incrustación y la API de incrustación disponibles en watsonx.ai para crear incrustaciones de texto que capturen el significado de frases o pasajes para utilizarlos en sus aplicaciones de IA generativa.

Formas de desarrollarse

Puede vectorizar texto, es decir, convertir texto en representaciones numéricas de texto llamadas incrustaciones, utilizando estos métodos de programación:

También puede utilizar modelos de incrustación de IBM de plataformas de terceros, como:

De forma alternativa, puede utilizar herramientas gráficas de la interfaz de usuario de watsonx.ai para vectorizar documentos como parte de un flujo de trabajo de chat o para crear índices vectoriales. Consulte los recursos siguientes:

Visión general

Convertir texto en incrustaciones de texto o vectorizar texto ayuda en la comparación de documentos, la resolución de preguntas y en tareas de generación aumentada por recuperación (RAG), donde se necesita recuperar contenido relevante rápidamente.

Para obtener más información, consulte los siguientes temas:

Modelos de bases compatibles

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

Para averiguar qué modelos de incrustación están disponibles para su uso mediante programación, utilice el método List the available foundation models (Enumerar los modelos de base disponibles ) en el watsonx.ai como API de servicio. Especifique el parámetro filters=function_embedding para devolver solo los modelos de incrustación disponibles.

curl -X GET \
  'https://{cluster_url}/ml/v1/foundation_model_specs?version=2024-07-25&filters=function_embedding'

Python

Vea la clase Embeddings de la biblioteca watsonx.ai Python.

El siguiente cuaderno de muestra está disponible:

API REST

Utiliza el método Generate embeddings en la API de watsonx.ai para vectorizar texto.

Ejemplo de API REST

El siguiente fragmento de código utiliza el modelo de incrustación de texto ( slate-30m-english-rtrvr ) para convertir las dos líneas de texto siguientes en incrustaciones de texto:

  • Un modelo de inteligencia artificial generativo a gran escala ( foundation model ) es un modelo de inteligencia artificial generativo a gran escala que puede adaptarse a una amplia gama de tareas posteriores.
  • IA generativa: una clase de algoritmos de IA que pueden producir varios tipos de contenido, como texto, código fuente, imágenes, audio y datos sintéticos.

En este ejemplo, se están enviando dos líneas de texto para su conversión. Puede especificar hasta 1000 líneas. Cada línea que envíe debe ajustarse al límite máximo de tokens de entrada definido por el modelo de incrustación.

Para abordar los casos en los que una línea podría ser más larga, 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 " input_text " se incluye para que el texto original se añada a la respuesta, lo que facilita el emparejamiento del texto original con cada conjunto de valores de incrustación.

Usted especifica el modelo de incrustación que desea utilizar como " model_id " en la carga útil para el método de incrustación.

Ejemplo de solicitud de REST API

curl -X POST \
  'https://{region}.cloud.ibm.com/ml/v1/text/embeddings?version=2024-05-02' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJraWQiOi...' \
  --data-raw '{
  "inputs": [
    "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks.",
    "Generative AI a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
  ],
  "parameters":{
    "truncate_input_tokens": 128,
    "return_options":{
      "input_text":true
    }
  },
  "model_id": "ibm/slate-30m-english-rtrvr",
  "project_id": "81966e98-c691-48a2-9bcc-e637a84db410"
}'

Ejemplo de respuesta REST API

La respuesta se parece a esto, donde los 384 valores en cada incrustación se reducen a 6 valores para mejorar la legibilidad del ejemplo:

{
  "model_id": "ibm/slate-30m-english-rtrvr",
  "created_at": "2024-05-02T16:21:56.771Z",
  "results": [
    {
      "embedding": [
        -0.023104044,
        0.05364946,
        0.062400896,
        ...
        0.008527246,
        -0.08910927,
        0.048190728
      ],
      "input": "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks."
    },
    {
      "embedding": [
        -0.024285838,
        0.03582272,
        0.008893765,
        ...
        0.0148864435,
        -0.051656704,
        0.012944954
      ],
      "input": "Generative AI a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
    }
  ],
  "input_token_count": 57
}

Más información

Tema principal: Codificación de soluciones de IA generativa