Gemini Embedder
The GeminiEmbedder class is used to embed text data into vectors using the Gemini API. You can get one from here.
Usage
1from kern.knowledge.knowledge import Knowledge2from kern.vectordb.pgvector import PgVector3from kern.knowledge.embedder.google import GeminiEmbedder45# Embed sentence in database6embeddings = GeminiEmbedder().get_embedding("The quick brown fox jumps over the lazy dog.")78# Print the embeddings and their dimensions9print(f"Embeddings: {embeddings[:5]}")10print(f"Dimensions: {len(embeddings)}")1112# Use an embedder in a knowledge base13knowledge = Knowledge(14 vector_db=PgVector(15 db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",16 table_name="gemini_embeddings",17 embedder=GeminiEmbedder(),18 ),19 max_results=2,20)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