Il modello text-embedding-004
genera embedding all'avanguardia per parole, frasi e frasi. Gli embedding risultanti possono essere utilizzati per attività come ricerca semantica, classificazione del testo e clustering, tra molte altre. Per ulteriori informazioni sugli embedding, leggi il nostro paper di ricerca.
Che cosa sono gli incorporamenti?
Gli incorporamenti acquisiscono il significato semantico e il contesto, il che si traduce in un testo con significati simili che ha incorporamenti "più vicini". Ad esempio, le frasi "Ho portato il mio cane dal veterinario" e "Ho portato il mio gatto dal veterinario" avranno embedding molto vicini tra loro nello spazio vettoriale, poiché descrivono entrambi un contesto simile.
Puoi utilizzare gli embedding per confrontare testi diversi e capire come sono correlati. Ad esempio, se gli embedding del testo "gatto" e "cane" sono vicini, puoi dedurre che queste parole sono simili per significato, contesto o entrambi. Ciò consente una serie di casi d'uso comuni dell'IA.
Genera embedding
Utilizza il metodo embedContent
per generare gli incorporamenti di testo:
Python
import google.generativeai as genai
import os
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
result = genai.embed_content(
model="models/text-embedding-004",
content="What is the meaning of life?")
print(str(result['embedding']))
Node.js
const { GoogleGenerativeAI } = require("@google/generative-ai");
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: "text-embedding-004"});
async function run() {
const result = await model.embedContent("What is the meaning of life?");
console.log(result.embedding.values);
}
run();
curl
curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
"content": {
"parts":[{
"text": "What is the meaning of life?"}]}
}'
Vai
ctx := context.Background()
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GEMINI_API_KEY")))
if err != nil {
log.Fatal(err)
}
defer client.Close()
em := client.EmbeddingModel("text-embedding-004")
res, err := em.EmbedContent(ctx, genai.Text("What is the meaning of life?"))
if err != nil {
panic(err)
}
fmt.Println(res.Embedding.Values)
Casi d'uso
Gli embedding di testo vengono utilizzati in una serie di casi d'uso comuni dell'IA, ad esempio:
Ricerca di informazioni:puoi utilizzare gli incorporamenti per recuperare testo semanticamente simile a partire da un testo di input.
Clustering:il confronto di gruppi di embedding può aiutare a identificare tendenze nascoste.
Database vettoriale:quando implementi diversi casi d'uso di embedding in produzione, è normale archiviare gli embedding in un database vettoriale.
Classificazione:puoi addestrare un modello utilizzando gli embedding per classificare i documenti in categorie.
Modelli di embedding di Gemini
L'API Gemini offre due modelli che generano incorporamenti di testo:
Gli incorporamenti di testo sono una versione aggiornata del modello di incorporamento che offre dimensioni degli incorporamenti elastiche inferiori a 768 dimensioni. Gli embedding elastici generano dimensioni di output più piccole e possono far risparmiare sui costi di calcolo e archiviazione con una minore perdita di prestazioni.
Utilizza gli incorporamenti di testo per nuovi progetti o nuove applicazioni.