Простой ИИ-ассистент, построенный на базе n8n, который интегрируется с Google Drive и Supabase для обработки документов и обеспечения интеллектуальных ответов на вопросы пользователей с использованием дополнительных источников знаний.
Данный проект представляет собой ИИ-ассистента, который:
- Мониторит папку в Google Drive на предмет создания или обновления файлов.
- Загружает новые или обновленные файлы, извлекает из них текст и сохраняет его в Supabase в виде векторных эмбеддингов.
- Использует GPT-4 или локальную LLM для обработки запросов пользователей с возможностью обращаться к сохраненным документам и инструментам, таким как калькулятор.
- Хранит историю чата в базе данных Postgres для поддержания контекста беседы.
- Интеграция с Google Drive: Автоматическое обнаружение и обработка новых или обновленных файлов в указанной папке.
- Обработка документов: Извлечение текста из документов, разбиение на части и создание эмбеддингов с помощью модели OpenAI.
- Хранение данных: Использование Supabase для хранения векторных эмбеддингов документов.
- Интеллектуальные ответы: Использование GPT-4 или локальной LLM для генерации ответов, включая доступ к дополнительным источникам знаний.
- История чата: Сохранение истории диалога в Postgres для поддержания контекста.
- Инструменты: Возможность подключения дополнительных инструментов, таких как калькулятор.
Для корректной работы ИИ-ассистент вам понадобится следующее:
- n8n: Установленный и настроенный на вашем сервере или локально. Также подойдет онлайн-версия.
- Аккаунт Google Drive: С папкой, предназначенной для загрузки документов.
- Аккаунт Supabase: Локальный или внешний с настроенной таблицей documents и возможностью хранения векторных эмбеддингов.
- OpenAI API Key: Необходим для использования моделей OpenAi. Не нужен при использовании локальных моделей (ollama).
- Node.js и npm: Для дополнительных скриптов или зависимостей (при необходимости).
- Клонируйте репозиторий
git clone https://github.com/yourusername/your-repository.git
cd your-repository
- Импортируйте workflow в n8n
- Откройте n8n Editor.
- Импортируйте файл workflow.json, расположенный в репозитории.
- Настройте учетные данные в n8n
- Добавьте необходимые credentials для использования в n8n.
- Обновите параметры workflow
- ID папки Google Drive. В узлах File Created и File Updated установите параметр folderToWatch на ID вашей папки в Google Drive.
- Таблица Supabase. Убедитесь, что узлы insertDocs2Supabase и match_documents указывают на правильную таблицу Supabase (documents).
-
Добавьте или обновите файлы в указанной вами папке Google Drive.
-
Поддерживаемые типы файлов включают Google Docs (конвертируются в простой текст).
-
Workflow автоматически:
- Обнаружит новый или обновленный файл.
- Удалит устаревшие записи в Supabase.
- Загрузит и извлечет текст из файла.
- Разобьет текст и создаст эмбеддинги.
- Сохранит эмбеддинги и метаданные в Supabase.
-
Используйте узел Chat в n8n для ввода ваших запросов.
-
Ассистент использует:
- Модель GPT-4 (4o-mini узел) для генерации ответов.
- Компонент памяти (chatLogs узел) для поддержания контекста.
- Инструменты, такие как Calculator и user_documents, для расширенных возможностей.
Ассистент будет извлекать релевантные документы из Supabase для предоставления информативных ответов.
