Embedding

Below you will find an overview table of various text embedding APIs, along with example Python code.

API

Free Tier

Pricing Model

Docs

OpenAI

~$5 credit

~$0.0001/1K tokens

Azure OpenAI

$200 credit

Same as OpenAI (~$0.0001/1K tokens)

Google Vertex AI

$300 credit

~$0.025 / million chars

AWS Bedrock

No free tier, but AWS credits may apply

~$0.00002/1K tokens (Titan V2)

Cohere

Limited free tier

~$0.0001/1K tokens

Hugging Face

~$0.10 free compute monthly

Pay per second of compute

Jina

1M tokens free

Pay per token after

Example Code

1. OpenAI

# Requires: pip install openai numpy
import os
import numpy as np
from openai import OpenAI

def get_openai_embedding(text: str, model: str = "text-embedding-3-small") -> np.ndarray | None:
    """Gets embedding from OpenAI API."""
    api_key = os.environ.get("OPENAI_API_KEY")
    if not api_key:
        print("Error: OPENAI_API_KEY not set.")
        return None
    try:
        client = OpenAI(api_key=api_key)
        response = client.embeddings.create(
            model=model,
            input=text
        )
        embedding = response.data[0].embedding
        return np.array(embedding, dtype=np.float32)
    except Exception as e:
        print(f"Error calling OpenAI embedding API: {e}")
        return None

# Example:
# text_to_embed = "Hello world"
# embedding_vector = get_openai_embedding(text_to_embed)
# if embedding_vector is not None:
#     print(embedding_vector)
#     print(f"Dimension: {len(embedding_vector)}")

2. Azure OpenAI

3. Google Vertex AI

4. AWS Bedrock

5. Cohere

6. Hugging Face Inference API

7. Jina AI

Last updated