How harshilkatharva/genai-engineer-journey works
This repository is a staged Python curriculum for building LLM applications, rather than one single runtime product. Its later modules culminate in a RAG application with indexing, retrieval, generation, and LangChain-oriented structured-output features. The tree supports these capability areas, but the README is empty and sampled implementation is limited to embedding and query management; other connections are intentionally left unspecified.
Main entry points: query_manager.py Query manager · embedding_manager.py Embedding manager · app.py API application · query_expansion.py Query expansion
Components 29
RAG application
- API application
module-10-langchain/src/rag_app/api/app.py - RAG route
module-10-langchain/src/rag_app/api/routes/rag.py - Index route
module-10-langchain/src/rag_app/api/routes/index.py - Upsert route
module-10-langchain/src/rag_app/api/routes/upsert.py - Retrieve route
module-10-langchain/src/rag_app/api/routes/retrive.py - Evaluation route
module-10-langchain/src/rag_app/api/routes/evalution.py
Indexing
- Index services
module-10-langchain/src/rag_app/services/index_services.py - Upsert services
module-10-langchain/src/rag_app/services/upsert_services.py - Chunking
module-10-langchain/src/rag_app/chunking/chunking_manager.py - Embedding manager
module-10-langchain/src/rag_app/embedding/embedding_manager.py - Vector database
module-10-langchain/src/rag_app/db/index_db.py
Query and retrieval
- Retrieval services
module-10-langchain/src/rag_app/services/retrive_services.py - Query manager
module-10-langchain/src/rag_app/query/query_manager.py - Query expansion
module-10-langchain/src/rag_app/query/techniques/query_expansion.py - HyDE query
module-10-langchain/src/rag_app/query/techniques/query_hyde.py - Retriever manager
module-10-langchain/src/rag_app/retrieval/retriver_manager.py - Candidate search
module-10-langchain/src/rag_app/retrieval/candidate/hybrid_search.py - Cross-encoder reranker
module-10-langchain/src/rag_app/retrieval/re_ranker/cross_encoder_reranker.py
Generation features
- RAG chat
module-10-langchain/src/rag_app/features/rag_chat.py - LangChain chat
module-10-langchain/src/rag_app/features/rag_chat_langchain.py - Classification
module-10-langchain/src/rag_app/features/rag_classification.py - Extraction
module-10-langchain/src/rag_app/features/rag_extraction.py - LLM services
module-10-langchain/src/rag_app/services/llm_services.py - LLM providers
module-10-langchain/src/rag_app/providers/llm_provider.py
Operations
- Evaluation reports
module-10-langchain/src/rag_app/evalution/report.py - Redis history
module-10-langchain/src/rag_app/services/redis_history.py - Observability
module-10-langchain/src/rag_app/observability/metrics.py
Other components
- API caller
- SentenceTransformer
Connections 4
- API caller → API application: sends requests
- Query manager → Query expansion: dispatches query
- Query manager → HyDE query: dispatches query
- Embedding manager → SentenceTransformer: encodes text