Trợ lý AI đa tác nhân hiện đại với LangGraph & AG-UI
🌐 Tiếng Việt | English
Xây dựng ứng dụng AI mạnh mẽ với streaming thời gian thực, các thành phần UI tương tác, và điều phối đa tác nhân.
- 🎛️ Giao thức A2UI: Agent tạo các thành phần UI tương tác (checkbox, form, button) trong chat
- 🎨 Chế độ Canvas: Không gian làm việc toàn màn hình cho quy trình làm việc phức tạp
- 🔄 Điều phối Đa tác nhân: Quản lý quy trình làm việc được hỗ trợ bởi LangGraph
- ⚡ Streaming Thời gian thực: Giao thức AG-UI với phản hồi tức thì từ agent
- 💬 Quản lý Thread: Lưu trữ các cuộc hội thoại với SQLite/PostgreSQL
- 🎯 Stack Hiện đại: NextJS + Shadcn UI + FastAPI + LangGraph
- 🔌 Hỗ trợ Đa LLM: Ollama, Azure OpenAI, Gemini và nhiều hơn
- 🛡️ Type-Safe: TypeScript cho frontend, Python type hints cho backend
- 📊 Khả năng Quan sát: Tích hợp LangFuse (tùy chọn)
- Python 3.10+ và Node.js 18+
- Ollama (hoặc cấu hình Azure OpenAI/Gemini):
curl -fsSL https://ollama.com/install.sh | sh ollama pull qwen:7b
cd backend
# Tạo môi trường ảo
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Cài đặt dependencies
pip install -r requirements.txt
# Cấu hình môi trường (tùy chọn)
cp .env.example .env
# Chỉnh sửa .env cho Azure OpenAI, Gemini, hoặc PostgreSQL
# Chạy database migrations
python migrate.py
# Khởi động server
python main.py✅ Backend chạy tại http://localhost:8000
cd frontend
# Cài đặt dependencies
npm install
# Khởi động development server
npm run dev✅ Frontend chạy tại http://localhost:3000
SQLite (mặc định - không cần cấu hình):
DATABASE_URL=sqlite+aiosqlite:///./agentkit.dbPostgreSQL (cho production):
DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/agentkitChạy migrations sau khi thay đổi cấu hình:
python migrate.pyChỉnh sửa file .env trong thư mục backend:
Ollama (mặc định):
DEFAULT_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=qwen:7bAzure OpenAI:
DEFAULT_PROVIDER=azure-openai
AZURE_OPENAI_API_KEY=your_key
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
AZURE_OPENAI_DEPLOYMENT=gpt-5-miniGemini:
DEFAULT_PROVIDER=gemini
GEMINI_API_KEY=your_key
GEMINI_MODEL=gemini-2.5-flash┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Frontend │◄────────│ AG-UI │────────►│ Backend │
│ (NextJS) │ SSE │ Protocol │ HTTP │ (FastAPI) │
└─────────────┘ └──────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ LangGraph │
│ Agents │
└─────────────┘
│
▼
┌─────────────┐
│ LLM Provider│
│ (Ollama/ │
│ Azure/ │
│ Gemini) │
└─────────────┘
Stack Backend:
- FastAPI + LangGraph + Giao thức AG-UI
- SQLAlchemy (async) + SQLite/PostgreSQL
- Ollama/Azure OpenAI/Gemini
Stack Frontend:
- NextJS 14 + TypeScript + Shadcn UI
- AG-UI client cho event streams
- LocalStorage cho lưu trữ thread
- Kiến trúc Đa tác nhân
- Cài đặt Database
- Giao thức A2UI
- Chế độ Canvas
- Kế hoạch Triển khai
- Cơ sở Kiến thức
agentkit/
├── backend/ # Backend FastAPI + LangGraph
│ ├── agents/ # Các agent implementations
│ ├── graphs/ # Quy trình LangGraph workflows
│ ├── api/ # REST endpoints
│ ├── database/ # SQLAlchemy models & migrations
│ ├── llm/ # Tích hợp LLM provider
│ ├── protocols/ # Triển khai giao thức AG-UI
│ └── main.py # Entry point
├── frontend/ # Frontend NextJS
│ ├── app/ # App router pages
│ ├── components/ # React components
│ ├── services/ # API client
│ └── types/ # TypeScript types
└── .docs/ # Tài liệu
Chat: POST /api/chat - Stream phản hồi từ agent
Threads: GET/POST /api/threads - Quản lý cuộc hội thoại
Messages: GET /api/threads/{id}/messages - Lấy lịch sử thread
Health: GET /health - Trạng thái server
- Tạo agent trong
backend/agents/ - Định nghĩa graph trong
backend/graphs/ - Đăng ký trong
backend/agents/agent_registry.py - Cập nhật frontend components nếu cần
Xem agents.md để biết hướng dẫn chi tiết.
Backend:
cd backend
pytestFrontend:
cd frontend
npm testGiấy phép MIT - xem file LICENSE để biết chi tiết
Chào mừng mọi đóng góp! Vui lòng đọc hướng dẫn đóng góp trước.
Nếu bạn thấy AgentKit hữu ích, hãy cho chúng tôi một ngôi sao ⭐️
