Vettorializzazione del testo
Utilizzate i modelli di embedding e le API di embeddings disponibili su watsonx.ai per creare embeddings di testo che catturino il significato di frasi o passaggi da utilizzare nelle vostre applicazioni di IA generativa.
Modi per sviluppare
È possibile vettorializzare il testo, ossia convertire il testo in rappresentazioni numeriche del testo chiamate embeddings, utilizzando questi metodi di programmazione:
È inoltre possibile utilizzare i modelli di incorporamento di IBM da piattaforme di terze parti, come ad esempio:
In alternativa, è possibile utilizzare gli strumenti grafici dell'interfaccia utente di watsonx.ai per vettorializzare i documenti come parte di un flusso di lavoro di chat o per creare indici vettoriali. Si vedano le seguenti risorse:
Panoramica
La conversione del testo in incorporazioni testuali, o la vettorializzazione del testo, è utile per il confronto dei documenti, per la risposta alle domande e per le attività di retrieval-augmented generation (RAG), in cui è necessario recuperare rapidamente i contenuti rilevanti.
Per ulteriori informazioni, fare riferimento ai seguenti argomenti:
Modelli di fondazione supportati
Per informazioni dettagliate sui modelli di incorporamento disponibili in watsonx.ai, vedere Modelli di encoder supportati.
Per sapere quali modelli di incorporamento sono disponibili per l'uso programmatico, usare il metodo List the available foundation models (Elenco dei modelli di fondazione disponibili ) nell'API watsonx.ai as a service. Specificare il parametro filters=function_embedding
per restituire solo i modelli di incorporazione disponibili.
curl -X GET \
'https://{cluster_url}/ml/v1/foundation_model_specs?version=2024-07-25&filters=function_embedding'
Python
Vedere la classe Embeddings della libreria watsonx.ai Python.
È disponibile il seguente quaderno di esempio:
API REST
Utilizzare il metodo Generate embeddings dell'API watsonx.ai per vettorializzare il testo.
Esempio di API REST
Il seguente frammento di codice utilizza il modello slate-30m-english-rtrvr per convertire le due righe di testo seguenti in incorporazioni di testo:
- Un modello di fondazione è un modello di intelligenza artificiale generativa su larga scala che può essere adattato a un'ampia gamma di compiti a valle.
- L'IA generativa è una classe di algoritmi di IA in grado di produrre vari tipi di contenuti, tra cui testo, codice sorgente, immagini, audio e dati sintetici.
Anche se in questo esempio vengono inviate per la conversione solo due righe di testo, è possibile specificare fino a 1.000 righe. Ogni riga inviata deve essere conforme al limite massimo di token di input definito dal modello di incorporamento.
Per risolvere i casi in cui una riga potrebbe essere più lunga, è possibile specificare il parametro truncate_input_tokens
per forzare il troncamento della riga. In caso contrario, la richiesta potrebbe fallire. In questo esempio, il parametro input_text
è incluso in modo che il testo originale venga aggiunto alla risposta, facilitando l'abbinamento del testo originale con ogni serie di valori di incorporamento.
Si specifica il modello di incorporazione che si vuole usare come model_id
nel payload del metodo di incorporazione.
Esempio di richiesta API REST
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"
}'
Esempio di risposta API REST
La risposta è simile a questa, anche se in questo esempio di risposta i 384 valori di ogni incorporazione sono stati ridotti a 6 per migliorare la leggibilità dell'esempio:
{
"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
}
Ulteriori informazioni
- Modelli di incorporazione supportati
- Conversione del testo in incorporazioni di testo
- Utilizzo di testo vettoriale con compiti di generazione aumentati dal reperimento
- Riferimento API
Argomento principale: Codificare soluzioni di IA generativa