Перейти к содержимому

Extract Attachment

POST
/v1/chat/attachment
curl --request POST \
--url https://api.cloud.agentums.ru/v1/chat/attachment \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file=example

Извлекает текст из ЛОКАЛЬНОГО файла для разового контекста чата — НИЧЕГО не сохраняя.

В отличие от POST /objects (загрузка в облако) здесь нет ни S3, ни строки в БД: только извлечение текста и возврат клиенту. Файла в облаке пользователя не появляется. Скоуп/лимит — как у остальных дорогих ручек (rate_limit); размер режем ДО чтения всего файла в память.

Media typemultipart/form-data
Body_extract_attachment_v1_chat_attachment_post
object
file
required
File
string

Successful Response

Media typeapplication/json
ExtractedAttachmentOut

Ответ POST /chat/attachment: извлечённый текст локального файла. В облаке НИЧЕГО не сохранено — клиент шлёт этот текст обратно как inline_attachments к вопросам.

Имя НЕ ChatAttachmentOut: так называется схема вложения сообщения в schemas/chats.py, и два одноимённых класса заставляли FastAPI разводить их в OpenAPI полными путями модулей — генераторы клиентов получали тип с именем backend__app__api__routers__chat__ChatAttachmentOut. Схемы разные по смыслу (текст без файла против ссылки на файл), поэтому и имена разные.

object
filename
required
Filename
string
text
required
Text
string
truncated
Truncated
boolean
Example
{
"truncated": false
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}