Справочник API
Text completions
POST /v1/completions для устаревшего формата «промпт на входе, текст на выходе».
Устаревший эндпоинт для промптов, для инструментов, которые до сих пор на нём работают. Он выполняет промпт как одно сообщение пользователя на тех же моделях. Для всего нового используйте chat completions.
POST
https://api.notholy.com/v1/completionsPOST https://api.notholy.com/v1/completionsЗапрос
| Поле | Тип | Обязательное | Примечания |
|---|---|---|---|
model | string | Да | ID модели |
prompt | string или array | Да | Строка или массив ровно из одной строки |
max_tokens | number | Нет | По умолчанию 16. Не больше максимального выхода модели |
stream | boolean | Нет | true возвращает чанки text_completion и data: [DONE] |
temperature, top_p, stop | Нет | Передаются модели | |
n | number | Нет | Только 1 |
Инструментов и глубины рассуждений здесь нет. echo, logprobs и suffix игнорируются.
Ответ
{
"id": "cmpl-4Qz7",
"object": "text_completion",
"created": 1793836800,
"model": "notholy-specter",
"choices": [{ "index": 0, "text": " ../../etc/passwd encoded as %2e%2e%2f…", "finish_reason": "length", "logprobs": null }],
"usage": { "prompt_tokens": 14, "completion_tokens": 60, "total_tokens": 74 }
}- В стриме каждый чанк содержит
choices[0].text. В последнем чанке естьfinish_reasonиusage.
Пример
curl https://api.notholy.com/v1/completions \
-H "Authorization: Bearer $NOTHOLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "notholy-specter", "prompt": "A path traversal payload in a file download parameter looks like", "max_tokens": 60}'import os
from openai import OpenAI
client = OpenAI(base_url="https://api.notholy.com/v1", api_key=os.environ["NOTHOLY_API_KEY"])
r = client.completions.create(model="notholy-specter", prompt="The OWASP category for SSRF is", max_tokens=30)
print(r.choices[0].text)Ошибки
400 нет prompt, больше одного промпта или n больше 1 · 401 неверный ключ · 402 закончились кредиты · 404 неизвестная модель · 429 занято · 503 модель недоступна. См. Ошибки.