Skip to main content

Embeddings API Reference

Complete reference for the BrilliantAI Embeddings API.

Create Embeddings

Endpoint

POST https://api.brilliantai.co/embeddings

Request Parameters

ParameterTypeRequiredDescription
modelstringYesID of the embedding model
inputstring or arrayYesText to embed
encoding_formatstringNoOutput format (float or base64)

Example Request

from openai import OpenAI

client = OpenAI(
base_url="https://api.brilliantai.co",
api_key="your-api-key"
)

response = client.embeddings.create(
model="text-embedding-3-large",
input="Your text string goes here"
)

vector = response.data[0].embedding

Response Format

{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [0.0023064255, ...],
"index": 0
}
],
"model": "text-embedding-3-large",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}

Batch Processing

Example

# Batch text inputs
texts = [
"First document",
"Second document",
"Third document"
]

response = client.embeddings.create(
model="text-embedding-3-large",
input=texts
)

# Get embeddings for each input
embeddings = [data.embedding for data in response.data]

Error Handling

try:
response = client.embeddings.create(...)
except openai.APIError as e:
print(f"API Error: {e}")
except openai.RateLimitError as e:
print(f"Rate Limit Error: {e}")
except openai.APIConnectionError as e:
print(f"Connection Error: {e}")

Vector Database Integration

Pinecone Example

import pinecone

# Initialize Pinecone
pinecone.init(api_key="your-pinecone-key")
index = pinecone.Index("your-index")

# Get embedding
response = client.embeddings.create(
model="text-embedding-3-large",
input="Document text"
)
vector = response.data[0].embedding

# Store in Pinecone
index.upsert([
("doc1", vector, {"metadata": "value"})
])

Weaviate Example

import weaviate

# Initialize Weaviate client
client = weaviate.Client("http://localhost:8080")

# Get embedding
response = openai_client.embeddings.create(
model="text-embedding-3-large",
input="Document text"
)
vector = response.data[0].embedding

# Store in Weaviate
client.data_object.create(
class_name="Document",
data_object={"content": "Document text"},
vector=vector
)

Best Practices

  1. Performance Optimization

    • Batch similar length texts
    • Use appropriate chunk sizes
    • Cache common embeddings
  2. Cost Management

    • Monitor token usage
    • Optimize input text length
    • Implement caching
  3. Vector Storage

    • Choose appropriate vector DB
    • Index properly
    • Regular maintenance

Next Steps