How michaelis2101/amd-hackaton works
This repository contains a chat backend, a separate AI-agent service, and platform runner shells for a Flutter client; the client’s Dart application code is not present in the supplied tree. The main evidenced workflow is a chat question routed through knowledge retrieval and embeddings, sent to the agent, then saved with citations and an AI log. Chat, profile, and document-ingestion capabilities are visible from module names and sampled services, but their router wiring and the agent’s internal execution are not shown, so those links are omitted.
Main entry points: app/main.py API application · database.py Database access · ai_service.py Answer service · app/main.py Agent API
Components 21
API access
- API application
API/app/main.py - API key auth
API/app/auth.py
Chat and profiles
- Chat routes
API/app/routers/chat.py - Chat service
API/app/services/chat_service.py - Profile routes
API/app/routers/profiles.py - Profile service
API/app/services/profile_service.py - Database access
API/app/database.py - Domain models
API/app/models.py
Knowledge retrieval
- Knowledge routes
API/app/routers/knowledge.py - Knowledge service
API/app/services/knowledge_service.py - Embedding service
API/app/services/embedding_service.py
AI agent
- AI routes
API/app/routers/ai.py - Answer service
API/app/services/ai_service.py - Agent API
Agent/app/main.py - Agent endpoint
Agent/app/api.py - Agent logic
Agent/app/agent.py - Agent key auth
Agent/app/tools/auth.py
Other components
- Client user
- PostgreSQL
- Gemini embeddings
- Agent service
Connections 18
- Client user → API application: sends requests
- API application → API key auth: checks keys
- API application → Chat routes: mounts routes
- API application → Profile routes: mounts routes
- API application → Knowledge routes: mounts routes
- API application → AI routes: mounts routes
- Chat service → Database access: uses sessions
- Profile service → Database access: uses sessions
- Knowledge service → Embedding service: requests vectors
- Embedding service → Gemini embeddings: embeds text
- Answer service → Knowledge service: searches knowledge
- Answer service → Agent service: sends prompt
- Answer service → Database access: saves answer and log
- Agent service → Agent API: HTTP request
- Agent API → Agent endpoint: mounts router
- Agent API → Agent key auth: checks keys
- Database access → Domain models: maps entities
- Database access → PostgreSQL: reads and writes