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

Холодный старт

Импорт контрактов

Массовый импорт контрактов и документов в базу знаний.

Использование

npx tsx scripts/import-contracts.ts

Что делает

  1. Сканирует каталог на файлы контрактов (PDF, DOCX, TXT).
  2. Создаёт базу знаний, если её ещё нет.
  3. Загружает каждый файл с метаданными.
  4. Ставит ingestion-задачи в очередь на обработку.

Место в пайплайне

Скрипт — часть cold-start пайплайна:

import-contracts.ts → [ingestion pipeline processes files] → knowledge base ready

После запуска отслеживайте статус документов через:

GET /api/v1/knowledge/documents?status=processing

Анализ чатов

Анализирует экспортированные чаты, чтобы вытащить intent-паттерны для сидинга классификатора намерений.

Использование

npx tsx scripts/analyze-chats.ts

Что делает

  1. Парсит экспорт чатов WhatsApp или Telegram.
  2. Кластеризует похожие сообщения по содержимому.
  3. Находит повторяющиеся вопросы-паттерны.
  4. Строит intent-таксономию.
  5. Выдаёт JSON, пригодный для seed-intents.ts.

Место в пайплайне

Первый шаг cold-start пайплайна:

analyze-chats.ts → [produces intent JSON] → seed-intents.ts → intent examples ready

Формат выхода

Результат анализа содержит intent-записи с полями:

  • intentName — распознанный identifier intent;
  • phrases — примеры фраз для intent;
  • count — частота в истории чатов.

Сид intents

Массовый сид intent-примеров с embeddings из результатов анализа.

Использование

npx tsx scripts/seed-intents.ts --input ./analysis.json --namespace legal

Аргументы

ФлагОбязательныйОписание
--inputдаПуть к JSON-файлу с intent-записями
--namespaceдаИмя целевого namespace

Формат входа

[
{
"intentName": "leave_policy",
"phrases": ["How many vacation days do I have?", "What is the leave policy?"]
}
]

Что делает

  1. Читает JSON-файл с intent-записями.
  2. Дедуплицирует по (intentName, phrase) — пропускает уже существующие примеры.
  3. Генерирует embeddings для каждой фразы (batch size 32).
  4. Upsert-ит записи IntentExample с embedding-векторами.
  5. Показывает прогресс-бар.

Место в пайплайне

Второй шаг cold-start пайплайна:

analyze-chats.ts → [produces intent JSON] → seed-intents.ts → intent classification ready

После сида классификатор intents использует эти примеры для векторной классификации входящих сообщений пользователей.