Embedding
Caskada does NOT provide built-in utilities
Instead, we offer examples that you can implement yourself. This approach gives you more flexibility and control over your project's dependencies and functionality.
Below you will find an overview table of various text embedding APIs, along with example Python code.
Embedding is more a micro optimization, compared to the Flow Design.
It's recommended to start with the most convenient one and optimize later.
API
Free Tier
Pricing Model
Docs
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