Neuro Employee App — это интерактивное приложение для работы с LLM (Large Language Models), которое позволяет обучать модели на основе текстов из Google Docs и задавать им вопросы для получения ответов с учётом контекста.
Приложение построено с использованием Python и Gradio для интерфейса, а также LangChain и OpenAI для работы с языковыми моделями и векторными эмбеддингами.
- Python 3.12 — основной язык программирования.
- Gradio — для создания интерактивного веб-интерфейса.
- OpenAI API — для взаимодействия с моделями GPT.
- LangChain и langchain-community — управление LLM и векторными базами.
- ChromaDB — векторная база данных для хранения эмбеддингов.
- tiktoken — подсчёт токенов для моделей OpenAI.
- requests — для получения данных из Google Docs.
- python-dotenv — работа с переменными окружения (.env).
- Клонируйте репозиторий
git clone https://github.com/yourusername/neuro_employee_app.git
cd neuro_employee_app
- Создайте и активируйте виртуальное окружение
python -m venv .venv
- Windows
.venv\Scripts\activate
- Linux / macOS
source .venv/bin/activate
- Установите зависимости
pip install requests python-dotenv langchain langchain-openai langchain-community openai tiktoken gradio chromadb
- Создайте файл .env и добавьте ключ OpenAI API
OPENAI_API_KEY=your_openai_api_key
- Запустите приложение
python main.py
- Откройте Gradio интерфейс
- Локально: http://127.0.0.1:7860
- Публично: Gradio предоставит временный публичный URL для тестирования.
- Загрузка текстов из Google Docs для обучения модели.
- Разделение текста на фрагменты и создание векторной базы эмбеддингов.
- Запросы к модели с контекстом из обученных данных.
- Просмотр логов и результатов запросов через веб-интерфейс.
neuro_employee_app/
│
├─ app/
│ ├─ gpt_model.py # Класс GPT для работы с LLM
│ ├─ interface.py # Gradio интерфейс
│ ├─ data.json # Настройки моделей и промтов
│
├─ main.py # Точка входа приложения
├─ .env # Переменные окружения (API ключ)
├─ requirements.txt # Зависимости проекта
└─ README.md # Документация проекта
- Добавление поддержки нескольких моделей одновременно.
- Возможность загрузки текстов из других источников (PDF, сайты).
- Улучшение интерфейса и логирования.