Архитектура корпоративного развертывания

AI Metal Products Finder — схема компонентов, потоков данных и настроек для внутрикорпоративного контура

Текущий режим: CLOUD

1 Обзор архитектуры

👥
Пользователи
HTTPS через Nginx
🌐
Nginx Reverse Proxy
SSL, маршрутизация
🔐
Аутентификация
Basic Auth / SSO
⚙️
PM Flask App
:5000 — основной сервис
🤖
vLLM / Ollama
:8000 — GPU сервер
🗄️
SQLite / PostgreSQL
База данных
🔄
n8n
:5678 — автоматизация
🌍
DMZ / Прокси
Только поисковые запросы
🔎
SerpAPI
Google News, Scholar, Patents

Что переносится внутрь корпоративного контура

Что можно убрать полностью

2 Поток данных

1

Пользователь вводит запрос

Например: "высокопрочная сталь для мостов". Указывает глубину поиска (shallow/medium/deep), регионы (RU, US, CN, JP, DE), языки.

2

QueryPreprocessor — подготовка запросов

Перевод запроса на английский (локальная LLM или OpenAI). Генерация специализированных запросов для 4 веток: NEWS, SCIENCE, PATENTS, CUSTOMER_PAINS.

3

Параллельный поиск (4 ветки, ThreadPoolExecutor)

NEWS — Google News по регионам (SerpAPI)
SCIENCE — Google Scholar + аннотации (SerpAPI)
PATENTS — Google Patents + ФИПС (SerpAPI + HTTP)
PAINS — Госзакупки, форумы, B2B (SerpAPI + LLM)

4

Постобработка результатов

Дедупликация, определение страны, перевод на русский (LLM), генерация сниппетов (LLM), категоризация болей (LLM).

5

AI Синтез (DeepSeek V3 / Claude)

На вход: все результаты из 4 веток. На выход: executive_summary, key_trends, market_opportunities, risks_and_threats, recommendations.

6

Генерация идей продуктов (DeepSeek V3 / Claude)

Результаты исследования + компетенции предприятия → 15-20 конкретных идей продуктов с описанием, обоснованием, инвестициями.

7

Сохранение в базу данных

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-запросы к ФИПС (публичные патентные данные)

Рекомендации

6 Текущая конфигурация

LLM Backend

Режим работы AI-моделей

cloud

LLM 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.db

7 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

Дополнительные сценарии

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