Архитектура корпоративного развертывания
AI Metal Products Finder — схема компонентов, потоков данных и настроек для внутрикорпоративного контура
1 Обзор архитектуры
Что переносится внутрь корпоративного контура
- Все LLM-вызовы — перевод, синтез, генерация идей, валидация, классификация
- База данных — SQLite/PostgreSQL внутри контура
- n8n — оркестрация workflow
Что можно убрать полностью
- Perplexity AI → заменяется на DeepSeek + SerpAPI
- OpenAI → заменяется на Qwen / Gemma / GLM
- Claude → заменяется на DeepSeek V3
- DeepL → заменяется на Qwen для перевода
2 Поток данных
Пользователь вводит запрос
Например: "высокопрочная сталь для мостов". Указывает глубину поиска (shallow/medium/deep), регионы (RU, US, CN, JP, DE), языки.
QueryPreprocessor — подготовка запросов
Перевод запроса на английский (локальная LLM или OpenAI). Генерация специализированных запросов для 4 веток: NEWS, SCIENCE, PATENTS, CUSTOMER_PAINS.
Параллельный поиск (4 ветки, ThreadPoolExecutor)
NEWS — Google News по регионам (SerpAPI)
SCIENCE — Google Scholar + аннотации (SerpAPI)
PATENTS — Google Patents + ФИПС (SerpAPI + HTTP)
PAINS — Госзакупки, форумы, B2B (SerpAPI + LLM)
Постобработка результатов
Дедупликация, определение страны, перевод на русский (LLM), генерация сниппетов (LLM), категоризация болей (LLM).
AI Синтез (DeepSeek V3 / Claude)
На вход: все результаты из 4 веток. На выход: executive_summary, key_trends, market_opportunities, risks_and_threats, recommendations.
Генерация идей продуктов (DeepSeek V3 / Claude)
Результаты исследования + компетенции предприятия → 15-20 конкретных идей продуктов с описанием, обоснованием, инвестициями.
Сохранение в базу данных
SQLite — 9 таблиц: research_history, ai_solutions, ideas, scoring_results и другие.
3 Внешние зависимости и уровни чувствительности
| Сервис | Функция | Чувствительность | В local-режиме |
|---|---|---|---|
| SerpAPI | Поиск Google News, Scholar, Patents | Низкая | Остается (только поисковые запросы) |
| ScraperAPI | Web scraping | Низкая | Заменяется на прямые HTTP-запросы |
| OpenAI | Перевод, сниппеты, валидация | Средняя | → Qwen 2.5 / Gemma 2 |
| DeepL | Перевод текста | Средняя | → Qwen 2.5 |
| Perplexity | AI-поиск, синтез данных | Высокая | → DeepSeek V3 + SerpAPI |
| Claude | Синтез исследования, генерация продуктов | Высокая | → DeepSeek V3 |
4 Карта моделей по задачам
| Задача | Cloud (сейчас) | Local (замена) | Почему |
|---|---|---|---|
| Синтез исследования | Claude Sonnet | deepseek-v3 |
Лучший reasoning для анализа |
| Генерация идей | Claude Sonnet | deepseek-v3 |
Глубокий reasoning |
| Валидация идей | OpenAI GPT-4 | qwen-2.5-72b |
Хорош для JSON output |
| Перевод EN↔RU | OpenAI GPT-4o-mini | qwen-2.5-72b |
Отличная мультиязычность |
| Сниппеты / аннотации | OpenAI GPT-4o-mini | gemma-2-27b |
Быстрая, легкая задача |
| Классификация болей | OpenAI GPT-4o-mini | glm-4 |
Хорош для classification + JSON |
5 Безопасность данных
Не уходит наружу (local mode)
- Компетенции предприятия
- Результаты синтеза исследования
- Стратегические выводы и рекомендации
- Оценки и валидации идей
- Классификация болей клиентов
- Все LLM-запросы и ответы
Уходит наружу (через DMZ/прокси)
- Поисковые запросы в SerpAPI (обезличенные ключевые слова)
- HTTP-запросы к ФИПС (публичные патентные данные)
Рекомендации
- Сеть: PM Flask App в отдельной VLAN
- Прокси: внешний трафик через корпоративный прокси с логированием
- Аутентификация: HTTP Basic Auth или SSO перед Nginx
- Шифрование: TLS для всех внутренних соединений
- Бэкапы: ежедневное резервное копирование SQLite
6 Текущая конфигурация
LLM Backend
Режим работы AI-моделей
cloudLLM Base URL
Эндпоинт для локальных моделей
http://localhost:8000/v1Модель синтеза
Для анализа и генерации идей
deepseek-v3Модель перевода
Для перевода EN ↔ RU
qwen-2.5-72bМодель валидации
Для оценки идей (JSON output)
qwen-2.5-72bМодель сниппетов
Для генерации аннотаций
gemma-2-27bМодель классификации
Для категоризации болей
glm-4База данных
URL подключения
sqlite:///data/metal-products.db7 n8n Workflows
n8n используется для автоматизации процессов и интеграции с корпоративными системами.
| Workflow | Триггер | Действие | Уведомление |
|---|---|---|---|
| 01 — Автопоиск | Cron (Пн-Пт 08:00) | POST /api/v2/research | Telegram / Email |
| 02 — Генерация идей | Webhook (завершение поиска) | POST /api/v2/generate-solutions | Telegram / MS Teams |
| 03 — Экспорт отчетов | Webhook / ручной | GET /api/v2/solutions/export | Файл / SharePoint |
Дополнительные сценарии
- Мониторинг здоровья — проверка доступности API, мониторинг расхода кредитов
- Интеграция с NocoDB — экспорт результатов в структурированные таблицы
- Цепочка обработки — при новых результатах автоматически генерировать идеи
8 Требования к инфраструктуре
| Компонент | CPU | RAM | GPU | Диск |
|---|---|---|---|---|
| PM Flask App | 2 vCPU | 4 GB | — | 10 GB |
| vLLM (DeepSeek V3) | 8 vCPU | 64 GB | 2x A100 80GB | 200 GB |
| vLLM (Qwen 72B) | 4 vCPU | 32 GB | 1x A100 80GB | 100 GB |
| vLLM (Gemma 27B) | 2 vCPU | 16 GB | 1x A100 40GB | 50 GB |
| n8n | 1 vCPU | 2 GB | — | 5 GB |