Together AI Integration

Learn how to connect Together AI's open-source inference infrastructure to ScanDrix for automated code reviews.

Together AI enables engineering teams to run top open-source coding models using an OpenAI-compatible API. The platform provides fast token generation, competitive per-token pricing, and access to leading architectures such as Llama 3.3, DeepSeek V3, and Qwen 2.5 Coder.

We recommend high-performance coding models with expansive context windows:

ModelContext WindowSpeedBest For
meta-llama/Llama-3.3-70B-Instruct-Turbo recommended128k tokens130+ tpsStandard PR diff analysis, syntax reviews & AST linting
deepseek-ai/DeepSeek-V3128k tokens110+ tpsFull architectural verification & taint analysis
deepseek-ai/DeepSeek-R1128k tokens70+ tpsDeep mathematical correctness, crypto & invariants
Qwen/Qwen2.5-Coder-32B-Instruct128k tokens160+ tpsFast multi-language code quality inspection

For the most up-to-date model identifiers and context limits, consult the Together AI Models Directory.


Creating an API Key

A verified Together AI account is required to generate API credentials.

  1. Navigate to the Together AI Console.
  2. Sign in or create an account.
  3. In the sidebar or dashboard settings, select API Keys.
  4. Click Create API Key, label it scandrix-code-review, and copy the secret key.

New Together AI accounts receive $1 in initial credits to test inference endpoints.


Configuration options

You can configure Together AI either via the ScanDrix dashboard, in your repository's .scandrix.yaml, or in self-hosted backend environment variables.

  1. Open the ScanDrix dashboard and navigate to Settings → AI Providers.
  2. Click Add Provider and select Together AI (or Generic OpenAI-Compatible).
  3. Set Base URL to https://api.together.xyz/v1.
  4. Paste your Together AI API Key.
  5. Select meta-llama/Llama-3.3-70B-Instruct-Turbo as your default review model.
  6. Click Test Connection to send a synthetic health verification ping.

Option 2: Via Repository Config (.scandrix.yaml)

To enforce Together AI as the review engine for a specific repository:

yaml
# .scandrix.yaml
version: 1

ai:
  provider: together
  endpoint: "https://api.together.xyz/v1"
  model: "meta-llama/Llama-3.3-70B-Instruct-Turbo"
  api_key: "env:TOGETHER_API_KEY"
  temperature: 0.1
  max_tokens: 4096

review:
  severity_threshold: warning
  patch_suggestions: true

Option 3: Via Self-Hosted Backend (.env)

If deploying the self-hosted ScanDrix Go backend, configure your environment file:

env
# ScanDrix Core Service Configuration
PORT=8080
SCANDRIX_API_URL=https://api.scandrix.yourdomain.com
SCANDRIX_WEB_URL=https://scandrix.yourdomain.com

# Database Connection (PostgreSQL 16+)
DATABASE_URL=postgres://scandrix:yourpassword@postgres:5432/scandrix?sslmode=require

# Together AI LLM Configuration
SCANDRIX_LLM_PROVIDER=together
OPENAI_BASE_URL=https://api.together.xyz/v1
OPENAI_API_KEY=your_together_api_key_here
SCANDRIX_DEFAULT_MODEL=meta-llama/Llama-3.3-70B-Instruct-Turbo

# Webhook Secret for HMAC verification
GITHUB_WEBHOOK_SECRET=your_github_webhook_secret

Production Reverse Proxy Setup

For self-hosted instances with external Git webhooks, configure Nginx to forward requests to the Next.js frontend (port 3000) and the Go backend API (port 8080):

nginx
# ScanDrix Web Dashboard (port 3000)
server {
    listen 443 ssl http2;
    server_name scandrix.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/scandrix.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/scandrix.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# ScanDrix Go API & Webhooks (port 8080)
server {
    listen 443 ssl http2;
    server_name api.scandrix.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/api.scandrix.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/api.scandrix.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Verifying Together AI integration

Verify that Together AI is successfully processing reviews:

bash
# Test local review via CLI
scandrix review --staged

# Or inspect worker container logs
docker logs scandrix-worker | grep -i "together"

Expected log output:

code
[INFO] provider=together model=meta-llama/Llama-3.3-70B-Instruct-Turbo latency=980ms tokens=2100 status=200

Troubleshooting