The GeminiEmbedder class is used to embed text data into vectors using the Gemini API. You can get one from here.

Usage

cookbook/embedders/gemini_embedder.py
from phi.agent import AgentKnowledge
from phi.vectordb.pgvector import PgVector
from phi.embedder.google import GeminiEmbedder

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)}")

# Example usage:
knowledge_base = AgentKnowledge(
    vector_db=PgVector(
        db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
        table_name="gemini_embeddings",
        embedder=GeminiEmbedder(),
    ),
    num_documents=2,
)

Params

ParameterTypeDefaultDescription
dimensionsint768The dimensionality of the generated embeddings
modelstrmodels/text-embedding-004The name of the Gemini model to use
task_typestr-The type of task for which embeddings are being generated
titlestr-Optional title for the embedding task
api_keystr-The API key used for authenticating requests.
request_paramsOptional[Dict[str, Any]]-Optional dictionary of parameters for the embedding request
client_paramsOptional[Dict[str, Any]]-Optional dictionary of parameters for the Gemini client
gemini_clientOptional[Client]-Optional pre-configured Gemini client instance