Ce projet est une API simple pour gérer les publications et les commentaires avec la modération de l'IA. L'API est construite à l'aide de FastAPI et Pyndantic, et il comprend des fonctionnalités pour l'enregistrement des utilisateurs, la connexion, la gestion de la publication et des commentaires, la modération de contenu alimentée par AI et l'analyse. De plus, un bot est inclus pour générer des publications et des commentaires en utilisant l'IA et interagir avec l'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
Créer et activer un environnement virtuel Python:
python -m venv venv
venv S cripts a ctivatepython3 -m venv venv
source venv/bin/activateInstallez les packages Python nécessaires:
pip install -r requirements.txt Assurez-vous que vous disposez d'un fichier clé de compte Google Cloud Service (JSON) et définissez la variable d'environnement 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 "Utilisez Alembic pour appliquer les migrations de la base de données:
alembic upgrade headExécutez le script suivant pour initialiser la base de données:
python init_db.py Créez un fichier .env dans la racine du projet et ajoutez les variables suivantes:
GOOGLE_APPLICATION_CREDENTIALS= " /path/to/your/service-account-file.json "Ajoutez toutes les autres variables spécifiques à l'environnement dont vous avez besoin pour vos paramètres FastAPI.
Pour démarrer le serveur Fastapi, exécutez:
uvicorn app.main:app --reload L'API sera accessible à http://127.0.0.1:8000 .
Point de terminaison racine : GET /
Renvoie un message de bienvenue.
Enregistrement de l'utilisateur : POST /register/
Enregistrer un nouvel utilisateur.
Connexion de l'utilisateur : POST /login/
Obtenez un jeton d'accès pour un utilisateur authentifié.
Créer une publication : POST /posts/
Créez un nouveau message.
Créer un commentaire : POST /posts/{post_id}/comments/
Ajoutez un commentaire à un message.
Get Analytics : GET /api/comments-daily-breakdown?date_from=<YYYY-MM-DD>&date_to=<YYYY-MM-DD>
Obtenez des données de commentaires agrégées quotidiennes dans une plage de dates.
Réponse automatique aux commentaires : /comments/auto-response/
Point de terminaison et logique pour activer la réponse automatique aux commentaires après un retard.
Les paramètres de bot peuvent être ajustés dans le fichier bot/config.py , y compris:
Pour exécuter le bot et commencer à générer des messages et des commentaires, exécutez:
python bot/bot.pyPour permettre au bot de générer du contenu texte à l'aide de l'IA génératrice de Google, suivez ces étapes:
Créer un projet Google Cloud :
Activer l'API AI générative :
Obtenir des informations d'identification API :
Installez la bibliothèque client API :
pip install google-generativeaiConfigurer l'application :
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 keyDes tests sont fournis pour les fonctions post-création et analytiques. Pour exécuter les tests, exécutez:
pytestCela exécutera des tests pour la création de post, l'analyse et d'autres aspects de l'application.
git checkout -b feature-branch ).git commit -m 'Add some feature' ).git push origin feature-branch ).Pour toute question supplémentaire ou dépannage, veuillez vous référer à la documentation officielle de Fastapi, Sqlalchemy et Google Generative AI API. ``