ื ืืื ืืช ืจืฉืืืช ืืืฉืืืืช ืฉืืื ืคืฉืื ืขื ืืื ืฉืืื ืืืชื โ ืืกืืื ืืืื ืฉืคื ืืืขืืช, ืืืืื ืฉืื ืชืื ืื ืืืืื, ืืืคืขืื ืืช ืืคืื ืงืฆืื ืื ืืื ื ืืฉืืืืื
AI Task Agent ืืื ืื ืื ืืฉืืืืช ืืื ืฉื ืฉืื ืืืืฆืขืืช ืฉืืื ืืืคืฉืืช ืืืงืื ืืคืกืื ืืืคืชืืจืื. ืฉืจืช FastAPI ืืืฉืฃ ื ืงืืืช ืงืฆื (endpoint) ืืฆ'ืื ืฉืืขืืืจื ืืช ืืืืืขื ืฉืืื ืืืืื Llama 3.3 70B (ืืจื Groq Cloud) ืืืืฆืขืืช ืื ืื ืื Tool Calling ืืกืื ืื OpenAI โ ืืืืื ืืืืื ืืืืื ืคืขืืืช ืืฉืืืืช ืืชืืืื ืชื (ืืืกืคื, ืืฆืื, ืขืืืื ืื ืืืืงื), ืืืฉืจืช ืืืฆืข ืืืชื ืืคืืขื ืืื ืืืืจ ืืืฉืืืืช.
ืืกืืื ื ืื ื ืขื ืืืฉ ืขื ืืืืง ืืืืื ืืช: ืืื ืื ืืืฆืืจ ืืฉืืื ืืื ืืืชืจืช, ืื ืืขืืื ืื ืืืืง ืืฉืืื ืืื ืืืื (ID), ืืชืืื ืืกืืืจ ืืืฉืชืืฉ ืืืืืง ืื ืืืชืื ืืื ืืชืงื ืืงืฉื ืฉืืืื โ ืื ืฉืืืคื ืืืื ืฉืคื ืืืืื ืืขืืืจ ืืืื ืืืืื, ืืื ืืงืืคืกื ืฉืืืจื ืฉื ืืฉืืช ืืฉืงื.
ืื ืืกืฃ, ืืคืจืืืงื ืืืื ืืฉืืืจื ืขืืื ืืืื ืงืืื (index.html): ืคืื ื ืฆ'ืื ืืฉืืื ืขื ืืกืืื ืืฆื ืืื, ืืจืฉืืืช ืืฉืืืืช ืืื ืืฆื ืืฉื ื.
- ๐ฌ ืฉืืืื ืืฉืคื ืืืขืืช โ ืืืกืคื, ืขืืืื ืืืืืงื ืฉื ืืฉืืืืช ืขื ืืื ืืงืืืช ืืฉืคืืื ืจืืืืื, ืืื ืคืงืืืืช ื ืืงืฉืืช
- ๐ง Tool Calling ืืืืกืก LLM โ ืืกืืื ืืืืจ ืืช ืืคืื ืงืฆืื ืื ืืื ื ืืฉืจืช (
add_task,get_tasks,update_task,delete_task) ืืืืื ืืช ืืคืจืืืจืื ืฉืื ืืชืื ืืืืืขื ืฉืืื - ๐ก๏ธ ืืงืจืืช ืืืืืช, ืื ื ืืืืฉืื โ ืืกืืื ืืกืจื ืืคืขืื ืขื ืกืื ืงืื ืืืงื (ืืกืจื ืืืชืจืช ืื ืืืื ืืฉืืื) ืืืฆืืข ืืืืืืชื ืืช ืื ืืกืื ืื ืืื
- ๐๏ธ ืืื-ืืืื ืืืฉืืืืช โ ืงืืืืฅ ืืฉืืืืช ืืคื ืกืื (ืขืืืื, ืืืฉื ืืื') ืืืืกืคืช ืชืืืืจ
- โก ืืืืขืืช ืืืืืืืช ืฉืืืืฉ (Rate Limit) โ ืืืืื ืืจืืจ ืืฉืืืกืช Groq ืืืืืืช ืืืฆืชื, ืืืงืื ืงืจืืกื
- ๐ REST API ืคืฉืื โ
GET /tasksื-POST /chat, ืคืชืื ืืื ืฆื ืืงืื ืืจื CORS - ๐ฅ๏ธ ืืืฉืง ืืฉืืืจื ืืืื ื โ ืขืืฆืื ืืื ืืกืื ืื "ืืืืืืช" ืขื ืฆ'ืื ืืจืฉืืืช ืืฉืืืืช, ืืื ืฆืืจื ืืคืจืืืืืืจืง
| ืฉืืื | ืืื ืืืืืืืช |
|---|---|
| Backend | Python, FastAPI |
| ืื ืืข ืืื ื ืืืืืืชืืช | Groq Cloud ืขื ืืืื Llama-3.3-70B, ืืจื ืืืฉืง ื-Tool Calling ืฉื OpenAI SDK |
| ืงืื ืคืืืืจืฆืื | python-dotenv ืื ืืืื ืืคืชืืืช API |
| Frontend | ืืฉืืืจื ืขืืื ืืืื ื-HTML/CSS/JS ืคืฉืื |
my-ai-task-agent/
โโโ main.py # ืืคืืืงืฆืืืช FastAPI โ ื ืชืืื /tasks ื-/chat
โโโ agent_service.py # ืืกืืื: ืืืืจืช ืืืืื, ื-system prompt, ืืืืคืื ืืงืจืืืืช ืืืืื
โโโ todo_service.py # ืืืืจ ืืฉืืืืช ืืืืืจืื (CRUD)
โโโ index.html # ืืฉืืืจื ืฆ'ืื ืขืฆืืื
โโโ .gitignore
- Python 3.10 ืืืขืื
- ืืคืชื API ืืื ืื ื-Groq Cloud
git clone https://github.com/Ester-Developer/my-ai-task-agent.git
cd my-ai-task-agentpip install fastapi uvicorn openai python-dotenvืฆืจื ืงืืืฅ .env ืืชืืงืืืช ืืคืจืืืงื ืืจืืฉืืช:
GROQ_API_KEY=your_groq_api_keyuvicorn main:app --reloadื-API ืืืื ืืืื ืืืชืืืช http://127.0.0.1:8000.
ืคืชืื ืืช index.html ืืืคืืคื โ ืืื ืืืจ ืืืืืจ ืืืืจ ืขื ื-API ืืืชืืืช http://127.0.0.1:8000.
| Method | Endpoint | ืชืืืืจ |
|---|---|---|
GET |
/tasks |
ืงืืืช ืื ืืืฉืืืืช ืืงืืืืืช |
POST |
/chat |
ืฉืืืืช ืืืืขื ืืฉืคื ืืืขืืช; ืืกืืื ืืคืจืฉ ืืืชื ืืืืืืจ ืชืฉืืื |
ืืืืื:
curl -X POST http://127.0.0.1:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "add a task to buy groceries"}'ืืคืจืืืงื ืืืืื ืืคืืก ืืขืฉื ืืื ืืืช ืกืืื ื ืืื ื ืืืืืืชืืช ืืืืืื ืืืืกืกื Tool Calling ืืขื ืฉืจืช ืืืืชื: ืืืืืช ืงืื ืงืคืื ื, ืืืืื ื ืืจืืจื ืืืฉืชืืฉ ืืืงืจื ืฉื ืฉืืืื, ืืืคืจืื ื ืงืืื ืืื ืฉืืืช ืืกืืื, ืืืืืืงื ืืขืกืงืืช ืื-API. ืืืื ื ืงืืืช ืคืชืืื ืืืื ืืืจืืื ืืืกื ื ืชืื ืื ืงืืืข, ืืืืืช ืืฉืชืืฉืื ืืจืืืื, ืื ืชืืืืื ืืฉืืืืช ืขืฉืืจืื ืืืชืจ (ืชืืจืืื ืืขื, ืขืืืคืืืืช, ืชืืืืจืืช).
Built with โค๏ธ and ๐ค by Ester-Developer

