GeminiEmbedder class is used to embed text data into vectors using the Gemini API. You can get one from here.
Usage
gemini_embedder.py
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.pgvector import PgVector
from agno.knowledge.embedder.google import GeminiEmbedder
# Embed sentence in database
embeddings = GeminiEmbedder().get_embedding("The quick brown fox jumps over the lazy dog.")
# Print the embeddings and their dimensions
print(f"Embeddings: {embeddings[:5]}")
print(f"Dimensions: {len(embeddings)}")
# Use an embedder in a knowledge base
knowledge = Knowledge(
vector_db=PgVector(
db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
table_name="gemini_embeddings",
embedder=GeminiEmbedder(),
),
max_results=2,
)
Params
| Parameter | Type | Default | Description |
|---|---|---|---|
dimensions | int | 768 | The dimensionality of the generated embeddings |
model | str | models/text-embedding-004 | The name of the Gemini model to use |
task_type | str | - | The type of task for which embeddings are being generated |
title | str | - | Optional title for the embedding task |
api_key | str | - | The API key used for authenticating requests. |
request_params | Optional[Dict[str, Any]] | - | Optional dictionary of parameters for the embedding request |
client_params | Optional[Dict[str, Any]] | - | Optional dictionary of parameters for the Gemini client |
gemini_client | Optional[Client] | - | Optional pre-configured Gemini client instance |
enable_batch | bool | False | Enable batch processing to reduce API calls and avoid rate limits |
batch_size | int | 100 | Number of texts to process in each API call for batch operations. |
Developer Resources
- View Cookbook