Проверить документ перед добавлением
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.
Заголовки
| Заголовок | Значение |
|---|---|
Authorization | Basic <base64(email:api_key)> |
Accept | application/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..."
}
]
}