该项目是用于管理AI Mederation的帖子和评论的简单API。 API是使用FastApi和Pydantic构建的,它包含用于用户注册,登录,发布和注释管理,AI驱动的内容审核和分析的功能。此外,包括一个机器人,用于使用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在项目root中创建.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的生成AI生成文本内容,请按照以下步骤:
创建一个Google Cloud项目:
启用生成AI API :
获得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 AI API的官方文档。 ````