Skip to content

CQLAI AI Providers

Configure AI providers for natural language query generation in CQLAI.

Supported Providers

Provider Models Best For
OpenAI GPT-4, GPT-4 Turbo, GPT-3.5 Turbo Best accuracy
Anthropic Claude 3 Opus, Sonnet, Haiku Complex reasoning
Azure OpenAI GPT-4, GPT-3.5 Enterprise compliance
AWS Bedrock Claude, Titan AWS integration
Google Vertex AI Gemini Pro Google Cloud
Ollama Llama 3, Mixtral, etc. Local/private
OpenAI-compatible Various Custom endpoints

OpenAI Configuration

Setup

# Environment variable
export CQLAI_AI_PROVIDER=openai
export CQLAI_AI_KEY=sk-...

# Or command line
cqlai --ai-provider openai --ai-key sk-...

Configuration File

# ~/.cqlai/config.yaml
ai:
  provider: openai
  model: gpt-4-turbo
  # key from CQLAI_AI_KEY environment variable

  options:
    temperature: 0.1
    max_tokens: 1000

Available Models

Model Speed Accuracy Cost
gpt-4-turbo Fast Highest $$$$
gpt-4 Slow Highest $$$$
gpt-3.5-turbo Fastest Good $

Anthropic Configuration

Setup

export CQLAI_AI_PROVIDER=anthropic
export CQLAI_AI_KEY=sk-ant-...

Configuration

ai:
  provider: anthropic
  model: claude-3-sonnet-20240229

  options:
    temperature: 0.1
    max_tokens: 1000

Available Models

Model Speed Accuracy Cost
claude-3-opus Slow Highest $$$$
claude-3-sonnet Fast High $$
claude-3-haiku Fastest Good $

Azure OpenAI Configuration

Setup

export CQLAI_AI_PROVIDER=azure
export CQLAI_AI_KEY=your-azure-key
export CQLAI_AZURE_ENDPOINT=https://your-resource.openai.azure.com
export CQLAI_AZURE_DEPLOYMENT=your-deployment-name

Configuration

ai:
  provider: azure
  azure:
    endpoint: https://your-resource.openai.azure.com
    deployment: gpt-4-deployment
    api_version: "2024-02-15-preview"

AWS Bedrock Configuration

Setup

export CQLAI_AI_PROVIDER=bedrock
export AWS_REGION=us-east-1
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...

Configuration

ai:
  provider: bedrock
  model: anthropic.claude-3-sonnet-20240229-v1:0

  bedrock:
    region: us-east-1

Google Vertex AI Configuration

Setup

export CQLAI_AI_PROVIDER=vertex
export GOOGLE_CLOUD_PROJECT=your-project
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json

Configuration

ai:
  provider: vertex
  model: gemini-pro

  vertex:
    project: your-project
    location: us-central1

Ollama (Local AI)

Run AI models locally without cloud dependencies.

Install Ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

# macOS
brew install ollama

# Start Ollama
ollama serve

Pull Model

# Recommended for CQL generation
ollama pull llama3
ollama pull codellama
ollama pull mixtral

Configure CQLAI

export CQLAI_AI_PROVIDER=ollama
export CQLAI_OLLAMA_HOST=http://localhost:11434
ai:
  provider: ollama
  model: llama3

  ollama:
    host: http://localhost:11434
Model Parameters RAM Best For
llama3 8B 8GB General use
codellama 7B 8GB Code generation
mixtral 8x7B 48GB Complex queries

OpenAI-Compatible Endpoints

Use any OpenAI-compatible API endpoint.

ai:
  provider: openai-compatible
  model: your-model

  openai_compatible:
    endpoint: https://your-api.example.com/v1
    api_key_env: YOUR_API_KEY_VAR

Provider Comparison

Accuracy vs Cost

Accuracy:   Claude 3 Opus ≈ GPT-4 > GPT-4 Turbo > Claude Sonnet > GPT-3.5
Speed:      GPT-3.5 > Claude Haiku > GPT-4 Turbo > Claude Sonnet > GPT-4
Cost:       Ollama (free) < GPT-3.5 < Claude Haiku < Sonnet < GPT-4
Privacy:    Ollama (local) > Azure (enterprise) > Cloud providers

Recommendations

Use Case Recommended Provider
Development Ollama (free, local)
Production (accuracy) OpenAI GPT-4 or Claude Opus
Production (cost) Claude Haiku or GPT-3.5
Enterprise/Compliance Azure OpenAI
AWS Environment AWS Bedrock
Privacy-critical Ollama (local)

Configuration Options

Common Options

ai:
  provider: openai
  model: gpt-4-turbo

  options:
    # Lower = more deterministic (recommended for CQL)
    temperature: 0.1

    # Maximum response length
    max_tokens: 1000

    # Include table schemas in context
    include_schema: true

    # Number of schema tables to include
    schema_context_limit: 10

    # Retry failed requests
    retry_count: 3
    retry_delay: 1s

Context Settings

ai:
  context:
    # Always include current keyspace schema
    include_current_keyspace: true

    # Include table statistics for optimization hints
    include_statistics: true

    # Maximum schema size to send
    max_schema_size: 50000

Security Best Practices

  1. Never commit API keys - Use environment variables
  2. Use Azure/Bedrock for enterprise - Better compliance
  3. Consider Ollama - No data leaves your network
  4. Rotate keys regularly - Set up key rotation
  5. Monitor usage - Track API costs and calls
# Secure key storage
# Store in environment, not config file
export CQLAI_AI_KEY=$(cat ~/.secrets/openai_key)

Troubleshooting

API Key Issues

Error: Invalid API key

Solutions:
1. Verify key is correct
2. Check key permissions
3. Ensure key is not expired
4. Verify environment variable is set

Rate Limiting

Error: Rate limit exceeded

Solutions:
1. Use a model with higher limits
2. Add retry configuration
3. Implement request caching
4. Upgrade API plan

Local Model Issues (Ollama)

Error: Connection refused

Solutions:
1. Ensure Ollama is running: ollama serve
2. Check port: http://localhost:11434
3. Verify model is pulled: ollama list

Next Steps