Перейти к содержанию

План реализации AI-стратегии

Этот документ детализирует этапы внедрения ИИ, описанные в AI Solution. Реализация предусматривает гибридную архитектуру: - FastAPI (Python): Генерация эмбеддингов, сложная бизнес-логика RAG, генерация контента (Content Factory), аналитика. - Rust: Высокопроизводительный API поиска, Real-time чат, чтение рекомендаций, интеграция с мобильным приложением.

📅 Этап 1: MVP (Smart Search & Content Gen)

Цель: Запустить семантический поиск и помочь администраторам генерировать контент. Срок: 1-2 месяца.

1.1. Инфраструктура и База данных

  • [ ] Supabase Setup
    • [ ] Включить расширение pgvector.
    • [ ] Создать таблицу embeddings (или добавить колонку embedding в существующие таблицы hotels, tours).
    • [ ] Настроить индексы HNSW для быстрого поиска.
  • [ ] API Gateway & Keys
    • [ ] Настроить доступ к OpenAI API / Anthropic API (в .env для обоих бекендов).
    • [ ] Реализовать rate limiting и кэширование запросов.

1.2. Backend (Python/FastAPI)

  • [ ] Embedding Service
    • [ ] Реализовать функцию генерации эмбеддингов (текст -> вектор).
    • [ ] Создать скрипт первоначальной индексации (проход по всем отелям/турам и генерация векторов).
    • [ ] Настроить триггеры/хуки: при обновлении описания отеля обновлять вектор.
  • [ ] Content Generation API
    • [ ] Эндпоинт /api/v1/ai/generate-description: принимает характеристики, возвращает текст.
    • [ ] Промпт-инжиниринг для генерации продающих текстов.

1.3. Backend (Rust)

  • [ ] High-Performance Search Service
    • [ ] Настроить подключение к Postgres с поддержкой pgvector (crate pgvector).
    • [ ] Реализовать быстрый поиск /api/v1/search/semantic на Rust (Actix-web/Axum).
    • [ ] Оптимизация SQL-запросов (HNSW index usage).
    • [ ] Кэширование результатов поиска в Redis.

1.4. Frontend (React/Admin)

  • [ ] Умный поиск (Client)
    • [ ] Обновить компонент поиска: добавить поддержку естественного языка.
    • [ ] Отображать "Почему это подходит" (AI-объяснение в выдаче).
  • [ ] Генератор контента (Admin Panel)
    • [ ] В форму редактирования отеля/тура добавить кнопку "Сгенерировать описание с AI".
    • [ ] Интеграция с FastAPI эндпоинтом генерации.

📅 Этап 2: Интеграция (Support Bot & Reviews)

Цель: Автоматизировать поддержку и анализ обратной связи. Срок: 3-4 месяца.

2.1. RAG System (Retrieval-Augmented Generation)

  • [ ] Knowledge Base (Python)
    • [ ] Скрипты парсинга FAQ, правил, статей и загрузки в векторную базу.
    • [ ] Чанкинг документов.
  • [ ] Chat Service (Rust + Python)
    • [ ] Rust: WebSocket Gateway для чата (поддержка высокого конкаренси).
    • [ ] Python: RAG-процессор (принимает контекст от Rust, формирует промпт, опрашивает LLM, возвращает ответ).

2.2. Review Intelligence (Python)

  • [ ] Sentiment Analysis
    • [ ] Background job: анализ новых отзывов.
    • [ ] Выделение тегов (чистота, сервис, еда).
    • [ ] Сохранение метаданных в БД.

2.3. Frontend (Chat & Dashboards)

  • [ ] Chat Widget
    • [ ] Плавающий виджет чата на сайте (WebSocket).
    • [ ] История сообщений.
  • [ ] Analytics UI
    • [ ] Графики тональности отзывов в админке отельера.

📅 Этап 3: Advanced (Pricing & Planner)

Цель: Оптимизация выручки и планирование путешествий. Срок: 5-6 месяцев.

3.1. Dynamic Pricing (Python + Rust)

  • [ ] Python: Data Collector (сбор данных о ценах конкурентов, погоде).
  • [ ] Python: ML-модель рекомендации цены.
  • [ ] Rust: API получения рекомендованной цены (быстрое чтение из кэша/БД).

3.2. Trip Planner (Python)

  • [ ] Planner Engine
    • [ ] Логика составления маршрута (учет времени, локации, бюджета).
    • [ ] Генерация PDF-программы поездки.

🛠 Технический стек и инструменты

Компонент Технология Примечание
LLM OpenAI GPT-4o-mini Основная модель (дешево и быстро)
Vector DB Supabase (pgvector) Хранение эмбеддингов
Backend AI Python (FastAPI) Генерация, RAG, Аналитика
Backend API Rust (Axum/Actix) Поиск, Чат, Read-Heavy API
Frontend React + Tailwind UI компоненты

📉 Риски и меры

  1. Качество поиска: Если поиск выдает нерелевантное -> Внедрить механизм Feedback (лайк/дизлайк выдаче) для дообучения.
  2. Синхронизация: Rust и Python должны использовать одну модель эмбеддингов.