Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

API для переписки и управления сервисами AutoFAQ

API позволяет:

  • от имени пользователя вести переписку с сервисом AutoFAQ, включая переписку с ботом и операторами сервиса

  • создавать рассылки пользователям

  • управлять настройками сервиса

https://app.swaggerhub.com/apis-docs/AutoFAQ.ai/external-api/2.1.4

API для управления базами знаний (design-time).

CRUD API служит для создания Баз Знаний, наполения их документами и публикации.

Для удобства все PUT JSON вызовы работают как REST JSON PATCH - то есть можно передать только те поля, значения которых необходимо обновить (нет нужды передавать полное состояние)

REST JSON CRUD API:  https://app.swaggerhub.com/apis-docs/AutoFAQ.ai/aq_kb_crud/1.0

Жизненный цикл БЗ:

  • Создание. БЗ имеет имя, настройки языка, режима дообучения и apikey service_token для доступа к опубликованному сервису QNA.

  • Наполнение документами. Документ - это (вопрос, ответ, опционально формулировки вопроса, файловые атачи)

  • Публикация. Опубликованная БЗ предоставляет сервис ответов на вопросы (см QNA API ниже)

  • Редактирование контента, модерация и прием рекоммендаций документов и формулировок.

  • Удаление БЗ

Аутентификация

user_token - строковый ключ пользователя (access token, apikey) можно узнать в UI получить в разделе "Настройки” -> “Параметры прямого подключения к базам знаний через API"

При вызове API метода токен может быть передан несколькими способами:

  1. Предпочтительный: Standard Basic Auth HTTP header - Authorization: Bearer {user_token}

  2. Альтернативный: Private HTTP header AUTOFAQ-User-Token: {user_token}

  3. Для отладки: Через URL query query parameter - user_token={user_token}

Квоты

  • 100 запросов в минуту

  • 100000 запросов в день

Knowledge base QNA API (run-time).

QNA API служит для запросов к опубликованной базе знаний (БЗ) и сбора обратной связи.

Аутентификация

service_token - строковый ключ опубликованный БЗ (access token, apikey).

Как узнать service_token для доступа опубликованной БЗ можно получить зная user_token запросом CRUD API GET core-api/crud/api/v1/services/{service_id}

curl -H "AUTOFAQ-User-Token: {user_token}" https://chat.autofaq.ai/core-api/crud/api/v1/services/{service_id}


Полученный service_token используется для QNA API query.

Пример

service_token передается в теле запроса JSON POST query.

curl -v -H "Content-Type: application/json" -XPOST https://chat.autofaq.ai/core-api/query/api/v1/query -d '
{"query": "привет, сколько стоит", "top_k": 3, "service_id": 107742, "service_token": "{service_token}"}
'

Подробнее примеры использования см вызовы методов /query и /click во вложении в демо скипте test_winnie_pooh.py и в документации  https://autofaq.ai/api_doc#rec56009662  

Квоты

Квоты на доступ к одной опубликованной БЗ (service_token):

  • 900 запросов в минуту

  • 200000 запросов в день

Примеры

Тривиальный пример жизненного цикла см скрипт test_winnie_pooh.py во вложении выше на этой странице .

Пример добавления документа с формулировками:

CRUDAPI_URL=https://api.autofaq.ai/api/v1 USER_TOKEN=9d9d68ee3cc14c4d997f7ca076ed14ac \
python3 tutorial_crud_paraphrase.py 

Коды ошибок при добавлении/обновлении документов и формулировок

HTTP 400, 403, 401
JSON response:

{
 "error":  {"type": "string","enum": ["paraphrases_quota_exceeded", "similar_paraphrase", "similar_document"]},
 "message": {"type": "string"},"similar_service_id": {"type": "integer"},
 "similar_document_id":  {"type": "integer"},
 "similar_paraphrase_id":  {"type": "integer"},"similar_paraphrase": {"type": "string"}
}

Описание error:

  • paraphrases_quota_exceeded - превышено ограничение на количество формулировок в документе

  • similar_paraphrase - в этом документе уже существует похожая формулировка

  • similar_document - в другом документе уже существует похожая формулировка

similar_paraphrase - текст конфликтующей формулировки (из similar_service_id/similar_document_id/similar_paraphrase_id)

  • No labels