Общая навигация
Общие документы
ИИ "НИКА"
Цифровой скетч
Моя CRM
Разделы документа
1. ОБЩЕЕ ОПИСАНИЕ СИСТЕМЫ
2. АРХИТЕКТУРА СИСТЕМЫ
3. ФУНКЦИОНАЛЬНЫЕ МОДУЛИ
4. API ДОКУМЕНТАЦИЯ
5. МОДЕЛИ ДАННЫХ
6. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС
7. БЕЗОПАСНОСТЬ
8. ПРОИЗВОДИТЕЛЬНОСТЬ
9. МОНИТОРИНГ И ЛОГИРОВАНИЕ
10. ТЕСТИРОВАНИЕ
11. DEPLOYMENT
12. ПОДДЕРЖКА И ОБСЛУЖИВАНИЕ
Версия 1.0
Документ описывает назначение и состав системы НИКА, архитектуру (Vue.js, FastAPI, микросервисы, PostgreSQL/Redis), функциональные модули, API, модели данных, интерфейс, безопасность, производительность, мониторинг, тестирование, развёртывание и сопровождение.
Полный текст разделов приведён ниже; для перехода используйте оглавление.
1.1. Назначение
Система «Искусственный интеллект НИКА» предназначена для интеллектуального анализа электронных документов различных форматов с применением технологий искусственного интеллекта, машинного обучения и обработки естественного языка. Система включает веб-интерфейс чат-бота на Vue.js для интерактивного взаимодействия с пользователями.
1.2. Основные компоненты
• Backend: Python-сервисы для обработки документов и ИИ-анализа
• Frontend: Vue.js приложение с интерфейсом чат-бота
• База данных: PostgreSQL для хранения данных
• ML-сервисы: модули машинного обучения на TensorFlow/PyTorch
• NLP-модули: обработка естественного языка (BERT, GPT-подобные модели)
2.1. Общая архитектура
┌─────────────────────────────────────────────────┐
│ Vue.js Frontend (Чат-бот) │
├─────────────────────────────────────────────────┤
│ REST API (FastAPI) │
├─────────────────────────────────────────────────┤
│ Микросервисная архитектура │
├──────────┬──────────┬──────────┬────────────────┤
│ Загрузка │ Анализ │ ML │ Рекомендации │
│документов│ текста │ модули │ генератор │
├──────────┴──────────┴──────────┴────────────────┤
│ PostgreSQL / Redis │
└─────────────────────────────────────────────────┘
2.2. Frontend архитектура (Vue.js)
Структура компонентов:
src/
├── components/
│ ├── ChatBot/
│ │ ├── ChatWindow.vue # Основное окно чата
│ │ ├── MessageList.vue # Список сообщений
│ │ ├── MessageItem.vue # Компонент сообщения
│ │ ├── InputArea.vue # Поле ввода
│ │ ├── FileUploader.vue # Загрузчик файлов
│ │ └── TypingIndicator.vue # Индикатор набора
│ ├── DocumentAnalysis/
│ │ ├── DocumentViewer.vue # Просмотр документов
│ │ ├── AnalysisResults.vue # Результаты анализа
│ │ └── RecommendationCard.vue # Карточка рекомендации
│ └── Common/
│ ├── Header.vue # Заголовок
│ ├── Sidebar.vue # Боковая панель
│ └── LoadingSpinner.vue # Индикатор загрузки
├── views/
│ ├── Chat.vue # Страница чата
│ ├── Dashboard.vue # Дашборд
│ └── Documents.vue # Управление документами
├── store/ # Vuex хранилище
│ ├── modules/
│ │ ├── chat.js # Состояние чата
│ │ ├── documents.js # Состояние документов
│ │ └── user.js # Данные пользователя
│ └── index.js
├── services/ # API сервисы
│ ├── api.js # Базовый API клиент
│ ├── chatService.js # Сервис чата
│ └── documentService.js # Сервис документов
└── router/ # Vue Router
└── index.js
3.1. Модуль чат-бота (Vue.js Frontend)
Основные функции:
• интерактивный диалог: обмен сообщениями в реальном времени
• загрузка документов: Drag & Drop интерфейс для загрузки файлов
• визуализация результатов: графики, таблицы, карточки с рекомендациями
• история диалогов: сохранение и навигация по предыдущим сессиям
• контекстные подсказки: автодополнение и предложения запросов
Технические характеристики:
• Framework: Vue.js 3.x с Composition API
• State Management: Vuex 4.x
• UI Framework: Vuetify 3.x / Element Plus
• HTTP Client: Axios
• WebSocket: Socket.io-client для real-time обновлений
• графики: Chart.js / Apache ECharts
3.2. Backend модули
3.2.1. Модуль загрузки и конвертации документов
• поддержка форматов: XLSX, XLS, DOCX, DOC, PDF
• извлечение текста, таблиц, метаданных
• унификация данных для дальнейшей обработки
3.2.2. Модуль интеллектуального анализа
• семантический анализ на основе BERT
• извлечение именованных сущностей
• определение тематики документа
• анализ числовых данных
3.2.3. Модуль машинного обучения
• классификация документов
• кластеризация
• прогнозирование
• обнаружение аномалий
3.2.4. Модуль генерации рекомендаций
• формирование правил на основе анализа
• генерация текстовых рекомендаций (GPT-подобная архитектура)
• ранжирование по релевантности
4.1. REST API Endpoints
Аутентификация:
POST /api/auth/login
POST /api/auth/logout
POST /api/auth/refresh
Чат:
POST /api/chat/message # Отправить сообщение
GET /api/chat/history # История чата
GET /api/chat/session/{id} # Получить сессию
DELETE /api/chat/session/{id} # Удалить сессию
Документы:
POST /api/documents/upload # Загрузить документ
GET /api/documents/list # Список документов
GET /api/documents/{id} # Получить документ
POST /api/documents/{id}/analyze # Анализировать документ
GET /api/documents/{id}/results # Результаты анализа
WebSocket Events:
// Client -> Server
socket.emit('message', { text, sessionId })
socket.emit('typing', { sessionId })
socket.emit('file_upload', { file, sessionId })
// Server -> Client
socket.on('response', { text, recommendations })
socket.on('analysis_progress', { progress, status })
socket.on('analysis_complete', { results })
5.1. Структура сообщения чата
interface ChatMessage {
id: string;
sessionId: string;
sender: 'user' | 'bot';
text: string;
timestamp: Date;
attachments?: Attachment[];
recommendations?: Recommendation[];
metadata?: {
processingTime: number;
confidence: number;
entities: Entity[];
};
}
5.2. Структура документа
interface Document {
id: string;
name: string;
type: 'excel' | 'word' | 'pdf';
size: number;
uploadDate: Date;
status: 'uploaded' | 'processing' | 'analyzed' | 'error';
analysisResults?: AnalysisResult;
extractedData?: {
text: string;
tables: Table[];
metadata: DocumentMetadata;
};
}
5.3. Структура рекомендации
interface Recommendation {
id: string;
type: 'action' | 'insight' | 'warning';
title: string;
description: string;
priority: 'high' | 'medium' | 'low';
confidence: number;
relatedEntities: string[];
suggestedActions?: Action[];
}
6.1. Основные экраны
6.1.1. Экран чата
• область сообщений: отображение диалога с поддержкой markdown
• поле ввода: многострочный ввод с поддержкой команд
• панель документов: Drag & Drop зона для загрузки файлов
• панель рекомендаций: карточки с рекомендациями
6.1.2. Дашборд
• статистика использования: графики и метрики
• последние документы: список недавно загруженных файлов
• активные сессии: текущие диалоги
• системные уведомления: важные события
6.1.3. Управление документами
• библиотека документов: таблица с фильтрацией и поиском
• предпросмотр: быстрый просмотр содержимого
• результаты анализа: детальная информация по каждому документу
6.2. UI/UX принципы
• адаптивный дизайн: поддержка desktop/tablet/mobile
• тёмная/светлая тема: переключаемые цветовые схемы
• Accessibility: WCAG 2.1 Level AA compliance
• интернационализация: i18n поддержка (русский/английский)
7.1. Frontend безопасность
• XSS защита: sanitization пользовательского ввода
• CSRF токены: защита от межсайтовой подделки запросов
• Content Security Policy: ограничение источников контента
• HTTPS only: принудительное использование SSL
7.2. Аутентификация и авторизация
• JWT токены: Access и Refresh токены
• Role-Based Access Control: ролевая модель доступа
• Multi-Factor Authentication: опциональная 2FA
• Session management: контроль сессий пользователя
8.1. Оптимизация Frontend
• Code splitting: ленивая загрузка модулей
• Tree shaking: удаление неиспользуемого кода
• Compression: Gzip/Brotli сжатие
• CDN: статика через Content Delivery Network
• Service Workers: офлайн поддержка и кеширование
8.2. Метрики производительности
• First Contentful Paint: < 1.5s
• Time to Interactive: < 3.5s
• Largest Contentful Paint: < 2.5s
• Cumulative Layout Shift: < 0.1
9.1. Frontend мониторинг
• Error tracking: Sentry интеграция
• Performance monitoring: Web Vitals метрики
• User analytics: отслеживание действий пользователя
• A/B testing: эксперименты с интерфейсом
9.2. Backend мониторинг
• Application Performance Monitoring: Prometheus + Grafana
• Log aggregation: ELK Stack (Elasticsearch, Logstash, Kibana)
• Health checks: endpoints для проверки состояния
• Alerts: уведомления о критических событиях
10.1. Frontend тестирование
• Unit tests: Jest + Vue Test Utils
• Integration tests: Cypress
• E2E tests: Playwright/Selenium
• Visual regression: Percy/Chromatic
10.2. Backend тестирование
• Unit tests: pytest
• API tests: Postman/Newman
• Load testing: Locust/K6
• Security testing: OWASP ZAP
11.1. Контейнеризация
# Frontend Dockerfile
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
11.2. Orchestration
• Kubernetes: deployment манифесты
• Docker Compose: локальная разработка
• CI/CD: GitLab CI / GitHub Actions
• Environment: dev/staging/production
12.1. Версионирование
• Semantic Versioning: MAJOR.MINOR.PATCH
• Changelog: документирование изменений
• Migration guides: руководства по обновлению
• Deprecation policy: политика устаревания
12.2. Документация
• API Documentation: OpenAPI/Swagger
• Component Library: Storybook
• User Guide: руководство пользователя
• Developer Guide: руководство разработчика
8 (3452) 696-001
7203558650
722401001
INFO@DI-INDUSTRY.RU
625019, Тюменская область, г. Тюмень,
ул. Республики,д 250, стр. 5, оф 309.
© 2026 Все права защищены