Skip to main content

Migrating from OpenAI

Assisters API is fully compatible with the OpenAI API specification. Migration typically takes just a few minutes.

Quick Migration

The only changes needed are:
  1. Base URL: Change to https://api.assisters.dev/v1
  2. API Key: Use your Assisters key (starts with ask_)
  3. Model Names: Update to Assisters model IDs
from openai import OpenAI

client = OpenAI(
    api_key="sk-..."  # OpenAI key
)

response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Hello!"}]
)

Model Mapping

OpenAI ModelAssisters EquivalentNotes
gpt-4llama-3.3-70bBest quality (FREE via Groq)
gpt-4-turbollama-3.3-70bFast + quality (FREE via Groq)
gpt-3.5-turbollama-3.1-8bBest value
text-embedding-ada-002bge-m31024 dimensions, multilingual (FREE)
text-embedding-3-largebge-m3Best quality, 100+ languages (FREE)

Environment Variables

Update your environment configuration:
# Before
OPENAI_API_KEY=sk-...

# After
ASSISTERS_API_KEY=ask_...
ASSISTERS_BASE_URL=https://api.assisters.dev/v1

SDK Configuration

Python

import os
from openai import OpenAI

# Option 1: Direct configuration
client = OpenAI(
    api_key=os.environ["ASSISTERS_API_KEY"],
    base_url="https://api.assisters.dev/v1"
)

# Option 2: Environment variables
# Set OPENAI_API_KEY and OPENAI_BASE_URL in your environment
client = OpenAI()  # Picks up from environment

JavaScript/TypeScript

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.ASSISTERS_API_KEY,
  baseURL: 'https://api.assisters.dev/v1'
});

cURL

# Before
curl https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer sk-..."

# After
curl https://api.assisters.dev/v1/chat/completions \
  -H "Authorization: Bearer ask_..."

Feature Compatibility

Fully Supported

FeatureStatus
Chat Completions✅ Full support
Streaming✅ Full support
Embeddings✅ Full support
Moderations✅ Full support
Models List✅ Full support

Not Yet Supported

FeatureAlternative
Function CallingUse system prompts for structured output
Vision (Images)Coming soon
Audio (Whisper)Use specialized services
Assistants APIUse our chat API with context management
Fine-tuningContact us for custom models

Response Format

Responses follow the exact OpenAI format:
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706745600,
  "model": "llama-3.1-8b",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

Migration Checklist

1

Create Account

Sign up at assisters.dev and get your API key
2

Update Base URL

Add base_url="https://api.assisters.dev/v1" to your client
3

Update API Key

Replace your OpenAI key with your Assisters key
4

Map Models

Update model names to Assisters equivalents
5

Test

Run your existing tests to verify compatibility
6

Monitor

Check your dashboard for usage and any errors

Common Migration Issues

Function calling is not yet supported. Use structured prompts instead:
response = client.chat.completions.create(
    model="llama-3.1-8b",
    messages=[
        {
            "role": "system",
            "content": """Respond in JSON format:
            {"action": "string", "parameters": {}}"""
        },
        {"role": "user", "content": "Book a flight to NYC"}
    ]
)
Ensure you’re using Assisters model IDs, not OpenAI model names:
# Wrong
model="gpt-4"

# Correct
model="llama-3.1-70b"
Open-source models may respond differently. Adjust your prompts:
  • Be more explicit in instructions
  • Use system messages to set context
  • Test different models for your use case
Assisters has different rate limits. Check your tier:
TierRPMTPM
Free10100K
Developer1001M

Gradual Migration

For production systems, consider a gradual rollout:
import os
import random

def get_client():
    # Gradually shift traffic
    if random.random() < float(os.environ.get("ASSISTERS_TRAFFIC", "0.1")):
        return OpenAI(
            api_key=os.environ["ASSISTERS_API_KEY"],
            base_url="https://api.assisters.dev/v1"
        )
    else:
        return OpenAI(api_key=os.environ["OPENAI_API_KEY"])

Cost Comparison

Use CaseOpenAIAssistersSavings
1M chat tokens~$30 (GPT-4)$0.9097%
1M embeddings~$0.13$0.0192%
1M moderations~$0.002$0.20-

Calculate Your Savings

Use our pricing calculator to estimate your cost savings