OpenAI SDK (Python)
Используйте OpenGates через официальный OpenAI Python SDK. Достаточно изменить base_url и api_key.
Установка
pip install openaiКонфигурация
При инициализации клиента укажите base_url OpenGates и ваш API-ключ:
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)Примеры
Chat Completion (текст)
Базовый запрос к текстовой модели.
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[
{"role": "system", "content": "Ты полезный ассистент."},
{"role": "user", "content": "Расскажи про OpenGates"}
],
temperature=0.7,
max_tokens=1024,
)
print(response.choices[0].message.content)Streaming (потоковый вывод)
Получение ответа токен за токеном в реальном времени.
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
stream = client.chat.completions.create(
model="deepseek/deepseek-v4-flash",
messages=[
{"role": "user", "content": "Напиши короткое стихотворение"}
],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Структурированный вывод (JSON)
Получение ответа в строгом JSON-формате.
from openai import OpenAI
from pydantic import BaseModel
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
class CalendarEvent(BaseModel):
name: str
date: str
participants: list[str]
completion = client.beta.chat.completions.parse(
model="openai/gpt-4o-mini",
messages=[
{"role": "user", "content": "Запланируй встречу на завтра в 15:00 с Аней и Петей"}
],
response_format=CalendarEvent,
)
event = completion.choices[0].message.parsed
print(f"Событие: {event.name}")
print(f"Дата: {event.date}")
print(f"Участники: {', '.join(event.participants)}")Вызов инструментов (Tool Calling)
Использование функций через API.
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Получить погоду для города",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Название города"
}
},
"required": ["city"]
}
}
}
]
response = client.chat.completions.create(
model="anthropic/claude-haiku-4.5",
messages=[
{"role": "user", "content": "Какая погода в Москве?"}
],
tools=tools,
tool_choice="auto",
)
print(response.choices[0].message.tool_calls)Vision (изображения на вход)
Отправка изображения для анализа.
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
response = client.chat.completions.create(
model="google/gemini-2.5-flash",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Что изображено на фото?"},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/photo.jpg"
}
}
]
}
]
)
print(response.choices[0].message.content)Embeddings
Получение векторных представлений текста.
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
response = client.embeddings.create(
model="openai/text-embedding-3-large",
input="OpenGates — это API-агрегатор AI моделей"
)
embedding = response.data[0].embedding
print(f"Размерность вектора: {len(embedding)}")
print(f"Первые 5 значений: {embedding[:5]}")Anthropic Messages API
Использование Anthropic-совместимого эндпоинта.
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
response = client.chat.completions.create(
model="anthropic/claude-haiku-4.5",
messages=[
{"role": "user", "content": "Напиши функцию на Python для сортировки списка"}
],
max_tokens=2048,
)
print(response.choices[0].message.content)Reasoning (рассуждения)
Использование reasoning токенов для сложных задач.
from openai import OpenAI
client = OpenAI(
base_url="https://opengates.pw/v1",
api_key="sk-gw-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
response = client.chat.completions.create(
model="deepseek/deepseek-v4-flash",
messages=[
{"role": "user", "content": "Сколько букв 'r' в слове 'strawberry'?"}
],
extra_body={
"include_reasoning": True
}
)
print(response.choices[0].message.content)Выбор модели: Используйте идентификаторы моделей в формате
provider/model-name, например openai/gpt-4o-mini. Полный список моделей доступен в каталоге.