How mongodb-industry-solutions/manufacturing-car-manual-rag works
Car Manual Explorer lets automotive technicians search structured manual content and images, inspect contextual results, and ask questions. The principal path is query entry through the frontend search service and API routes to retrieval, optional reranking, and MongoDB-backed results. Separate branches cover graph and multimodal retrieval, chunk/image access, and the documented RAG capability. Several repository and UI implementations were not excerpted; their presence is represented without guessing at internal calls.
Main entry points: search.py Search routes · mongodb.py MongoDB connection · searchService.ts Search client · graph_search.py Graph search route
Components 25
User experience
- Search interface
frontend/app/search/page.tsx - Search hooks
frontend/hooks/useSearch.ts - Question hook
frontend/hooks/useRAG.ts - Search client
frontend/services/searchService.ts - API proxy
frontend/app/api/v1/[...path]/route.ts
API routing
- FastAPI app
backend/main.py - Search routes
backend/app/api/routes/search.py - Graph search route
backend/app/api/routes/graph_search.py - Chunk routes
backend/app/api/routes/chunks.py - Image routes
backend/app/api/routes/images.py - Application settings
backend/app/core/config.py
Retrieval services
- Search pipelines
backend/app/db/repositories/search_new.py - Chunk repository
backend/app/db/repositories/chunks.py - Image repository
backend/app/db/repositories/images.py
Document data
- Chunk model
backend/app/models/chunks.py - Search models
backend/app/models/search.py - Image file store
backend/app/db/gridfs_manager.py - MongoDB connection
backend/app/db/mongodb.py
AI integrations
- Text embeddings
backend/app/services/embedding.py - Multimodal embeddings
backend/app/services/multimodal_embedding.py - Voyage reranker
backend/app/services/reranker.py - RAG answering
backend/app/services/rag.py
Other components
- Technician
- MongoDB Atlas
- Voyage AI
Connections 32
- Technician → Search interface: submits query
README.md - Search hooks → Search client: calls search
frontend/hooks/useSearch.ts - Question hook → Search client: asks question
frontend/hooks/useRAG.ts - Search client → API proxy: posts requests
frontend/services/searchService.ts - Search client → Search routes: targets endpoints
frontend/services/searchService.ts - Search client → Graph search route: targets graph endpoint
frontend/services/searchService.ts - FastAPI app → Search routes: registers routes
backend/main.py - FastAPI app → Graph search route: registers routes
backend/main.py - FastAPI app → Chunk routes: registers routes
backend/main.py - FastAPI app → Image routes: registers routes
backend/main.py - Search routes → Search pipelines: runs retrieval
backend/app/api/routes/search.py - Search routes → Text embeddings: embeds queries
backend/app/api/routes/search.py - Search routes → Voyage reranker: optionally reranks
backend/app/api/routes/search.py - Graph search route → Search pipelines: runs graph search
backend/app/api/routes/graph_search.py - Graph search route → Text embeddings: embeds queries
backend/app/api/routes/graph_search.py - Graph search route → Voyage reranker: optionally reranks
backend/app/api/routes/graph_search.py - Chunk routes → Chunk repository: fetches chunks
backend/app/api/routes/chunks.py - Chunk routes → Text embeddings: embeds content
backend/app/api/routes/chunks.py - Image routes → Image repository: retrieves image data
backend/app/api/routes/images.py - Image routes → Chunk repository: retrieves associated chunks
backend/app/api/routes/images.py - Image routes → Image file store: loads image files
backend/app/api/routes/images.py - Search pipelines → MongoDB connection: uses connection
backend/app/db/repositories/search_new.py - Chunk repository → MongoDB connection: uses connection
- Image repository → MongoDB connection: uses connection
- Image file store → MongoDB connection: gets connection
backend/app/db/gridfs_manager.py - MongoDB connection → MongoDB Atlas: stores documents
README.md - Multimodal embeddings → Voyage AI: requests embeddings
backend/app/services/multimodal_embedding.py - Search pipelines → Chunk model: shapes results
backend/app/db/repositories/search_new.py - Search routes → Search models: validates responses
backend/app/api/routes/search.py - Application settings → MongoDB connection: configures connection
backend/app/db/mongodb.py - Search routes → Multimodal embeddings: creates image queries
backend/app/api/routes/search.py - RAG answering → Chunk model: uses chunk context
backend/app/services/rag.py