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

Проверить документ перед добавлением

POST /api/v1/knowledge-integrity/semantic-duplicates/preflight​

Находит похожие документы по переданному тексту без добавления новой записи в базу знаний.

URL​

https://app.helpfy.ai/api/v1/knowledge-integrity/semantic-duplicates/preflight

Адрес своей установки подставьте вместо https://app.helpfy.ai. Идентификаторы в фигурных скобках замените значениями из ответов API.

Заголовки​

ЗаголовокЗначение
AuthorizationBasic <base64(email:api_key)>
Acceptapplication/json

Для JSON-тела передайте Content-Type: application/json.

Подробнее — авторизация API.

Параметры запроса​

Тело запроса (application/json)​

ПолеТипОбязательноОписание
bot_unique_idстрокаДаИдентификатор целевого бота.
nameстрокаДаНазвание проверяемого документа.
contentстрокаДаТекст проверяемого документа.
similarity_thresholdчислоНетМинимальная схожесть документов от 0,75 до 0,99.
max_resultsчислоНетМаксимальное количество похожих документов в ответе.

Пример запроса​

curl --request POST 'https://app.helpfy.ai/api/v1/knowledge-integrity/semantic-duplicates/preflight' \
--user 'user@example.com:api_key' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"bot_unique_id": "f27bd861-8ad5-432d-9945-4e22458d6049",
"name": "Refund policy ticket",
"content": "Customer asks how to refund an order after payment..."
}
JSON

Ответы​

HTTPОписание
200Успешный ответ
Пример ответа — HTTP 200

Сокращённый пример; показаны клиентские поля. Значения условные.

{
"has_duplicates": true,
"similarity_threshold": 0.88,
"max_results": 10,
"existing_chunks_checked": 184,
"embedding_time_ms": 426,
"tokens_used": 512,
"matches": [
{
"knowledge_source_unique_id": "129129f4-9257-44d5-a6d9-a3abbe76d12f",
"knowledge_source_name": "Refund policy ticket #1",
"knowledge_group_unique_id": "42b6cbf0-26fd-41c7-9fdf-695a7e17d8c8",
"knowledge_group_name": "Support tickets",
"similarity_score": 0.932141,
"vector_distance": 0.067859,
"matched_chunk_preview": "Customer asks how to refund an order..."
}
]
}