Mแปt hแป thแปng trแปฃ lรฝ hแปc tแบญp thรดng minh sแปญ dแปฅng AI ฤแป hแป trแปฃ sinh viรชn trong viแปc quแบฃn lรฝ lแปch hแปc, tรฌm kiแบฟm kiแบฟn thแปฉc vร gแปญi bรกo cรกo tแปฑ ฤแปng.
- Multi-Agent System: Hแป thแปng ฤa agent chuyรชn biแปt cho tแปซng loแบกi nhiแปm vแปฅ
- PydanticAI Integration: Framework hiแปn ฤแบกi cho AI agents vแปi type safety
- Google Gemini 2.0: LLM mแบกnh mแบฝ vแปi context window lแปn vร khแบฃ nฤng reasoning cao
- Decision Making: Agent phรขn loแบกi tแปฑ ฤแปng yรชu cแบงu ngฦฐแปi dรนng
- Google Calendar Integration: Tแปฑ ฤแปng tแบกo vร quแบฃn lรฝ lแปch hแปc
- Smart Scheduling: Lแบญp kแบฟ hoแบกch รดn tแบญp cรก nhรขn hรณa dแปฑa trรชn mรฃ sinh viรชn vร tแป hแปฃp mรดn
- Event Creation: Tแบกo sแปฑ kiแปn hแปc tแบญp vแปi thรดng tin chi tiแบฟt
- Vector Database: Milvus vector DB cho semantic search
- Hybrid Search: Kแบฟt hแปฃp semantic search vร keyword search (BM25)
- Document Processing: Xแปญ lรฝ vร index tร i liแปu hแปc tแบญp
- Web Search Integration: Tรฌm kiแบฟm thรดng tin tแปซ web khi cแบงn
- Chainlit Interface: Giao diแปn chat hiแปn ฤแบกi vร thรขn thiแปn
- Session Management: Quแบฃn lรฝ phiรชn chat ฤa ngฦฐแปi dรนng
- Memory System: Lฦฐu trแปฏ ngแบฏn hแบกn vแปi Redis
- Real-time Updates: Cแบญp nhแบญt conversation theo thแปi gian thแปฑc
- Email Integration: Gแปญi bรกo cรกo tแปฑ ฤแปng qua email
- Weekly Reports: Bรกo cรกo cuแปi tuแบงn vแป tรฌnh hรฌnh hแปc tแบญp
- Student Progress: Theo dรตi vร bรกo cรกo tiแบฟn ฤแป hแปc tแบญp
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Frontend Layer โ
โ (Chainlit Web UI) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Agent Orchestration โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ Decision โ โ Calendar โ โ Knowledge โ โ
โ โ Agent โ โ Agent โ โ Agent โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tool System โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ Google โ โ Search Tools โ โ Email Tools โ โ
โ โ Calendar โ โ (Web, FAQ) โ โ (SMTP) โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Data Layer โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ Milvus โ โ Redis Cache โ โ File System โ โ
โ โ (Vector DB) โ โ (Memory) โ โ (Documents) โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Python 3.12+
- Redis Server
- Milvus Vector Database
- Google API credentials
# Clone repository
git clone https://github.com/duphlot/summerschool_hackathon.git
cd summerschool_hackathon
# Cร i ฤแบทt packages
pip install .Tแบกo file .env vแปi cรกc biแบฟn mรดi trฦฐแปng:
# LLM API Keys
GEMINI_API_KEY=your_gemini_api_key
# Vector Database
MILVUS_URI=your_milvus_uri
MILVUS_TOKEN=your_milvus_token
# Email Configuration
SENDER_EMAIL=your_email@gmail.com
SENDER_PASSWORD=your_app_password
# Google Calendar API
GOOGLE_CALENDAR_CREDENTIALS=path_to_credentials.json
# Redis (nแบฟu khรดng dรนng default)
REDIS_HOST=localhost
REDIS_PORT=6379# Chแบกy main application
chainlit run workflow/ScheStudy.pysummerschool_hackathon/
โโโ src/
โ โโโ data/
โ โ โโโ cache/ # Redis memory management
โ โ โโโ embeddings/ # Text embedding utilities
โ โ โโโ milvus/ # Vector database client
โ โ โโโ prompts/ # AI prompts cho cรกc agents
โ โ โโโ mock_data/ # Dแปฏ liแปu test vร demo
โ โโโ handlers/ # UI vร error handlers
โ โโโ llm/ # LLM wrappers vร agents
โ โโโ utils/ # Utilities vร tools
โ โ โโโ basetools/ # Custom tools (calendar, email, search)
โ โโโ prompt_engineering/ # Prompt optimization
โโโ workflow/ # Main applications
โโโ config/ # Configuration files
โโโ docs/ # Documentation
โโโ public/ # Static assets
create_calendar_event_simple: Tแบกo sแปฑ kiแปn Google Calendarread_calendar_events: ฤแปc lแปch trรฌnh hiแปn tแบกisafe_agent_run: Safe execution cho calendar operations
search_web: Tรฌm kiแบฟm thรดng tin trรชn webfaq_tool: Tรฌm kiแบฟm trong FAQ databasesearch_in_file_tool: Tรฌm kiแบฟm trong file cแปฅ thแปsearch_relevant_document_tool: Tรฌm tร i liแปu liรชn quan
send_email_tool: Gแปญi email tแปฑ ฤแปngget_latest_test_tool_func: Lแบฅy thรดng tin kแบฟt quแบฃ hแปc tแบญp
calculator_tool: Mรกy tรญnh cฦก bแบฃn vร nรขng caofile_reading_tool: ฤแปc vร xแปญ lรฝ filehttp_tool: HTTP requestsmerge_files_tool: Hแปฃp nhแบฅt files
"Mรฃ sแป sinh viรชn cแปงa tรดi lร 20250001, tรดi muแปn thi tแป hแปฃp toรกn, lรฝ, hรณa"
"Giแบฃi thรญch vแป machine learning cho ngฦฐแปi mแปi bแบฏt ฤแบงu"
"Gแปญi bรกo cรกo kแบฟt quแบฃ hแปc tแบญp tuแบงn nร y"
from llm.base import AgentClient
custom_agent = AgentClient(
model=model,
system_prompt="Your custom prompt",
tools=[your_custom_tools]
).create_agent()def custom_tool(input_data: str) -> str:
"""Your custom tool implementation"""
return processed_result@cl.on_chat_start
async def start():
await cl.Message(content="Custom welcome message").send()- Memory Management: Redis-based short-term memory vแปi configurable retention
- Vector Search: Milvus vแปi hybrid search optimization
- Error Handling: Comprehensive error handling and logging
- Session Management: Multi-user session support
- Fork repository
- Tแบกo feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Tแบกo Pull Request
Dแปฑ รกn nร y dร nh cho mแปฅc ฤรญch giรกo dแปฅc vร thแปญ nghiแปm.
Phรกt triแปn trong khuรดn khแป Summer School Hackathon.
Lฦฐu รฝ: ฤรขy lร mแปt dแปฑ รกn demo cho hackathon. ฤแป sแปญ dแปฅng trong production, cแบงn bแป sung thรชm security, monitoring vร optimization.