Update README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# SNS運用AIライト(Hugging Face Spaces / FastAPI + Gradio)
|
| 2 |
|
| 3 |
## できること
|
|
@@ -8,13 +19,13 @@
|
|
| 8 |
- キーワード監視(疑似 or X/Instagram APIアダプタに差し替え)
|
| 9 |
|
| 10 |
## すぐ動かす
|
| 11 |
-
1.
|
| 12 |
2. `Settings > Secrets` に以下を登録:
|
| 13 |
-
- `OPENAI_API_KEY`
|
| 14 |
-
- (任意)`DATABASE_URL`
|
| 15 |
-
|
| 16 |
-
- (任意)`X_BEARER_TOKEN`
|
| 17 |
-
3.
|
| 18 |
|
| 19 |
## 主要エンドポイント(FastAPI)
|
| 20 |
- `POST /api/summarize_trends` … トレンド要約
|
|
@@ -22,17 +33,18 @@
|
|
| 22 |
- `POST /api/approve_post/{post_id}` … 承認
|
| 23 |
- `POST /api/schedule_post/{post_id}` … 予約設定
|
| 24 |
- `GET /api/calendar` … 投稿カレンダー
|
| 25 |
-
- `POST /api/keywords` … 監視キーワード
|
| 26 |
-
- `GET /api/keywords` … 監視キーワード一覧
|
| 27 |
|
| 28 |
-
## 技術
|
| 29 |
-
- LLM: OpenAI
|
| 30 |
-
- スケジューラ: APScheduler
|
| 31 |
-
- DB: SQLAlchemy
|
| 32 |
- UI: Gradio(`/` にマウント), API: FastAPI(`/api`)
|
| 33 |
-
- X/Instagram は `services/social_adapters/*` を本物APIへ差し替えて利用
|
| 34 |
|
| 35 |
-
## 開発
|
| 36 |
-
-
|
| 37 |
-
-
|
| 38 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: SNS運用AIライト
|
| 3 |
+
emoji: 🚀
|
| 4 |
+
colorFrom: indigo
|
| 5 |
+
colorTo: blue
|
| 6 |
+
sdk: gradio
|
| 7 |
+
sdk_version: "4.44.0"
|
| 8 |
+
app_file: app.py
|
| 9 |
+
pinned: false
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
# SNS運用AIライト(Hugging Face Spaces / FastAPI + Gradio)
|
| 13 |
|
| 14 |
## できること
|
|
|
|
| 19 |
- キーワード監視(疑似 or X/Instagram APIアダプタに差し替え)
|
| 20 |
|
| 21 |
## すぐ動かす
|
| 22 |
+
1. Space を **Python / Gradio** で作成し、このリポジトリをアップロード。
|
| 23 |
2. `Settings > Secrets` に以下を登録:
|
| 24 |
+
- `OPENAI_API_KEY`
|
| 25 |
+
- (任意)`DATABASE_URL` … 例 `postgresql+psycopg://USER:PASS@HOST:PORT/DBNAME`
|
| 26 |
+
未設定なら `sqlite:///./app.db`
|
| 27 |
+
- (任意)`X_BEARER_TOKEN`, `IG_ACCESS_TOKEN`(未設定なら疑似フェッチ/疑似投稿)
|
| 28 |
+
3. 起動すると、ルート(`/`)にGradio UI、`/api/*`にFastAPIエンドポイントが有効になります。
|
| 29 |
|
| 30 |
## 主要エンドポイント(FastAPI)
|
| 31 |
- `POST /api/summarize_trends` … トレンド要約
|
|
|
|
| 33 |
- `POST /api/approve_post/{post_id}` … 承認
|
| 34 |
- `POST /api/schedule_post/{post_id}` … 予約設定
|
| 35 |
- `GET /api/calendar` … 投稿カレンダー
|
| 36 |
+
- `POST /api/keywords` / `GET /api/keywords` … 監視キーワード
|
|
|
|
| 37 |
|
| 38 |
+
## 技術スタック
|
| 39 |
+
- LLM: OpenAI (`OPENAI_API_KEY`)
|
| 40 |
+
- スケジューラ: APScheduler(UTC動作)
|
| 41 |
+
- DB: SQLAlchemy(SQLite / PostgreSQL)
|
| 42 |
- UI: Gradio(`/` にマウント), API: FastAPI(`/api`)
|
|
|
|
| 43 |
|
| 44 |
+
## 開発メモ
|
| 45 |
+
- 画像は生成せず、**Canvaに貼るラフ文**を`image_prompt`として出力
|
| 46 |
+
- X/Instagramの実APIは`services/social_adapters/*`を差し替え
|
| 47 |
+
- 日本時間で予約する場合はISOに`+09:00`などのTZを付与
|
| 48 |
+
例: `2025-09-01T09:00:00+09:00`
|
| 49 |
+
|
| 50 |
+
参考: スペース設定の詳細は公式ドキュメントを参照
|