Ко всем статьям

Как подключить нейросеть к своему сервису: пошагово, с кодом

Обновлено: 2026-09-02

Подключение нейросети к своему коду выглядит страшнее, чем есть. По сути нужно понять три вещи: что такое ключ, что такое адрес API и как выглядит один запрос. Дальше всё остальное — детали.

Разберём по шагам, с рабочим кодом.

Что вообще происходит

Модель живёт на чужом сервере. Ваша программа отправляет туда текст по сети и получает ответ. Никакой установки моделей на свой компьютер не требуется — это просто HTTP-запрос, такой же, как обращение к любому другому веб-сервису.

Нужны две вещи:

  • API-ключ — строка, по которой вас узнают и с вашего счёта списывают деньги. Ключ секретен: у кого он есть, тот тратит ваши средства.
  • base_url — адрес, куда слать запросы.

Стандарт де-факто

Большинство сервисов говорят на одном языке — том, что придумала OpenAI. Это удобно: библиотеки, написанные под неё, работают с любым совместимым сервисом. Меняется только base_url и ключ, остальной код остаётся прежним.

Второй распространённый формат — Anthropic. На нём говорят Claude Code и Anthropic SDK.

Практический вывод: выбирая поставщика доступа, смотрите, поддерживает ли он оба. Иначе смена инструмента однажды потребует переписывать код.

Первый запрос на Python

Ставим официальную библиотеку:

pip install openai

Дальше — сам запрос:

from openai import OpenAI

client = OpenAI(
    api_key="ваш-ключ",
    base_url="https://api.costbridgeai.com/v1",
)

resp = client.chat.completions.create(
    model="claude-haiku-4-5",
    messages=[
        {"role": "system", "content": "Отвечай коротко и по делу."},
        {"role": "user", "content": "Объясни, что такое токен в нейросети."},
    ],
    max_tokens=300,
)

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

Разберём, что здесь что.

  • `messages` — история разговора. Роль system задаёт поведение, user — вопрос человека, assistant — прошлые ответы модели, если продолжаете диалог.
  • `model` — какую модель спрашиваем. Строка, которую можно менять, не трогая остальной код.
  • `max_tokens` — предел длины ответа. Ставьте его всегда: без ограничения модель может выдать гораздо больше, чем вам нужно, а платите вы за каждый исходящий токен.

То же самое на JavaScript

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.AI_API_KEY,
  baseURL: "https://api.costbridgeai.com/v1",
});

const resp = await client.chat.completions.create({
  model: "claude-haiku-4-5",
  messages: [{ role: "user", content: "Привет!" }],
  max_tokens: 300,
});

console.log(resp.choices[0].message.content);

Обратите внимание: ключ берётся из переменной окружения, а не написан в коде. Это не формальность — ключ, попавший в репозиторий, рано или поздно утечёт.

Потоковый ответ

Если ответ длинный, ждать его целиком неудобно. Включите потоковый режим — текст пойдёт кусками, как в чате:

stream = client.chat.completions.create(
    model="claude-haiku-4-5",
    messages=[{"role": "user", "content": "Напиши короткий рассказ."}],
    max_tokens=500,
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Стоит это столько же, сколько обычный запрос — разница только в том, как приходит ответ.

Готовые инструменты: кода не нужно вовсе

Если писать код не хочется, многое подключается настройками.

Claude Code — консольный помощник, который читает проект и правит файлы. Настраивается переменными окружения:

export ANTHROPIC_BASE_URL="https://api.costbridgeai.com"
export ANTHROPIC_AUTH_TOKEN="ваш-ключ"
export ANTHROPIC_MODEL="claude-opus-4-8"
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-4-5"
claude

Обратите внимание: адрес указывается без `/v1` — Claude Code добавляет путь сам. Это частая причина ошибки «не подключается». Подробнее — на странице про Claude Code.

Расширения для редактора (Cline, Roo Code, Kilo Code, Continue) — в настройках выбираете провайдера «OpenAI Compatible» и вписываете адрес, ключ и модель.

n8n и подобные конструкторы — там тоже есть узел «OpenAI Compatible» с теми же тремя полями.

Как не потерять контроль над расходами

Про это вспоминают после первого неприятного счёта. Три вещи, которые стоит сделать сразу.

Ограничьте длину ответа. max_tokens в каждом запросе. Без него легко платить за многословие, которое вам не нужно.

Заведите отдельные ключи. Один для боевого сервиса, другой для экспериментов. Тогда понятно, кто и сколько тратит, и можно отозвать один, не трогая другой.

Поставьте лимит. Месячный предел на организацию и отдельный на каждый ключ. Ошибка в цикле, отправляющая тысячу запросов вместо одного, случается у всех — вопрос лишь в том, остановит ли её что-нибудь.

Как это устроено у нас

Мы принимаем оба формата: OpenAI-совместимый и Anthropic. Один ключ работает и там, и там, биллинг общий.

  • 19 моделей от восьми разработчиков через один ключ — меняете строку model, не код.
  • Готовые настройки для Claude Code, Cline, Roo Code, Continue, n8n, LangChain и других инструментов лежат в личном кабинете: копируете и вставляете.
  • Расход виден по каждому запросу — модель, токены, стоимость.
  • Лимиты на организацию и на отдельный ключ, плюс месячный бюджет с уведомлением при приближении к порогу.
  • Содержимое запросов не сохраняется — только метаданные.
  • Первый запрос можно сделать до оплаты счёта, чтобы проверить, что всё работает.

Цены на все модели — на странице цен. Что делать компании с оплатой и документами — в отдельной статье.

Частые вопросы

Нужно ли переписывать код при смене модели? Нет. Меняется строка model. Если формат тот же, остальное не трогается.

Что если модель недоступна? У нас запрос автоматически уходит на резервную площадку той же модели. Если ответа нет вовсе, деньги не списываются.

Можно ли работать без VPN? Да. Запросы идут на российский адрес, к поставщику обращаемся мы сами.

Сколько времени занимает подключение? Регистрация — минута, дальше нужен ключ и одна строка в коде.

Возьмите AI-расходы под контроль

Регистрация занимает минуту. Единый API, аналитика и документы — сразу.

Начать бесплатно