раздел 03

Интеграция в код

OpenRouter совместим с форматом OpenAI. На практике это значит: берёте любой код, написанный под OpenAI, меняете в нём базовый URL и ключ - и он начинает ходить в OpenRouter. Эндпоинт чата тот же: /chat/completions.

Базовые параметры:

  • Базовый URL: https://openrouter.ai/api/v1
  • Эндпоинт: /chat/completions
  • Заголовок авторизации: Authorization: Bearer <key>
  • Модель: строка вида vendor/model

Ключ в переменной окружения

Не держите ключ в коде. Положите его в файл .env:

OPENROUTER_API_KEY=sk-or-...

Пример: curl

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-3.5-sonnet",
    "messages": [
      { "role": "user", "content": "Привет! Кто ты?" }
    ]
  }'

Модель здесь задаётся полем model строкой vendor/model. Чтобы сменить модель, достаточно поменять эту строку - например на openai/gpt-4o или google/gemini-2.0-flash.

Пример: Python через openai SDK

Тот же официальный пакет openai, просто с другим base_url:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key=os.environ["OPENROUTER_API_KEY"],
)

completion = client.chat.completions.create(
    model="anthropic/claude-3.5-sonnet",
    messages=[
        {"role": "user", "content": "Привет! Кто ты?"},
    ],
)

print(completion.choices[0].message.content)

Чтобы переключиться на другую модель, меняете только значение model. Остальной код не трогаете.