該項目是用於管理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的官方文檔。 ````