Оформление
knowledge-base
Сервис базы знаний: из чего состоит, какие инструменты предоставляет и что за ним стоит.
Источник сведений
Исходного кода этого сервиса среди переданных репозиториев нет. Описание собрано из двух надёжных источников: список инструментов, полученный обращением к подключённому источнику на стенде, и описания этих инструментов, которые сервис сообщает о себе сам. Они прямо называют внутренние составляющие, поэтому картина получается достоверной.
Назначение
Отвечает на вопросы по документам компании. Собирает документы из внешних источников, распознаёт их, извлекает структурированные данные, индексирует и обслуживает поиск по смыслу.
В платформе источник называется Knowledge Base, адрес http://eap-mcp-knowledge-base_eva:8900/mcp, транспорт Streamable HTTP.
Это шлюз, а не один сервис
Главное про устройство: сервис не делает работу сам, он проксирует её четырём внутренним сервисам. Это прямо указано в описаниях его инструментов.
| Внутренний сервис | Что делает |
|---|---|
hippocampus | Хранение и поиск по векторному представлению документов |
paleograph | Распознавание и разбор документов в текст и структуру |
preprocessor | Извлечение структурированных данных из текста силами языковой модели |
conflu-gate | Выгрузка страниц и вложений из Confluence |
Это объясняет архитектурную схему продукта
На схеме внутри базы знаний нарисованы Hippocampus, Paleograph и Preprocessor. Теперь понятно, почему их не было в коде: это отдельные сервисы за этим шлюзом, а не части переданных репозиториев. Отдельно стоящий сервис OCR, подключённый к платформе под своим именем, тоже использует paleograph, то есть один и тот же разборщик документов используется двумя путями.
Инструменты
Девять инструментов, модель видит восемь.
| Инструмент | Назначение |
|---|---|
init_eva_session | Привязка сессии, вызывает только Runtime |
doc_vector_search | Поиск подходящих документов по смыслу запроса |
doc_vector_index | Запуск индексации или переиндексации документов |
parse | Разбор файла в текст и структуру |
download_cfl | Выгрузка страниц и вложений из Confluence |
preprocess | Извлечение структурированных данных из разобранного документа по заданной схеме |
convert_semantic_groups | Приведение извлечённых данных к семантическим группам для индексации |
extract_meta | Извлечение мета-параметров документов |
download_documents | Скачивание документов из базы в файлы текущего чата |
doc_vector_search
Основной инструмент для пользователя. Возвращает подходящие документы. По каждому найденному приходит формат, а если мета-сведения были извлечены при индексации, то ещё название проекта, тип проекта и описание.
parse
Разбирает файл в форматы разметки и структурированных данных. Поддерживаются PDF, Word, PowerPoint, Excel, HTML и изображения. Выполняется через paleograph.
download_cfl
Выгрузка из Confluence. Область выгрузки задаётся по убыванию точности:
| Что передано | Что выгружается |
|---|---|
| Идентификатор корневой страницы | Только этот раздел, страница и всё вложенное |
| Ключ пространства | Только это пространство |
| Ничего | Всё, что видит используемый токен доступа |
preprocess и convert_semantic_groups
Пара инструментов подготовки. Первый извлекает структурированные данные из разобранного документа по именованной схеме силами языковой модели. Второй приводит результат к семантическим группам, пригодным для индексации.
extract_meta
Извлекает необязательные мета-параметры: название проекта, описание, тип проекта, ключевые слова. Смотрит и на содержимое документа, и на текст родительских страниц по иерархии, и на путь. Результат передаётся в индексацию.
download_documents
Скачивает документы из базы в файлы текущего чата по их идентификаторам, полученным из результатов поиска. Требует, чтобы для чата была инициализирована сессия доступа к файлам, что платформа делает сама.
Конвейер наполнения базы
Порядок работы виден из назначения инструментов.
Что за ним стоит
| Составляющая | Состояние сведений |
|---|---|
| Векторное хранилище | Не подтверждено. На схеме продукта указан Milvus, в переданном коде упоминаний нет |
| Модель построения векторных представлений | Не подтверждена. На схеме указана BGE |
| Языковая модель для извлечения данных | Используется, судя по описаниям инструментов. Какая именно, не подтверждено |
| Модели распознавания | Те же, что в сервисе OCR, поскольку разбор идёт через paleograph |
Что нужно уточнить
- Репозитории внутренних сервисов:
hippocampus,preprocessor,conflu-gate. - Какое векторное хранилище используется и где развёрнуто.
- Какая модель строит векторные представления.
- Какая языковая модель используется для извлечения данных и на каком сервисе.
- Ограничения: размер документа, время индексации, время ответа поиска.
- Разграничение доступа: одна база на всех или разделение по подразделениям. Это важно и для пользовательской документации.
- Список именованных схем извлечения, доступных в
preprocess.