graph LR participant User as "User" participant API as "Query Service API" participant RetrievalHandler as "Retrieval Handler" participant EmbeddingGenerator as "Embedding Generator" participant ChromaDB as "ChromaDB (Vector Store)" participant LLMIntegrator as "LLM Integrator" User->>API: Sends query request API->>RetrievalHandler: Retrieve relevant documents RetrievalHandler->>EmbeddingGenerator: Generate embeddings for query EmbeddingGenerator->>ChromaDB: Query vector store ChromaDB->>RetrievalHandler: Return relevant documents RetrievalHandler->>LLMIntegrator: Generate response using LLM LLMIntegrator->>API: Return final response API->>User: Return final response