Этот проект представляет собой простой API для управления сообщениями и комментариями с модерацией искусственного интеллекта. API построен с использованием FASTAPI и PYDANTIC, и включает в себя функции для регистрации пользователей, входа в систему, управления публикациями и комментариями, модерации контента с AI и аналитики. Кроме того, бот включен для создания сообщений и комментариев с использованием ИИ и взаимодействия с API.
.
├── alembic/
├── app/
│ ├── __pycache__/
│ ├── auth.py
│ ├── crud.py
│ ├── database.py
│ ├── deps.py
│ ├── main.py
│ ├── models.py
│ ├── moderation.py
│ ├── schemas.py
├── bot/
│ ├── __pycache__/
│ ├── bot.py
│ ├── config.py
│ ├── template_config.py
├── venv/
├── tests/
│ ├── test_main.py
│ ├── test_post.py
├── .gitignore
├── alembic.ini
├── init_db.py
├── readme
├── requirements.txt
└── test.db
Создайте и активируйте виртуальную среду Python:
python -m venv venv
venv S cripts a ctivatepython3 -m venv venv
source venv/bin/activateУстановите необходимые пакеты Python:
pip install -r requirements.txt Убедитесь, что у вас есть файл ключа учетной записи Google Cloud Service (JSON) и установите переменную среды GOOGLE_APPLICATION_CREDENTIALS .
set GOOGLE_APPLICATION_CREDENTIALS=C: p ath t o y our s ervice-account-file.json export GOOGLE_APPLICATION_CREDENTIALS= " /path/to/your/service-account-file.json "Используйте Alembic для применения миграций базы данных:
alembic upgrade headЗапустите следующий скрипт для инициализации базы данных:
python init_db.py Создайте файл .env в корне проекта и добавьте следующие переменные:
GOOGLE_APPLICATION_CREDENTIALS= " /path/to/your/service-account-file.json "Добавьте любые другие специфичные для среды переменные, необходимые для ваших настроек FastAPI.
Чтобы запустить сервер FASTAPI, запустите:
uvicorn app.main:app --reload API будет доступен по адресу http://127.0.0.1:8000 .
Корневая конечная точка : GET /
Возвращает приветственное сообщение.
Регистрация пользователя : POST /register/
Зарегистрируйте нового пользователя.
Вход пользователя : POST /login/
Получите токен доступа для аутентифицированного пользователя.
Создать сообщение : POST /posts/
Создайте новый пост.
Создать комментарий : POST /posts/{post_id}/comments/
Добавьте комментарий к сообщению.
Получите аналитику : GET /api/comments-daily-breakdown?date_from=<YYYY-MM-DD>&date_to=<YYYY-MM-DD>
Получите ежедневные агрегированные данные комментариев в диапазоне дат.
Автоматический ответ на комментарии : /comments/auto-response/
Конечная точка и логика для обеспечения автоматического ответа на комментарии после задержки.
Настройки бота могут быть скорректированы в файле bot/config.py , включая:
Чтобы запустить бота и начать генерировать посты и комментарии, запустите:
python bot/bot.pyЧтобы позволить боту генерировать текстовый контент с помощью генеративного искусственного интеллекта Google, выполните следующие действия:
Создайте Google Cloud Project :
Включить генеративный API AI :
Получить учетные данные API :
Установите клиентскую библиотеку API :
pip install google-generativeaiНастройте приложение :
bot/config.py : # bot/config.py
class Config :
API_URL = "http://localhost:8000" # URL of your FastAPI app
AI_API_URL = "https://ai.google.dev/generate-text" # Google's AI API endpoint
AI_API_KEY = "your_ai_key" # Replace with your Google AI API keyТесты представлены для функций пост -создания и аналитики. Чтобы запустить тесты, выполнить:
pytestЭто выполнит тесты для создания, аналитики и других аспектов приложения.
git checkout -b feature-branch ).git commit -m 'Add some feature' ).git push origin feature-branch ).По любым дополнительным вопросам или устранению неполадок, пожалуйста, обратитесь к официальной документации для Fastapi, Sqlalchemy и Google Generative API API. ``