План реализации 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 и кэширование запросов.
- [ ] Настроить доступ к OpenAI API / Anthropic API (в
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(cratepgvector). - [ ] Реализовать быстрый поиск
/api/v1/search/semanticна Rust (Actix-web/Axum). - [ ] Оптимизация SQL-запросов (HNSW index usage).
- [ ] Кэширование результатов поиска в Redis.
- [ ] Настроить подключение к Postgres с поддержкой
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 компоненты |
📉 Риски и меры¶
- Качество поиска: Если поиск выдает нерелевантное -> Внедрить механизм Feedback (лайк/дизлайк выдаче) для дообучения.
- Синхронизация: Rust и Python должны использовать одну модель эмбеддингов.