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

Ask

POST
/v1/ask
curl --request POST \
--url https://api.cloud.agentums.ru/v1/ask \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "doc_type": "example", "history": [ { "content": "example", "role": "example" } ], "include_hidden": false, "model": "example", "object_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "query": "example", "session_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "top_k": 1, "use_memory": true, "web_search": true }'

Ответить по содержимому своих файлов, с цитатами на источники.

Сервер сам подбирает подходящие фрагменты и синтезирует ответ. citations — куски, на которых ответ построен; primary — файл, закреплённый под запрос целиком («найди договор с Ромашкой» → вот он), и он бывает нужнее самого текста ответа. used_context=false означает, что в файлах ничего не нашлось и ответ построен без них.

session_id продолжает разговор: верните полученный из ответа идентификатор в следующий запрос, иначе «а подробнее?» уйдёт отдельным диалогом и будет отвечено с нуля. object_ids (до 100) сужает вопрос до конкретных файлов — надёжнее, чем надеяться, что подбор выберет те же самые.

use_memory=false отвечает вообще без обращения к документам. web_search — это ПОЛИТИКА, а не команда: он разрешает дополнить ответ сведениями из сети, а решение идти туда сервер принимает сам — по формулировке вопроса или потому, что в файлах ответа не нашлось.

Скрытые документы в ответ не попадают, пока зона не разблокирована: include_hidden работает только вместе с заголовком X-Hidden-Token, иначе гасится молча.

Долгий запрос обрывается по дедлайну с 504; повторять его тем же текстом бесполезно — это предел сервера, а не сетевой сбой. cost_rub возвращает стоимость этого вызова.

x-hidden-token
Any of:
string
Media typeapplication/json
AskRequest
object
doc_type
Any of:
string
history
History
Array<object>
AskTurnIn
object
content
required
Content
string
role
required
Role
string
include_hidden
Include Hidden
boolean
model
Any of:
string
object_ids
Any of:
Array<string>
<= 100 items
query
required
Query
string
>= 1 characters <= 2000 characters
session_id
Any of:
string format: uuid
top_k
Any of:
integer
>= 1 <= 50
use_memory
Use Memory
boolean
default: true
web_search
Web Search
boolean
default: true

Successful Response

Media typeapplication/json
AskResponse
object
answer
required
Answer
string
citations
Citations
Array<object>
AskCitation
object
char_end
Char End
integer
0
char_start
Char Start
integer
0
doc_type
Doc Type
string
""
filename
Filename
string
""
index
Index
integer
0
object_id
required
Object Id
string format: uuid
ord
required
Ord
integer
snippet
Snippet
string
""
title
Title
string
""
cost_rub
Cost Rub
number
0
primary
Any of:
AskCitation
object
char_end
Char End
integer
0
char_start
Char Start
integer
0
doc_type
Doc Type
string
""
filename
Filename
string
""
index
Index
integer
0
object_id
required
Object Id
string format: uuid
ord
required
Ord
integer
snippet
Snippet
string
""
title
Title
string
""
session_id
Any of:
string format: uuid
used_context
Used Context
boolean
Example
{
"citations": [
{
"char_end": 0,
"char_start": 0,
"doc_type": "",
"filename": "",
"index": 0,
"snippet": "",
"title": ""
}
],
"cost_rub": 0,
"primary": {
"char_end": 0,
"char_start": 0,
"doc_type": "",
"filename": "",
"index": 0,
"snippet": "",
"title": ""
},
"used_context": 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"
}
]
}