Native Api

Одиночные запросы

Документация нативного API ER-GPT.

One-Shot Генерация

Метод POST /message/one-shot предназначен для выполнения одиночных запросов к нейросети.

Что такое One-Shot?

В отличие от стандартного двухшагового процесса (создание сообщения -> генерация), One-Shot выполняет всё за один запрос:

  1. Отсутствие состояния (Stateless): Сервер не сохраняет историю переписки. Каждый запрос независим.
  2. Мгновенный результат: Идеально подходит для разовых задач: перевод текста, суммаризация, генерация идей, классификация.
  3. Гибкая настройка: Можно переопределить системный промпт и параметры модели ("температуру", "top_p") прямо в запросе.
Если вам нужен полноценный диалог с памятью, используйте стандартные методы API (/message + /message/generate).

Параметры запроса

Endpoint: POST https://api.er-gpt.ru/api/v2/message/one-shot

content
string required
Текст запроса пользователя (User Prompt).
model_id
string required
Идентификатор модели (например, ERGPT-Vision).
assistant_id
string
ID сохраненного ассистента. Используется, если не передается объект assistant.
assistant
object
Объект с настройками ассистента "на лету". Позволяет задать prompt (системные инструкции)
kb_id
string (uuid)
ID базы знаний (Knowledge Base) для использования RAG (поиска по документам).
attachments
array (AttachmentSchema)
Список вложений. Структура: { id, filename, content_type, bucket, size, created_at }.
think
boolean
Включить режим "размышления" перед ответом. По умолчанию false.
exclude_tools
array[string]
Инструменты, которые запрещено использовать при генерации.
max_tokens
integer
Максимальное количество токенов в ответе.
temperature
number
Креативность модели (от 0 до 2). Переопределяет настройки ассистента.
top_p
number
Параметр ядерной выборки (Nucleus sampling).
presence_penalty
number
Штраф за повторение тем (от -2.0 до 2.0).

Примеры реализации

Ниже представлены примеры кода, разделенные на модели, методы и точку входа.

main.py
import os
import logging
import httpx
from models import OneShotRequest, AssistantSettings
from methods import one_shot_generation

# Конфигурация
logging.basicConfig(level=logging.INFO)
BASE_URL = os.getenv("API_BASE_URL", "https://api.er-gpt.ru/api/v2")
API_TOKEN = os.getenv("API_TOKEN")

def main():
    if not API_TOKEN:
        logging.error("API_TOKEN не установлен")
        return

    headers = {"Authorization": f"Bearer {API_TOKEN}"}

    # Пример: Просим перевести текст, переопределяя системный промпт
    with httpx.Client(base_url=BASE_URL, headers=headers) as client:
        result = one_shot_generation(client, OneShotRequest(
        model_id="ERGPT-Vision",
        content="Translate 'Hello World' to Russian",
        assistant=AssistantSettings(
            prompt="You are a professional translator. Translate the user text to Russian.",
            temperature=0.5
        ),
        max_tokens=100
    ))

        if result:
            print("\n--- Результат ---")
            print(result.message.content)

if __name__ == "__main__":
    main()
Copyright © 2026