Disputa
Студенту

Доступ к моделям

Как подключить модель в своём коде через платформу курса, сколько можно потратить и что делать, когда запрос не проходит.

Доступ к моделям — модуль курса: его включает автор курса, а поток может выключить у себя. Если он включён, платформа выдаёт вам адрес и личный ключ. С ними модель подключается в ваш код так же, как любой OpenAI-совместимый сервис: подойдёт библиотека openai, LangChain и всё, что умеет задавать base_url.

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

Где взять ключ

Страница «Доступ к моделям» в меню курса; пункт появляется, только когда модуль включён. Там три вещи:

  • адрес — вида https://<адрес платформы>/api/llm/v1, на нашей платформе https://disputa.ru/api/llm/v1;
  • ключ — вида sk-disputa-…;
  • модель — disputa-standard.

Ключ показывается один раз

Платформа хранит не сам ключ, а его отпечаток: утечка её базы не должна отдавать ключи всего потока. Скопируйте ключ сразу после выдачи. Потеряли — нажмите «перевыпустить»: старый перестанет работать, потраченное при этом не обнулится.

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

Ключ держите в переменной окружения, а не в коде: репозиторий вашей команды открыт, и ключ, попавший в коммит, считается утёкшим.

import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["DISPUTA_BASE_URL"],
    api_key=os.environ["DISPUTA_API_KEY"],
)

reply = client.chat.completions.create(
    model="disputa-standard",
    messages=[{"role": "user", "content": "Объясни, что такое golden dataset, в двух предложениях."}],
)
print(reply.choices[0].message.content)

Потоковый ответ и вызов инструментов работают так же, как у OpenAI.

Модель

Вы пишете в коде disputa-standard, а какая модель за этим стоит, решает платформа. Когда модель заменят на новую, ваш код менять не придётся.

По умолчанию модель отвечает сразу, без рассуждения. Рассуждение можно включить — ответы на сложные задачи станут точнее, но медленнее и дороже:

reply = client.chat.completions.create(
    model="disputa-standard",
    messages=[...],
    extra_body={"thinking": {"type": "enabled"}},
)

Рассуждение расходует max_tokens

Если рассуждение включено, а max_tokens маленький, весь запас может уйти на рассуждение, и ответ придёт пустым. Ставьте предел с запасом или не ставьте вовсе.

Сколько можно

Лимиты — часть тарифа организации, их ставит администратор организации, а не преподаватель. Уровней три:

  • Пакет организации — сколько все её потоки вместе могут потратить за период. Кончился — новые ключи не выдаются, а запросы перестают проходить у всех потоков, пока пакет не пополнят.
  • Лимит потока — общий на поток. Может кончиться раньше вашего личного, если группа тратит много.
  • Личный лимит в условных единицах и период, после которого он обновляется, — на странице «Доступ к моделям». Там же видно, сколько уже потрачено. По умолчанию он у всех в потоке одинаковый; администратор может дать вам свой.
  • Частота — до 60 запросов в минуту и до 4 одновременно с одного ключа. Это защищает остальных: цикл без паузы в коде одного студента иначе занял бы общий канал всей группы.

Когда запрос не проходит

Платформа отвечает по-русски и говорит, что делать. Сверьтесь с таблицей:

кодчто случилосьчто делать
402кончился личный лимит или лимит потокаждать нового периода или сказать преподавателю: кредиты добавляет администратор организации
401ключ повреждён или не подходитскопировать ключ заново целиком; потеряли — перевыпустить
403ключ погашен, доступ потоку закрыт или исчерпан пакет организацииперевыпустить ключ; если не помогло — спросить преподавателя
403модели нет в доступе курсаписать в коде disputa-standard; список моделей — GET /v1/models
429слишком много запросов подрядподождать минуту, добавить паузу между запросами
404адрес не для моделейплатформа пропускает только вызовы моделей: /v1/chat/completions, /v1/completions, /v1/responses, /v1/embeddings, /v1/models

Кто что видит

  • Студент — свой адрес, подсказку ключа и свой расход; ключ берёт и перевыпускает сам.
  • Преподаватель (организатор потока) — траты потока по людям и остаток; может погасить ключ, если он утёк. Лимиты не меняет.
  • Администратор организации — экран «Тариф на модели»: пакет организации, лимиты курсов и потоков, личные лимиты и кредиты.

На этой странице