๐ ๏ธ ๆๆฏๆ : **?
> ๆฌๆๅบไบ GitHub ไปๅบๅฎ้ ไปฃ็ ไธๆๆกฃ่ฟ่กๆๆฏ่งฃๆ๏ผ่็ฆ AI ่ง้ข็ๆใ็ผ่พไธๅค็็ๅทฅ็จๅๅฎ่ทตใ
—
1. ้กน็ฎๆฆ่งไธ้กน็ฎๅผๆบๅฐๅ
้กน็ฎ่ๆฏไธๆ ธๅฟ็็น
ๅจ AIGC๏ผไบบๅทฅๆบ่ฝ็ๆๅ ๅฎน๏ผ็ๅ็ๆถไปฃ๏ผ่ง้ขๅไฝๆญฃ็ปๅไป"ไบบๅทฅๅช่พ"ๅฐ"AI ่ชๅจ็ๆ"็่ๅผ่ฝฌ็งปใๅไฝ่ ้ขไธด็ๆ ธๅฟ็็นๅ ๆฌ๏ผ
– ่ง้ข็ๆๆๆฌ้ซ๏ผไผ ็ป่ง้ขๅถไฝ้่ฆไธไธ่ฎพๅคไธๅข้๏ผAI ่ง้ข็ๆๅคงๅน
้ไฝ้จๆง
– ๅๆๅค็ๅคๆ๏ผ่ง้ขๅช่พใ่ฝฌ็ ใๅญๅน็ๆ็ญ็ฏ่ไพ่ตๅคๅทฅๅ
ทไธฒ่๏ผๆต็จๅฒ่ฃ
– ๆน้ๅค็่ฝๅๅผฑ๏ผ็ผบไน็ปไธๅนณๅฐๆฏๆๅคง่งๆจก่ง้ขๅ
ๅฎน็่ชๅจๅๅค็
– AI ๆจกๅ้ๆๅฐ้พ๏ผๅผๅ่
้พไปฅๅฟซ้ๅฐ Stable DiffusionใWhisper ็ญๆจกๅๆดๅๅฐ่ง้ข็ฎก็บฟไธญ
Agnes AI Video Suite ๆญฃๆฏไธบไบ่งฃๅณ่ฟไบ้ฎ้ข่็ใๅฎๆฏไธไธชๅบไบ Python ็ๅผๆบ่ง้ขๅค็ๆกๆถ๏ผ้ๆไบ AI ่ง้ข็ๆใ่ชๅจๅญๅนใๆบ่ฝๅช่พใๆ ผๅผ่ฝฌๆข็ญๆ ธๅฟ่ฝๅ๏ผๆไพไบไธๅฅๅฎๆด็็ซฏๅฐ็ซฏ่ง้ขๅค็่งฃๅณๆนๆกใ
้กน็ฎๅบๆฌไฟกๆฏ
| ๅฑๆง | ไฟกๆฏ |
|——|——|
| ๅผๆบๅฐๅ | https://github.com/NicholasCone/agnes-ai-video-suite |
| ๅผๆบๅ่ฎฎ | MIT License |
| ๆ ธๅฟ่ฏญ่จ | Python 3.9+ |
| ๅฎไฝ | AI ้ฉฑๅจ็่ง้ขๅค็ๆตๆฐด็บฟๆกๆถ |
| ็คพๅบ็ถๆ | ๆดป่ทๅผๅไธญ |
—
2. ่ฏญ่จไธๆ ธๅฟๆๆฏๆ ๆทฑๅบฆๅๆ
ๅ็ซฏๆๆฏๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅ็ซฏๆๆฏๆ ๆถๆ โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๅผๅ่ฏญ่จ โ Python 3.9+ (็ฑปๅๆณจ่งฃๅฎๆด่ฆ็) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Web ๆกๆถ โ Flask / FastAPI (ๅๆจกๅผๆฏๆ) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ AI ๆจ็ๅผๆ โ PyTorch / Transformers โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ่ง้ขๅค็ๆ ธๅฟ โ FFmpeg (ๅญ่ฟ็จ่ฐ็จ + ็ฎก้) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ไปปๅก้ๅ โ Celery + Redis (ๅผๆญฅไปปๅก่ฐๅบฆ) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ API ่ง่ โ RESTful + WebSocket (ๅฎๆถ่ฟๅบฆๆจ้) โ
โโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๅ็ซฏๆๆฏๆ
| ๅฑ็บง | ๆๆฏ้ๅ | ่ฏดๆ |
|——|———-|——|
| ๆกๆถ | Vue 3 / React (ๅฏ้) | ๆไพ Web UI ็ฎก็ๆงๅถๅฐ |
| UI ็ปไปถ | Element Plus / Ant Design | ไผไธ็บง็ปไปถๅบ |
| ็ถๆ็ฎก็ | Pinia / Redux Toolkit | ๅๅบๅผไปปๅก็ถๆ็ฎก็ |
| ๆๅปบๅทฅๅ
ท | Vite | ๆ้็ญๆดๆฐๅผๅไฝ้ช |
| ่ง้ข้ข่ง | Video.js / hls.js | ๆตๅชไฝๆญๆพๆฏๆ |
ๆฐๆฎๅญๅจไธ็ผๅญ
ๆฐๆฎๅฑๆถๆ๏ผ
โโโ PostgreSQL / SQLite
โ โโโ ไปปๅกๅ
ๆฐๆฎใ็จๆท้
็ฝฎใๅค็ๆฅๅฟ
โโโ Redis
โ โโโ ไปปๅก้ๅ (Celery Broker)
โ โโโ ่ฟๅบฆ็ผๅญ (TTL ็ญ็ฅ)
โ โโโ ๅๅธๅผ้ (้ฒ้ๅคๅค็)
โโโ ๅฏน่ฑกๅญๅจ (S3/MinIO)
โโโ ๅๅง่ง้ขใ็ๆ็ปๆใไธญ้ดไบง็ฉ
้จ็ฝฒไธๅบ็ก่ฎพๆฝ
| ้จ็ฝฒๆนๅผ | ๆฏๆๆ
ๅต | ้็จๅบๆฏ |
|———-|———-|———-|
| Docker Compose | โ
ไธ้ฎ้จ็ฝฒ | ๆฌๅฐๅผๅใๅฐ่งๆจก็ไบง |
| Kubernetes | โ
Helm Chart | ๅคง่งๆจก้็พค้จ็ฝฒ |
| ่ฃธ้ๅฑ้จ็ฝฒ | โ
ๆฏๆ | GPU ๆๅกๅจ็ด่ฟ |
| Nginx ๅๅไปฃ็ | โ
ๅ
็ฝฎ้
็ฝฎ | HTTPS ็ปๆญขใ่ด่ฝฝๅ่กก |
—
3. ๆ ธๅฟๅ่ฝไธไธๅกๆจกๅๆ่งฃ
ๅ่ฝ็ฉ้ตๆป่ง
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Agnes AI Video Suite ๅ่ฝ็ฉ้ต โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๆจกๅ โ ๆ ธๅฟ่ฝๅ โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ AI ่ง้ข็ๆ โ Stable Diffusion + AnimateDiff ๆ็่ง้ข โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ่ชๅจๅญๅน โ Whisper ่ฏญ้ณ่ฏๅซ + SRT/VTT ๅญๅน็ๆ โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๆบ่ฝๅช่พ โ ๅบไบๅ
ณ้ฎๅธงๆฃๆต็่ชๅจๅบๆฏๅๅฒ โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๆ ผๅผ่ฝฌๆข โ MP4/WEBM/AVI/GIF ๅคๆ ผๅผไบ่ฝฌ โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ่ง้ขๅ็ผฉ โ H.264/H.265 ็ผ็ ไผๅ๏ผ่ดจ้/ไฝ็งฏๅนณ่กก โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๆน้ๅค็ โ ้ๅไปปๅก่ฐๅบฆ๏ผๆฏๆๅนถๅๆตๆฐด็บฟ โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ API ๆๅก โ ๅฎๆด REST API + WebSocket ่ฟๅบฆๆจ้ โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Web ๆงๅถๅฐ โ ๅฏ่งๅไปปๅก็ฎก็ใๅๆฐ้
็ฝฎใ็ปๆ้ข่ง โ
โโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๆ ธๅฟๆจกๅ่ฏฆ่งฃ
#### 3.1 AI ่ง้ข็ๆๆจกๅ
# ๆ ธๅฟๅค็ๆต็จ็คบๆ
class VideoGenerationPipeline:
"""
่ง้ข็ๆๆตๆฐด็บฟ๏ผ
1. ๆๆฌ็ผ็ (CLIP/T5)
2. ๆฝๅจ็ฉบ้ดๅปๅช (Diffusion)
3. ๆถๅบไธ่ดๆงๅขๅผบ (AnimateDiff)
4. ่ถ
ๅ่พจ็้ๅปบ (ESRGAN)
"""
def generate(self, prompt: str, negative_prompt: str,
duration: int = 10, fps: int = 24) -> VideoResult:
# ่ฐ็จ Stable Diffusion WebUI API ๆๆฌๅฐๆจ็
# ๆฏๆ ControlNet ๆกไปถๆงๅถ
# ๆฏๆ LoRA ้ฃๆ ผๅพฎ่ฐ
pass
ไธๅกไปทๅผ๏ผๅฐๅๆฌ้่ฆๆฐๅฐๆถ็ๆๅจ่ง้ขๅถไฝๆต็จๅ็ผฉ่ณๅ้็บง๏ผๆฏๆๆ็่ง้ขใๅพ็่ง้ข็ญๅค็งๆจกๅผใ
#### 3.2 ่ชๅจๅญๅนๆจกๅ
ๅญๅน็ๆๆตๆฐด็บฟ๏ผ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ ้ณ้ขๆๅ โโโโโถโ Whisper ๆจ็โโโโโถโ ๆถ้ดๆณๅฏน้ฝ โ
โ (FFmpeg) โ โ (GPUๅ ้) โ โ (SRT/VTT) โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ ่ง้ขๅๆ โ
โ (ๅญๅนๅตๅ
ฅ) โ
โโโโโโโโโโโโโโโ
#### 3.3 ๆบ่ฝๅช่พๆจกๅ
– ๅ
ณ้ฎๅธงๆฃๆต๏ผๅบไบไบฎๅบฆๅๅใ่ฟๅจๅ้่ฏๅซๅบๆฏๅๆข็น
– ๆบ่ฝ่ฃๅช๏ผ่ชๅจๅป้ค้ป่พนใๅบๅฎๆฏไพ้้
– ็ๆฎตๅๅนถ๏ผๆฏๆๅค็ๆฎตๆผๆฅใ่ฝฌๅบๆๆๆทปๅ
—
4. ๆๆฏๆถๆไบฎ็นไธไบๆฌกๅผๅไผๅฟ
ๆถๆ่ฎพ่ฎกไบฎ็น
#### 4.1 ๆจกๅๅๆตๆฐด็บฟๆถๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Pipeline Architecture โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Input โโโถ [Preprocess] โโโถ [AI Model] โโโถ [Postprocess] โโโถ Output โ
โ โ โ โ โ
โ [Validation] [Queue] [Notification] โ
โ โ
โ ๆฏไธช่็น็ฌ็ซๅฏๆฟๆข๏ผๆฏๆ็ญๆๆ โ
โ ่็น้ด้่ฟๆ ๅ JSON Schema ไผ ้ๅ
ๆฐๆฎ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ไบฎ็น๏ผ
– ๅๅค็่็น่งฃ่ฆ๏ผๅฏ็ฌ็ซๅ็บงๆฟๆข
– ๆฏๆ DAG๏ผๆๅๆ ็ฏๅพ๏ผๅคๆๆตๆฐด็บฟ็ผๆ
– ่็นๅคฑ่ดฅ่ชๅจ้่ฏ๏ผๆฏๆๆญ็น็ปญไผ
#### 4.2 ๅผๆญฅไปปๅก่ฐๅบฆๆบๅถ
# Celery ไปปๅกๅฎไน็คบไพ
@celery_app.task(bind=True, max_retries=3)
def process_video_task(self, task_id: str, config: dict):
try:
task = VideoTask.get(task_id)
task.update_status("processing")
# ๆง่ก่ง้ขๅค็ๆตๆฐด็บฟ
result = video_pipeline.execute(task, config)
task.update_status("completed", result)
notify_user(task.user_id, result)
except Exception as exc:
task.update_status("failed", str(exc))
self.retry(exc=exc, countdown=60)
#### 4.3 ๆไปถๅๆฉๅฑๆบๅถ
# ่ชๅฎไนๆไปถๅผๅ็คบไพ
from agnes.plugins import BasePlugin, register_plugin
@register_plugin("custom_filter")
class CustomFilterPlugin(BasePlugin):
name = "custom_filter"
version = "1.0.0"
def execute(self, video: VideoFrame, params: dict) -> VideoFrame:
# ๅฎ็ฐ่ชๅฎไน่ง้ขๆปค้้ป่พ
pass
def validate_params(self, params: dict) -> bool:
# ๅๆฐๆ ก้ช
pass
ไบๆฌกๅผๅไผๅฟ๏ผ
– ๆไปถๆฅๅฃๆ ๅๅ๏ผ3 ่กไปฃ็ ๅณๅฏๆฅๅ
ฅๆฐ่ฝๅ
– ๆฏๆ Python/FFmpeg ่ๆฌๅๆจกๅผๆฉๅฑ
– ๅฎๆด็็ฑปๅๆณจ่งฃไธๆๆกฃ็ๆ
#### 4.4 ๅฎๅ จๆง่ฎพ่ฎก
| ๅฎๅ
จ็ปดๅบฆ | ๅฎ็ฐๆนๆก |
|———-|———-|
| ่พๅ
ฅๆ ก้ช | Pydantic ๆจกๅๆ ก้ช๏ผ้ฒๆณจๅ
ฅๆปๅป |
| ่ตๆบ้ๅถ | ๅไปปๅก GPU ๅ
ๅญใCPU ๆถ้ด้
้ข |
| ๆไปถๅฎๅ
จ | ไธดๆถๆไปถ้็ฆป๏ผ่ชๅจๆธ
็็ญ็ฅ |
| API ้ดๆ | JWT Token + RBAC ๆ้ๆงๅถ |
—
5. ๅฟซ้ไธๆใ้จ็ฝฒๅฎๆไธ้กน็ฎ้ๅๅปบ่ฎฎ
็ฏๅขไพ่ต่ฆๆฑ
# ๅบ็ก็ฏๅข
Python >= 3.9
FFmpeg >= 5.0
CUDA >= 11.8 (GPU ๆจ็ๅฟ
้)
# ๅฏ้ไพ่ต
Redis >= 7.0 (ไปปๅก้ๅ)
PostgreSQL >= 14 (ๆไน
ๅๅญๅจ)
Nginx (็ไบง้จ็ฝฒ)
ๆฌๅฐ่ฟ่ก๏ผๅผๅๆจกๅผ๏ผ
# 1. ๅ
้ไปๅบ
git clone https://github.com/NicholasCone/agnes-ai-video-suite.git
cd agnes-ai-video-suite
# 2. ๅๅปบ่ๆ็ฏๅข
python -m venv venv
source venv/bin/activate # Linux/Mac
# venvScriptsactivate # Windows
# 3. ๅฎ่ฃ
ไพ่ต
pip install -r requirements.txt
pip install -r requirements-gpu.txt # GPU ็ๆฌ
# 4. ้
็ฝฎ็ฏๅขๅ้
cp .env.example .env
# ็ผ่พ .env ้
็ฝฎ API Keyใๆฐๆฎๅบ่ฟๆฅ็ญ
# 5. ๅฏๅจๆๅก
python main.py --mode dev
# ่ฎฟ้ฎ http://localhost:8000
Docker ไธ้ฎ้จ็ฝฒ
# 1. ๅ
้ไปๅบ
git clone https://github.com/NicholasCone/agnes-ai-video-suite.git
cd agnes-ai-video-suite
# 2. ๆๅปบ้ๅ
docker build -t agnes-ai-video:latest -f docker/Dockerfile.gpu .
# 3. ๅฏๅจๆๅก
docker compose up -d
# 4. ้ช่ฏ้จ็ฝฒ
curl http://localhost:8000/api/health
# ่ฟๅ: {"status": "healthy", "version": "1.0.0"}
API ่ฐ็จ็คบไพ
# ็ๆ่ง้ขไปปๅก
curl -X POST http://localhost:8000/api/v1/tasks
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_TOKEN"
-d '{
"type": "text_to_video",
"params": {
"prompt": "A serene lake at sunset, cinematic style",
"duration": 10,
"fps": 24
}
}'
# ๆฅ่ฏขไปปๅก่ฟๅบฆ
curl http://localhost:8000/api/v1/tasks/TASK_ID
-H "Authorization: Bearer YOUR_TOKEN"
# WebSocket ๅฎๆถๆจ้
wss://localhost:8000/ws/tasks/TASK_ID
้กน็ฎ้ๅๅณ็ญๆๅ
| ๅบๆฏ | ๆจ่ๅบฆ | ่ฏดๆ |
|——|——–|——|
| AI ่ง้ขๅ
ๅฎน็ไบง | โญโญโญโญโญ | ๆ ธๅฟ่ฝๅๅน้
๏ผๅผ็ฎฑๅณ็จ |
| ่ง้ขๆน้ๅค็ๆตๆฐด็บฟ | โญโญโญโญโญ | ไปปๅก้ๅๆฏๆๅคง่งๆจกๅนถๅ |
| ๆ่ฒ/ๅน่ฎญ่ง้ขๅถไฝ | โญโญโญโญ | ่ชๅจๅญๅนใๅช่พ่ฝๅ็ชๅบ |
| ็ญ่ง้ขๅนณๅฐๅ็ซฏ | โญโญโญ | ้็ปๅไธๅกไบๆฌกๅผๅ |
| ้ซๆง่ฝ็ไบง็ฏๅข | โญโญโญ | ๅปบ่ฎฎ็ปๅ K8s + GPU ้็พค้จ็ฝฒ |
ๆณจๆไบ้กน
1. GPU ่ตๆบ๏ผAI ่ง้ข็ๆๅฏน GPU ๆพๅญ่ฆๆฑ่พ้ซ๏ผๅปบ่ฎฎ่ณๅฐ 8GB ๆพๅญ
2. ๅญๅจ่งๅ๏ผ่ง้ขๆไปถไฝ็งฏๅคง๏ผ้้ข็ๅ
่ถณๅญๅจ็ฉบ้ด
3. ็ฝ็ปๅธฆๅฎฝ๏ผๅคงๆไปถไธไผ ไธ่ฝฝ้่่ๅธฆๅฎฝ็ถ้ข
4. ่ฎธๅฏ่ฏๅ่ง๏ผๅ็จๅ็กฎ่ฎคๅไพ่ต็ปไปถ็่ฎธๅฏ่ฏๅ
ผๅฎนๆง
—
> ๆป็ป๏ผAgnes AI Video Suite ๆไพไบไธไธชๅ่ฝๅฎๆดใๆถๆๆธ ๆฐ็ AI ่ง้ขๅค็ๆกๆถ๏ผ็นๅซ้ๅ้่ฆๅฟซ้้ๆ AI ่ง้ข่ฝๅ็ๅผๅๅข้ใๅ ถๆจกๅๅ่ฎพ่ฎกใๆไปถๅๆฉๅฑๆบๅถไปฅๅๅฎๅ็ๆๆกฃ๏ผไฝฟๅ ถๆไธบ AIGC ่ง้ข้ขๅ็ไผ็งๅผๆบ้ๆฉใๅฏนไบๆๅฎๅถ้ๆฑ็ๅบๆฏ๏ผๅปบ่ฎฎๅบไบๅ ถๆตๆฐด็บฟๆถๆ่ฟ่กไบๆฌกๅผๅ๏ผๅ ๅๅๆฅๅ ถ็ตๆดปๆงไธๅฏๆฉๅฑๆงใ