Отговори
Създавайте асинхронни задачи и проследявайте изпълнението им до отговор с цитирани източници.
API за отговори съчетава правно търсене с формулиране на отговор на български език, подкрепен с откритите източници. Процесът е асинхронен, тъй като пълното изпълнение обикновено отнема между 30 и 90 секунди.
Създаване на задача
POST /v1/answers приема същите филтри като POST /v1/search. Полето include_content се пренебрегва.
curl --request POST \
--url https://api.pravenintelekt.com/v1/answers \
--header "Content-Type: application/json" \
--header "X-API-Key: $PI_API_KEY" \
--data '{
"query": "Може ли работодателят да прекрати трудов договор по време на отпуск?",
"max_results": 10
}'API връща незабавно HTTP 202:
{
"job_id": "…",
"status": "queued",
"poll_url": "/v1/answers/…"
}Проследяване на изпълнението
Използвайте същия API ключ при заявките към относителния адрес в poll_url. Направете първата проверка след 2 секунди, а след това увеличавайте интервала експоненциално до максимум 10 секунди. Преустановете проверките при достигане на краен статус.
curl https://api.pravenintelekt.com/v1/answers/JOB_ID \
-H "X-API-Key: $PI_API_KEY"Възможните статуси са queued, running, succeeded и failed.
{
"job_id": "…",
"status": "succeeded",
"query": "…",
"answer": "… [citation] …",
"sources": []
}Маркерите за цитати в квадратни скоби в answer сочат към excerpt_id или document_id в sources. Запазете тази връзка, ако приложението ви обработва или преформатира отговора.
Поведение при неуспех
При неуспешна задача API връща HTTP 200 със status: "failed", error_code и error_message. Неуспешните задачи не изразходват единица от квотата за отговори. Ако дадена задача остане със статус queued или running в продължение на 15 минути, при следващата проверка тя преминава в статус failed с error_code: "timed_out", а използваната единица се възстановява. След такъв отговор можете безопасно да създадете нова задача.
В текущата бета реализация задачата се изпълнява от сървърния процес, който е приел заявката. При рестартиране на процеса текущата задача може да остане недовършена. Механизмът за изтекло време я открива и възстановява квотата. Все още не се поддържат надеждна опашка за задачи и известия чрез webhook. Затова клиентът трябва сам да следи статуса и да позволява нов опит след неуспех, за който квотата е възстановена.
Кога да използвате само търсене
Използвайте /v1/search, когато продуктът ви показва само източниците, разполага със собствен процес за преглед или създава отговор чрез друг модел. Използвайте /v1/answers, когато ви е необходим отговорът на Правен Интелект заедно с връзките към подкрепящите го източници.