From gemini-api
Generate text embeddings using Google Gemini API for RAG, semantic similarity, classification, and clustering tasks. Invoke when user wants to embed text, create embeddings, or convert text to vectors with Gemini.
npx claudepluginhub legacybridge-tech/claude-plugins --plugin gemini-apiThis skill uses the workspace's default tool permissions.
Generate text embeddings using Google Gemini API via REST.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Generate text embeddings using Google Gemini API via REST.
GOOGLE_API_KEY must be sethttps://generativelanguage.googleapis.com/v1betagemini-embedding-001Choose based on use case:
RETRIEVAL_QUERY: For search queriesRETRIEVAL_DOCUMENT: For documents to be searchedSEMANTIC_SIMILARITY: For comparing text similarityCLASSIFICATION: For text classificationCLUSTERING: For grouping similar textscurl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {
"parts": [{"text": "Hello world"}]
}
}'
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {
"parts": [{"text": "What is machine learning?"}]
},
"task_type": "RETRIEVAL_QUERY"
}'
Truncate embeddings to a smaller size for efficiency:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {
"parts": [{"text": "Hello world"}]
},
"output_dimensionality": 256
}'
Process multiple texts in a single API call:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"requests": [
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "What is the meaning of life?"}]}
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "How does the brain work?"}]}
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "What is quantum computing?"}]}
}
]
}'
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"requests": [
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "Document about AI"}]},
"task_type": "RETRIEVAL_DOCUMENT"
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "Document about ML"}]},
"task_type": "RETRIEVAL_DOCUMENT"
}
]
}'
{
"embedding": {
"values": [
-0.02342152,
0.01676572,
0.009261323,
...
]
}
}
{
"embeddings": [
{
"values": [-0.022374554, -0.004560777, ...]
},
{
"values": [-0.007975887, -0.02141119, ...]
},
{
"values": [-0.0047850125, 0.008764064, ...]
}
]
}
| Task Type | Use Case | Example |
|---|---|---|
RETRIEVAL_QUERY | Search queries | "What is machine learning?" |
RETRIEVAL_DOCUMENT | Documents to search | Article content, wiki pages |
SEMANTIC_SIMILARITY | Compare text similarity | Duplicate detection |
CLASSIFICATION | Categorize text | Spam detection, sentiment |
CLUSTERING | Group similar texts | Topic modeling |
RETRIEVAL_DOCUMENTRETRIEVAL_QUERY# Embed the query
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "How to train a neural network?"}]},
"task_type": "RETRIEVAL_QUERY"
}'
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"requests": [
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "The cat sat on the mat"}]},
"task_type": "SEMANTIC_SIMILARITY"
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "A feline rested on the rug"}]},
"task_type": "SEMANTIC_SIMILARITY"
}
]
}'
Then compute cosine similarity between the two embedding vectors.
output_dimensionality for smaller, faster embeddings when full precision isn't needed