Skip to main content

Available LLM Providers

Cuadra AI supports models from multiple providers:
ProviderModelsFeatures
OpenAIGPT-4o, GPT-4 Turbo, o1, o3Function calling, JSON mode, vision
AnthropicClaude 3.5 Sonnet, Claude 3 OpusExtended thinking, 200K context
GoogleGemini 1.5 Pro, Gemini 2.0Long context, multimodal
Use GET /v1/models/catalog to see all available base models and their capabilities.

Quick Start

First, get a parentModelId from the catalog, then create your custom model:
# 1. List available base models
curl https://api.cuadra.ai/v1/models/catalog \
  -H "Authorization: Bearer YOUR_TOKEN"

# 2. Create a model using a parent model ID
curl -X POST https://api.cuadra.ai/v1/models \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: create-model-001" \
  -d '{
    "parentModelId": "PARENT_MODEL_ID_FROM_CATALOG",
    "displayName": "Support Bot"
  }'
The parentModelId comes from GET /v1/models/catalog. These are pre-configured system models (GPT-4o, Claude 3.5 Sonnet, etc.) with standard pricing.

Linking Datasets (RAG)

Connect a knowledge base to enable retrieval-augmented generation:
curl -X POST https://api.cuadra.ai/v1/models/model_abc123/datasets \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"datasetId": "ds_xyz789", "usageType": "rag"}'

Usage Types

Usage TypeBehaviorBest For
ragSearch and retrieve relevant chunks per queryLarge knowledge bases
contextAlways include entire dataset in contextSmall, always-relevant docs

Attaching System Prompts

Configure model behavior with a system prompt:
curl -X PATCH https://api.cuadra.ai/v1/models/model_abc123 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"systemPromptId": "sysprompt_xyz"}'
Use the Particles API to create modular, reusable prompt components.

FAQ

Can I switch LLM providers without changing code?

Yes. Update the model’s parentModelId via PATCH to point to a different base model. Your integration code using modelId stays the same.

What’s the difference between model and parentModelId?

Your model is a Cuadra AI model (custom displayName, linked datasets, system prompt). parentModelId references the underlying base model from the catalog (e.g., GPT-4o, Claude 3.5 Sonnet). No hard limit. However, more datasets = more RAG tokens = higher cost. Link only relevant datasets.

Do model changes affect existing conversations?

No. Conversations use the model configuration at creation time. Changes apply to new chats only.