Добро пожаловать в Aether Chat App – интерактивное веб-приложение для чата, созданное на базе мощной языковой модели Google Gemini! 🤖 Этот проект идеально подходит для быстрого развертывания в облаке, используя Flask для бэкенда и чистого HTML/CSS/JS для динамичного пользовательского интерфейса. Он разработан с учетом специфики хостинга на Render.com, что делает его деплой простым и быстрым! 🎉
- Мгновенный Стриминг Ответов: Получайте ответы от ИИ в реальном времени, слово за словом, благодаря технологии стриминга. Больше никаких долгих ожиданий! ⚡️
- Оптимизирован для Render.com: Включает
Procfileиgunicornвrequirements.txt, что обеспечивает бесшовное развертывание и масштабирование на платформе Render.com. Просто подключи репозиторий и деплой! - Динамический UI: Современный и адаптивный дизайн, который автоматически подстраивается под светлую или темную тему вашей системы. 🌓
- Поддержка Markdown и Подсветка Кода: ИИ может форматировать свои ответы с помощью Markdown, включая блоки кода с синтаксической подсветкой для удобства чтения. ✍️
- Сохранение Истории Чата: Ваша беседа с ИИ сохраняется в базе данных (поддержка PostgreSQL для Render.com и SQLite для локальной разработки), позволяя продолжить диалог, не теряя контекста. 💾
- Настраиваемая Модель ИИ: Легко взаимодействует с моделями Google Gemini (текущая по умолчанию -
gemini-2.5-flash).
- Frontend:
- HTML5: Структура веб-страницы.
- CSS3: Стилизация и адаптивность, включая переменные CSS для легкой смены тем.
- JavaScript (Vanilla JS): Динамическое поведение, взаимодействие с API, эффект печати.
- Marked.js: Для рендеринга Markdown в HTML.
- Highlight.js: Для синтаксической подсветки блоков кода.
- Backend:
- Python 3: Основной язык бэкенда.
- Flask: Легковесный веб-фреймворк для обработки запросов и маршрутизации.
- Google Gemini API (через
google-genai): Для взаимодействия с языковыми моделями Google. - Flask-SQLAlchemy: ORM для работы с базами данных.
- python-dotenv: Для безопасной загрузки переменных окружения (например, API ключа и URL базы данных).
- gunicorn: WSGI HTTP-сервер для продакшн-развертывания.
- База данных:
- PostgreSQL: Рекомендуемая база данных для продакшн-развертывания на Render.com.
- SQLite: Используется по умолчанию для локальной разработки, если
DATABASE_URLне указан.
- Форкните или склонируйте этот репозиторий в свой аккаунт GitHub.
- Перейдите на Render.com и создайте новый "Web Service".
- Подключите свой GitHub репозиторий.
- Настройте переменные окружения на Render.com:
GOOGLE_API_KEY: Ваш API-ключ Google Gemini. (Обязательно!)DATABASE_URL: URL вашей PostgreSQL базы данных (если вы используете её). Render.com может автоматически создать для вас PostgreSQL базу данных.
- Render.com автоматически обнаружит
Procfileиrequirements.txtи развернет ваше приложение! - Убедитесь, что в Build Command и Start Command указаны правильные команды (обычно
pip install -r requirements.txtиgunicorn app:app). - После успешного деплоя, Render.com предоставит вам публичную ссылку на ваше приложение, например:
https://abcd-dasd-m4qa.onrender.com/. Перейдите по этой ссылке, чтобы взаимодействовать с вашим чат-ботом! ✨
Если вы хотите запустить проект локально для разработки или тестирования:
- Клонируйте репозиторий:
git clone https://github.com/Shwepsik2121-ai/aether-chat-app.git cd aether-chat-app - Создайте и активируйте виртуальное окружение:
python -m venv venv # Для Windows: .\venv\Scripts\activate # Для macOS/Linux: source venv/bin/activate
- Установите зависимости:
pip install -r requirements.txt
- Создайте файл
.envв корневой директории проекта и добавьте ваш API-ключ Google Gemini:(Получить API-ключ можно здесь: https://aistudio.google.com/apikey)GOOGLE_API_KEY="ВАШ_API_КЛЮЧ_GEMINI" DATABASE_URL="sqlite:///temp_chat.db" (или ваш URL PostgreSQL) - Запустите приложение Flask:
python app.py
- Откройте в браузере: Перейдите по адресу
http://localhost:5000
Приветствуются любые вклады, предложения и улучшения! Если у вас есть идеи, пожалуйста, открывайте issues или отправляйте pull requests. Давайте сделаем Эфир ещё лучше! ✨
