Skip to main content

Overview

PraisonAI supports 35+ embedding providers through LiteLLM integration, giving you access to hundreds of embedding models with a unified API.

Quick Start

from praisonaiagents import embedding

# OpenAI (default)
result = embedding("Hello world", model="text-embedding-3-small")

# Cohere
result = embedding("Hello world", model="cohere/embed-english-v3.0")

# Voyage AI
result = embedding("Hello world", model="voyage/voyage-3")

# Azure OpenAI
result = embedding("Hello world", model="azure/text-embedding-ada-002")

print(f"Dimensions: {len(result.embeddings[0])}")

CLI Usage

# OpenAI
praisonai embed "Hello world" --model text-embedding-3-small

# Cohere
praisonai embed "Hello world" --model cohere/embed-english-v3.0

# Any provider
praisonai embedding "Hello world" --model voyage/voyage-3

Supported Providers

Tier 1: Major Cloud Providers

ProviderPrefixExample ModelDocs
OpenAIopenai/ or nonetext-embedding-3-small
Azure OpenAIazure/azure/text-embedding-ada-002
Google Vertex AIvertex_ai/vertex_ai/textembedding-gecko
Google Geminigemini/gemini/text-embedding-004
AWS Bedrockbedrock/bedrock/amazon.titan-embed-text-v1
Azure AIazure_ai/azure_ai/Cohere-embed-v3-english

Tier 2: Specialized Embedding Providers

ProviderPrefixExample ModelDocs
Coherecohere/cohere/embed-english-v3.0
Voyage AIvoyage/voyage/voyage-3
Jina AIjina_ai/jina_ai/jina-embeddings-v3
Mistralmistral/mistral/mistral-embed

Tier 3: Open Source & Self-Hosted

ProviderPrefixExample ModelDocs
HuggingFacehuggingface/huggingface/BAAI/bge-large-en-v1.5
Ollamaollama/ollama/nomic-embed-text
Infinityinfinity/infinity/BAAI/bge-small-en-v1.5
vLLMhosted_vllm/hosted_vllm/intfloat/e5-mistral-7b-instruct
LM Studiolm_studio/lm_studio/nomic-embed-text

Tier 4: Additional Providers

ProviderPrefixExample ModelDocs
Together AItogether_ai/together_ai/togethercomputer/m2-bert-80M-8k-retrieval
Fireworks AIfireworks_ai/fireworks_ai/nomic-ai/nomic-embed-text-v1.5
NVIDIA NIMnvidia_nim/nvidia_nim/NV-Embed-QA
Databricksdatabricks/databricks/databricks-bge-large-en
Snowflakesnowflake/snowflake/snowflake-arctic-embed-m
Watsonxwatsonx/watsonx/ibm/slate-125m-english-rtrvr
SambaNovasambanova/sambanova/E5-mistral-7b-instruct
Nebiusnebius/nebius/BAAI/bge-en-icl
OVHcloudovhcloud/ovhcloud/multilingual-e5-base
Volcenginevolcengine/volcengine/doubao-embedding

Model Selection Guide

By Use Case

Use CaseRecommended ModelDimensions
General Purposetext-embedding-3-small1536
High Qualitytext-embedding-3-large3072
Multilingualcohere/embed-multilingual-v3.01024
Code Searchvoyage/voyage-code-31024
Cost Effectivecohere/embed-english-light-v3.0384
Self-Hostedollama/nomic-embed-text768

By Dimension Size

DimensionsModels
256-512cohere/embed-english-light-v3.0, jina_ai/jina-embeddings-v2-small-en
768-1024cohere/embed-english-v3.0, voyage/voyage-3, mistral/mistral-embed
1536text-embedding-3-small, azure/text-embedding-ada-002
3072text-embedding-3-large

Environment Variables

Each provider requires specific environment variables:
# OpenAI
export OPENAI_API_KEY="sk-..."

# Azure OpenAI
export AZURE_API_KEY="..."
export AZURE_API_BASE="https://your-resource.openai.azure.com"

# Cohere
export COHERE_API_KEY="..."

# Voyage AI
export VOYAGE_API_KEY="..."

# Google
export GOOGLE_API_KEY="..."  # or GEMINI_API_KEY

# AWS Bedrock
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION_NAME="us-east-1"

API Reference

Parameters

ParameterTypeDefaultDescription
inputstr or List[str]RequiredText(s) to embed
modelstrtext-embedding-3-smallModel identifier with optional provider prefix
dimensionsintNoneOutput dimensions (if supported)
encoding_formatstrfloatfloat or base64
timeoutfloat600.0Request timeout in seconds
api_keystrNoneAPI key override
api_basestrNoneAPI base URL override

Response

EmbeddingResult(
    embeddings=[[0.1, 0.2, ...]],  # List of embedding vectors
    model="text-embedding-3-small",
    usage={"prompt_tokens": 4, "total_tokens": 4}
)