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 temas siguientes:
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'
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 base es un modelo generativo de IA 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.
Aunque en este ejemplo sólo se someten a conversión dos líneas de texto, puede especificar hasta 1.000 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. En este ejemplo, se incluye el parámetro input_text
para que el texto original se añada a la respuesta, facilitando así 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, aunque en este ejemplo, los 384 valores de 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
}
Python
Véase la clase Embeddings de la biblioteca watsonx.ai Python.
El siguiente cuaderno de muestra está disponible:
Más información
- Modelos de incrustación compatibles
- Convertir texto en incrustaciones de texto
- Patrón de generación mejorado por recuperación
- Referencia de API
Tema principal: Codificación de soluciones de IA generativa