Skip to main content

Quick Reference

Common code snippets and patterns for quick access.

Installation

bash
npm install modelpilot

Initialization

javascript
import ModelPilot from 'modelpilot';

const client = new ModelPilot({
  apiKey: process.env.MODELPILOT_API_KEY,
  routerId: process.env.MODELPILOT_ROUTER_ID,
});

Common Patterns

Basic Chat Completion
javascript
const completion = await client.chat.completions.create({
  messages: [
    { role: 'system', content: 'You are a helpful assistant.' },
    { role: 'user', content: 'Hello!' }
  ],
});

console.log(completion.choices[0].message.content);
Streaming Response
javascript
const stream = await client.chat.completions.create({
  messages: [{ role: 'user', content: 'Tell me a story' }],
  stream: true,
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content || '';
  process.stdout.write(content);
}
With Parameters
javascript
const completion = await client.chat.completions.create({
  messages: [{ role: 'user', content: 'Explain quantum computing' }],
  temperature: 0.7,
  max_tokens: 500,
  top_p: 0.9,
});
Error Handling
javascript
try {
  const completion = await client.chat.completions.create({
    messages: [{ role: 'user', content: 'Hello!' }],
  });
} catch (error) {
  if (error.status === 429) {
    console.error('Rate limit exceeded');
  } else if (error.status === 401) {
    console.error('Authentication failed');
  } else {
    console.error('Error:', error.message);
  }
}

Response Structure

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1677858242,
  "model": "gpt-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 13,
    "completion_tokens": 7,
    "total_tokens": 20
  },
  "_metadata": {
    "modelUsed": "openai:gpt-5",
    "selectionScore": 0.94,
    "cost": 0.00026,
    "latency": 342
  }
}

Environment Variables

bash
MODELPILOT_API_KEY=mp_your_api_key_here
MODELPILOT_ROUTER_ID=your_router_id_here

Common Parameters

messages
Required

Array of message objects with role and content

temperature
Optional

0-2, controls randomness (default: 1.0)

max_tokens
Optional

Maximum tokens to generate

stream
Optional

Enable streaming responses (default: false)

top_p
Optional

0-1, nucleus sampling (default: 1.0)

presence_penalty
Optional

-2 to 2, penalize new topics (default: 0)

Learn More