GTUtor: Динамическая многотематическая система чата
GTUtor — это интеллектуальная система обучения, специально разработанная для студентов Гуджаратского технологического университета (GTU). Он сочетает в себе мощь искусственного интеллекта Gemini Pro от Google с системой знаний на основе документов для предоставления точных, контекстно-зависимых ответов по различным темам.
Функции
- Поддержка нескольких предметов : создавайте и управляйте несколькими предметами с помощью независимых баз знаний.
- ? Интеграция документов : загрузите PDF-документы или укажите URL-адреса для расширения базы знаний.
- Интеллектуальный интерфейс чата : динамическая система разговоров с отслеживанием истории.
- ? Контекстно-зависимые ответы : сочетает знание документов с возможностями Gemini Pro.
- Управление базами данных : встроенные инструменты для управления базами данных документов по каждому предмету.
- ? Ориентирован на GTU : специально разработан для учебных программ и курсов GTU.
- ? Постоянное хранилище : автоматически сохраняет историю чатов и данные тем.
- ? Функциональность копирования : Простое копирование вопросов и ответов.
Установка
- Клонируем репозиторий:
git clone https://github.com/pruthakjani5/GTUtor.git
cd gtutor
- Создайте виртуальную среду и активируйте ее:
python -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivate
- Установите необходимые зависимости:
pip install -r requirements.txt
- Создайте файл
.env
в корне проекта и добавьте свой ключ Gemini API:
GEMINI_API_KEY=your_api_key_here
Если вам нужна новая настройка без пробной базы данных и предыдущих чатов, удалите папку «gtutor_data», запуск app.py создаст новую.
Требуемые зависимости
- освещенный потоком света
- запросы
- pypdf
- Google-генеративный
- хромадб
- python-dotenv
- временный файл
- уценка
- буфер обмена
Использование
- Запустите приложение Streamlit:
Получите доступ к приложению через веб-браузер (обычно по адресу http://localhost:8501
).
Выберите или создайте тему из раскрывающегося меню.
Загрузите PDF-документы или предоставьте URL-адреса PDF-файлов для создания базы знаний по теме.
Начните задавать вопросы в интерфейсе чата
Особенности в деталях
Управление предметами
- Создавайте новые предметы
- Удалить существующие темы
- Очистить тематические базы данных
- Отслеживайте количество документов по теме
Управление документами
- Загрузите PDF-файлы (до 10 МБ)
- Добавить документы через URL
- Автоматическое извлечение и фрагментирование текста
- Постоянное хранение данных документа
Интерфейс чата
- Ответы на вопросы в режиме реального времени
- Отслеживание истории чата
- Скопируйте вопросы и ответы
- Удаление отдельных сообщений
- Начать новые разговоры
- Улучшенный пользовательский интерфейс с аватарами пользователей/ботов.
Генерация ответов
- Контекстно-зависимые ответы с использованием загруженных документов
- При необходимости используйте знания Gemini Pro.
- Структурированные и форматированные ответы
- Академический тон с акцентом на учебную программу GTU
Структура проекта
gtutor/
├── app.py # Main application file
├── .env # Environment variables
├── requirements.txt # Project dependencies
└── gtutor_data/ # Data directory
├── dbs/ # Subject databases
├── chat_histories/ # Conversation histories
└── subjects.json # Subject list
Техническая реализация
- Обработка документов : использует
pypdf
для извлечения текста PDF с автоматическим разделением на фрагменты. - База данных векторов : реализует
chromadb
для эффективного хранения и поиска текста. - UI Framework : создан с
streamlit
для адаптивного веб-интерфейса. - Интеграция с искусственным интеллектом : для интеллектуального реагирования используется API Gemini Pro от Google.
- Сохранение данных : хранилище на основе JSON для истории чатов и данных о темах.
- Поддержка Markdown : улучшенное форматирование текста для ответов.
Содействие
Вклады приветствуются! Пожалуйста, не стесняйтесь отправить запрос на включение.
Лицензия
Этот проект лицензируется по лицензии MIT — подробности см. в файле LICENSE.
Благодарности
- Генеративный искусственный интеллект Google для API Gemini Pro
- Streamlit для веб-фреймворка
- ChromaDB для реализации векторной базы данных
Поддерживать
Для поддержки и вопросов откройте проблему в репозитории GitHub или свяжитесь с сопровождающими.