раздел 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. Остальной код не трогаете.