Installation

pip install eigen-client

Usage

import os
from eigen_client.index import Index
from eigen_client.data_types import Document

index = Index(
    url="http://localhost:8080",
    api_key="your eigendb api key...",
    model_name="text-embedding-3-small",
    model_provider="openai",
    model_provider_api_key="your openai api key..."
)

documents = [
    Document(id=1, data="Fresh herbs boost flavor.", metadata={"recipe_id": "123"}),
    Document(id=2, data="Slow simmer blends soup.", metadata={"recipe_id": "456"}),
    Document(id=3, data="Homemade bread smells great.", metadata={"recipe_id": "789"}),
    Document(id=4, data="Grilled veggies taste sweeter.", metadata={"recipe_id": "987"}),
    Document(id=5, data="Cast iron sears steak well.", metadata={"recipe_id": "654"})
]

index.upsert_docs(documents)

results = index.search_docs(
    string="Baking",
    k=3
)

print(results)

Supported embedding models

Model NameProviderDimensionsSimilarity Metric
text-embedding-3-smallOpenAI1536cosine
text-embedding-3-largeOpenAI3072cosine
text-embedding-ada-002OpenAI1536cosine
all-minilm:22mOllama384cosine
nomic-embed-text:v1.5Ollama768cosine
mxbai-embed-large:335mOllama1024cosine
snowflake-arctic-embed2:568mOllama1024cosine
snowflake-arctic-embed:335mOllama1024cosine
bge-m3:567mOllama1024cosine
bge-large:335mOllama1024cosine