125 lines
6.5 KiB
Markdown
125 lines
6.5 KiB
Markdown
# **Техническое задание на разработку платформы для поиска по корпоративным данным с использованием LLM-моделей**
|
||
|
||
## **1. Введение**
|
||
### **1.1. Назначение документа**
|
||
Настоящее техническое задание (ТЗ) описывает требования к разработке платформы для семантического поиска и обработки корпоративных данных с использованием LLM (Large Language Models) и RAG (Retrieval-Augmented Generation).
|
||
|
||
### **1.2. Цель проекта**
|
||
Создание системы, которая:
|
||
- Индексирует корпоративные данные из BookStack и других источников.
|
||
- Обеспечивает поиск и генерацию ответов на основе LLM (ChatGPT, YandexGPT, GigaChat).
|
||
- Интегрируется с Bitrix24 через чат-бота.
|
||
- Предоставляет интерфейсы для управления и загрузки данных.
|
||
|
||
---
|
||
|
||
## **2. Описание системы**
|
||
### **2.1. Функциональные требования**
|
||
#### **2.1.1. Загрузка и обработка данных**
|
||
- Поддержка форматов: PDF, DOCX, TXT, XML, JSON, YAML, MD, MDX, HTML, XLS, CSV.
|
||
- Загрузка через BookStack (webhook) или отдельный интерфейс платформы.
|
||
- Разделение документов на чанки и их векторизация.
|
||
- Хранение в векторной БД (Weaviate или PostgreSQL с pgvector).
|
||
|
||
#### **2.1.2. Поиск и генерация ответов**
|
||
- Прием запросов через API или чат-интерфейс.
|
||
- RAG-поиск: извлечение релевантных чанков из БД.
|
||
- Генерация ответов с использованием выбранной LLM (ChatGPT, YandexGPT, GigaChat).
|
||
|
||
#### **2.1.3. Интерфейсы**
|
||
- **Админ-панель**: управление настройками, моделями, источниками данных.
|
||
- **Интерфейс загрузки файлов**: ручная загрузка документов в векторную БД.
|
||
- **Веб-чат**: тестирование и проверка работы системы.
|
||
- **Чат-бот для Bitrix24**: интеграция через API Bitrix.
|
||
|
||
### **2.2. Нефункциональные требования**
|
||
- **Производительность**: время ответа ≤ 3 сек.
|
||
- **Масштабируемость**: поддержка > 10 000 документов.
|
||
- **Безопасность**: аутентификация (OAuth2, API-ключи), разграничение прав.
|
||
- **Поддержка LLM**: возможность добавления новых моделей.
|
||
|
||
---
|
||
|
||
## **3. Архитектура**
|
||
### **3.1. Компоненты системы**
|
||
1. **BookStack (или аналог)**: хранение исходных документов.
|
||
2. **Maker-GPT (ядро системы)**:
|
||
- API для обработки запросов.
|
||
- Интеграция с векторной БД.
|
||
- Подключение к LLM.
|
||
3. **Векторная БД**: Weaviate / PostgreSQL (pgvector).
|
||
4. **Интерфейсы**:
|
||
- Админ-панель (Vue).
|
||
- Веб-чат (Vue).
|
||
- Bitrix24-бот (REST API).
|
||
|
||
### **3.2. Схема взаимодействия**
|
||
```mermaid
|
||
graph TD
|
||
A[BookStack] -->|Webhook| B[Maker-GPT]
|
||
C[Файлы] -->|Загрузка| B
|
||
B -->|Векторизация| D[Weaviate/PostgreSQL]
|
||
E[Пользователь] -->|Запрос| F[API/Чат]
|
||
F --> B -->|RAG + LLM| G[Ответ]
|
||
B -->|Интеграция| H[Bitrix24]
|
||
```
|
||
### **3.3 Запрос названия хим препарата**
|
||
```mermaid
|
||
flowchart TD
|
||
A[Пришлите мне название препарата] -->|Ответ польз-ля| B{ответ ищем по базе названий}
|
||
B -->|Найдено более 1го| C{Спросить по какому из?}
|
||
B -->|Найден 1 препарат| D[Запрос к БД по имени препарата]
|
||
C -->|Выбран препарат| D
|
||
B -->|Не найден| E{Запрос к модели для поиска похожего}
|
||
E -->|есть одно имя препарата| D
|
||
E -->|модель задала уточняющий вопрос| F[вопрос пользователю]
|
||
F -->|ответ поль-ля| E
|
||
```
|
||
|
||
---
|
||
|
||
## **4. Технологический стек**
|
||
- **Backend**: Node.js, MongoDB .
|
||
- **Векторная БД**: Weaviate / PostgreSQL + pgvector.
|
||
- **LLM-интеграция**: OpenAI API, YandexGPT API, GigaChat API.
|
||
- **Фронтенд**: Vue.
|
||
- **DevOps**: Docker.
|
||
|
||
---
|
||
|
||
## **5. Трудозатраты и сроки**
|
||
| Этап | Описание | Срок (нед.) | Трудозатраты (ч) |
|
||
|------|----------|------------|----------------|
|
||
| 1 | Интеграция с BookStack и векторной БД | 3 | 100 |
|
||
| 2 | Разработка интерфейсов (админка, чат) | 3 | 100 |
|
||
| 3 | Интеграция с Bitrix24 | 2 | 80 |
|
||
| 4 | Тестирование и доработки | 2 | 60 |
|
||
| **Итого** | | **10 недель** | **340 часов** |
|
||
|
||
---
|
||
|
||
## **6. Ожидаемые результаты**
|
||
- Рабочая платформа с RAG-поиском на корпоративных данных.
|
||
- Интеграция с BookStack и Bitrix24.
|
||
- Админ-панель, интерфейс загрузки файлов, веб-чат.
|
||
- Документация и инструкции по развертыванию.
|
||
|
||
---
|
||
|
||
## **7. Дополнительные требования**
|
||
- **Документирование API** (Swagger).
|
||
- **Логирование и мониторинг** (Prometheus).
|
||
- **Резервное копирование** данных стредствами ОС.
|
||
|
||
---
|
||
|
||
**Исполнитель:** ООО 1Концепт
|
||
**Заказчик:** _______________
|
||
**Дата:** 24.03.2025
|
||
|
||
**Подписи:**
|
||
_________________________ (Заказчик)
|
||
_________________________ (Исполнитель)
|
||
|
||
---
|