Appearance
Elsai Embeddings
Package: elsai-embeddings v0.2.0
Generates vector embeddings for text using Azure OpenAI and Amazon Bedrock models. Embeddings are the foundation for semantic search and vector store retrieval.
Installation
bash
pip install --extra-index-url https://core-packages.elsai.ai/root/elsai-embeddings/ elsai-embeddings==0.2.0Requirements: Python >= 3.9
Available models
| Class | Import path | Provider |
|---|---|---|
AzureOpenAIEmbeddingModel | elsai_embeddings.azure_embeddings | Azure OpenAI |
BedrockEmbeddings | elsai_embeddings.bedrock_embeddings | Amazon Bedrock |
AzureOpenAIEmbeddingModel
Generates vector embeddings using an Azure OpenAI deployment.
python
from elsai_embeddings.azure_embeddings import AzureOpenAIEmbeddingModel
embedding_model = AzureOpenAIEmbeddingModel(
model="text-embedding-ada-002",
azure_api_key="your-azure-api-key",
azure_api_version="2023-05-15",
azure_deployment="your-deployment-name",
azure_endpoint="https://your-resource.openai.azure.com/",
)
# Embed a single query
vector = embedding_model.embed_query("What is machine learning?")
# Embed multiple documents
vectors = embedding_model.embed_documents([
"Machine learning is a subset of AI.",
"Deep learning uses neural networks.",
])
# Access the underlying model instance
model_instance = embedding_model.get_embedding_model()Constructor parameters:
| Parameter | Description |
|---|---|
model | Model name identifier (e.g. "text-embedding-ada-002") |
azure_api_key | Azure OpenAI API key |
azure_api_version | API version (e.g. "2023-05-15") |
azure_deployment | Azure deployment name |
azure_endpoint | Azure OpenAI service endpoint URL |
Methods:
| Method | Description |
|---|---|
embed_query(text) | Returns a single embedding vector for the given text string |
embed_documents(list) | Returns a list of embedding vectors for multiple documents |
get_embedding_model() | Returns the underlying model instance |
Environment variables: AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, OPENAI_API_VERSION, AZURE_EMBEDDING_DEPLOYMENT_NAME
BedrockEmbeddings
Generates vector embeddings using Amazon Bedrock models, including Amazon Titan and Cohere variants.
Supported models:
| Model name | Description |
|---|---|
titan-embed-v2 | Amazon Titan Embeddings V2 |
cohere-multilingual | Cohere multilingual embedding model |
cohere-english | Cohere English embedding model |
python
from elsai_embeddings.bedrock_embeddings import BedrockEmbeddings
embedding_model = BedrockEmbeddings(
aws_access_key="your-aws-access-key",
aws_secret_key="your-aws-secret-key",
aws_session_token="your-session-token", # optional, for temporary credentials
aws_region="us-east-1",
model_name="titan-embed-v2",
)
# Embed a single text
vector = embedding_model.embed_text("Explain transformers.")
# Embed multiple texts
vectors = embedding_model.embed_texts([
"Document one content.",
"Document two content.",
])Constructor parameters:
| Parameter | Description |
|---|---|
aws_access_key | AWS access key ID |
aws_secret_key | AWS secret access key |
aws_session_token | AWS session token (optional — for temporary credentials) |
aws_region | AWS region where Bedrock is available (e.g. "us-east-1") |
model_name | Bedrock embedding model to use (see supported models above) |
config | Optional configuration object |
Methods:
| Method | Description |
|---|---|
embed_text(text) | Returns a single embedding vector for the given text string |
embed_texts(list) | Returns a list of embedding vectors for multiple texts |
Environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_SESSION_TOKEN, BEDROCK_EMBEDDING_MODEL_NAME
Using with vector stores
Embedding models integrate directly with elsai-vectordb:
python
from elsai_embeddings.azure_embeddings import AzureOpenAIEmbeddingModel
from elsai_vectordb.chromadb import ChromaVectorDb
embedding_model = AzureOpenAIEmbeddingModel(
model="text-embedding-ada-002",
azure_api_key="your-azure-api-key",
azure_api_version="2023-05-15",
azure_deployment="your-deployment-name",
azure_endpoint="https://your-resource.openai.azure.com/",
)
chroma = ChromaVectorDb(persist_directory="./db")
retriever = chroma.as_retriever(
collection_name="my_collection",
embedding_model=embedding_model,
)Version history
| Version | Changes |
|---|---|
| 0.2.0 | Amazon Bedrock embedding support added |
| 0.1.0 | Initial release with Azure OpenAI embeddings |