Embeddings API Reference
Complete reference for the BrilliantAI Embeddings API.
Create Embeddings
Endpoint
POST https://api.brilliantai.co/embeddings
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
model | string | Yes | ID of the embedding model |
input | string or array | Yes | Text to embed |
encoding_format | string | No | Output 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
-
Performance Optimization
- Batch similar length texts
- Use appropriate chunk sizes
- Cache common embeddings
-
Cost Management
- Monitor token usage
- Optimize input text length
- Implement caching
-
Vector Storage
- Choose appropriate vector DB
- Index properly
- Regular maintenance
Next Steps
- Try our RAG example
- Explore Models