Холодный старт
Импорт контрактов
Массовый импорт контрактов и документов в базу знаний.
Использование
npx tsx scripts/import-contracts.ts
Что делает
- Сканирует каталог на файлы контрактов (PDF, DOCX, TXT).
- Создаёт базу знаний, если её ещё нет.
- Загружает каждый файл с метаданными.
- Ставит 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
Что делает
- Парсит экспорт чатов WhatsApp или Telegram.
- Кластеризует похожие сообщения по содержимому.
- Находит повторяющиеся вопросы-паттерны.
- Строит intent-таксономию.
- Выдаёт 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?"]
}
]
Что делает
- Читает JSON-файл с intent-записями.
- Дедуплицирует по
(intentName, phrase)— пропускает уже существующие примеры. - Генерирует embeddings для каждой фразы (batch size 32).
- Upsert-ит записи
IntentExampleс embedding-векторами. - Показывает прогресс-бар.
Место в пайплайне
Второй шаг cold-start пайплайна:
analyze-chats.ts → [produces intent JSON] → seed-intents.ts → intent classification ready
После сида классификатор intents использует эти примеры для векторной классификации входящих сообщений пользователей.