How beingrahull/genovation-task-rahul- works
This FastAPI backend supports account access, customer ticket intake and listing, and an agent workflow that retrieves similar tickets and drafts a reply for human review. Ticket creation stores the ticket and indexes its description; selection loads a ticket, repairs missing vectors, searches for matches, and calls a hosted LLM. The graph follows documented routes and excerpted calls. The agent-feed capability is documented as disabled, so it is noted but not represented as active runtime flow.
Main entry points: main.py FastAPI app · database.py MongoDB collections · submitTicket.py Ticket intake · llmresponse.py Similarity and drafting
Components 16
API workflows
- FastAPI app
app/main.py - Ticket selection
app/routers/Tickettoagent.py - Request schemas
app/schemas/user.py
Identity and access
- Signup and signin
app/routers/user_routes.py - Logout
app/routers/logout_route.py - Password and JWT
app/utils/security.py
Ticket data
- Ticket intake
app/routers/submitTicket.py - Ticket listing
app/routers/submitTicket.py - MongoDB collections
app/database.py
Semantic support
- Chroma vector index
- Ticket embedding
app/services/embedding.py - Similarity and drafting
app/services/llmresponse.py - DeepInfra embeddings
- Together AI LLM
Other components
- Customer
- Support agent
Connections 25
- Customer → FastAPI app: uses API
README.md - Support agent → FastAPI app: uses API
README.md - FastAPI app → Signup and signin: mounts
app/main.py - FastAPI app → Logout: mounts
app/main.py - FastAPI app → Ticket intake: mounts
app/main.py - FastAPI app → Ticket listing: mounts
app/main.py - FastAPI app → Ticket selection: mounts
app/main.py - Signup and signin → Request schemas: validates with
app/routers/user_routes.py - Signup and signin → MongoDB collections: reads and writes
app/routers/user_routes.py - Signup and signin → Password and JWT: hashes and signs
app/routers/user_routes.py - Logout → MongoDB collections: blacklists token
app/routers/logout_route.py - Ticket intake → Request schemas: validates with
app/routers/submitTicket.py - Ticket intake → MongoDB collections: checks and stores
app/routers/submitTicket.py - Ticket intake → Ticket embedding: indexes ticket
app/routers/submitTicket.py - Ticket intake → Password and JWT: verifies token
app/routers/submitTicket.py - Ticket listing → MongoDB collections: reads tickets
app/routers/submitTicket.py - Ticket selection → Similarity and drafting: requests draft
app/routers/Tickettoagent.py - Ticket selection → MongoDB collections: imports tickets
app/routers/Tickettoagent.py - Ticket selection → Password and JWT: creates ticket token
app/routers/Tickettoagent.py - Ticket embedding → DeepInfra embeddings: requests embeddings
app/services/embedding.py - Ticket embedding → Chroma vector index: upserts vectors
app/services/embedding.py - Similarity and drafting → MongoDB collections: loads tickets
app/services/llmresponse.py - Similarity and drafting → Chroma vector index: syncs and queries
app/services/llmresponse.py - Similarity and drafting → DeepInfra embeddings: embeds missing tickets
app/services/llmresponse.py - Similarity and drafting → Together AI LLM: requests reply draft
app/services/llmresponse.py