Native Api
Одиночные запросы
Документация нативного API ER-GPT.
One-Shot Генерация
Метод POST /message/one-shot предназначен для выполнения одиночных запросов к нейросети.
Что такое One-Shot?
В отличие от стандартного двухшагового процесса (создание сообщения -> генерация), One-Shot выполняет всё за один запрос:
- Отсутствие состояния (Stateless): Сервер не сохраняет историю переписки. Каждый запрос независим.
- Мгновенный результат: Идеально подходит для разовых задач: перевод текста, суммаризация, генерация идей, классификация.
- Гибкая настройка: Можно переопределить системный промпт и параметры модели ("температуру", "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()
main.ts
import axios from "axios";
import { IOneShotPayload, IAssistantSettings } from "./models";
import { oneShotGeneration } from "./methods";
const BASE_URL = process.env.API_BASE_URL || "https://api.er-gpt.ru/api/v2";
const API_TOKEN = process.env.API_TOKEN || "YOUR_ACCESS_TOKEN";
async function main() {
const client = axios.create({
baseURL: BASE_URL,
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_TOKEN}`,
},
});
// Пример: Просим перевести текст с использованием кастомного промпта
const result = await oneShotGeneration(client, {
model_id: "ERGPT-Vision",
content: "Translate 'Hello World' to Russian",
assistant: {
prompt:
"You are a professional translator. Translate the user text to Russian.",
temperature: 0.5,
},
max_tokens: 100,
});
if (result) {
console.log("\n--- Результат ---");
console.log(result.message.content);
}
}
main();