Skip to content

Repository files navigation

introduction_to_Retrival_Ugmented_generation_practice

🚀 Overview

This project demonstrates my hands-on learning and implementation of Retrieval Augmented Generation (RAG) using Python and LlamaIndex. The goal of this project is to understand how Large Language Models can retrieve external knowledge from custom datasets and generate more accurate, context-aware responses.

🧠 What is RAG?

Retrieval Augmented Generation combines:

🔍 Information Retrieval → Fetches relevant data from external sources

🤖 Language Generation → Uses an LLM to generate responses using retrieved data

This approach improves accuracy, reduces hallucination, and allows AI models to answer domain-specific questions.

🛠️ Technologies Used

🔍 Retrieval-Augmented Generation (RAG) Practice & Mini Projects Overview

This repository contains hands-on implementations and mini projects built while learning Retrieval-Augmented Generation (RAG) concepts using Large Language Models, embeddings, and vector-based retrieval.

The goal of this project is to understand how external knowledge can be integrated into LLM workflows and how such systems can be monitored and evaluated.

🧠 Key Concepts Covered

Document loading and chunking

Embedding generation

Vector storage and semantic retrieval

Query-based context augmentation

LLM response generation

Persistent indexing

Observability and tracing using Arize Phoenix

🛠️ Tech Stack

Python

LlamaIndex

OpenAI / LLM APIs

Vector Database Storage

VS Code

Git & GitHub

⚙️ Features Implemented

Document loading using SimpleDirectoryReader

Vector index creation

Persistent storage of index

Loading stored index for faster execution

Querying indexed documents using LLM

Error handling for missing index

📈 Learning Outcomes Through this project, I learned:

How vector databases work

Indexing and retrieval techniques

Persistent storage in RAG pipelines

Integration of LLMs with external knowledge

Error handling in AI workflows

🎯 Future Improvements Add web interface using Flask / Streamlit

Support multiple document formats

Improve search ranking

Deploy as cloud application

Vector Index (local)

Arize Phoenix

OpenInference Instrumentation

GitHub Codespaces

Jupyter Notebook / VS Code

🏗️ RAG Pipeline Workflow User Query ↓ Query Embedding ↓ Vector Search ↓ Relevant Context Retrieval ↓ LLM Response Generation

🔎 Observability with Arize Phoenix

This project integrates Arize Phoenix to monitor and analyze the RAG pipeline.

Phoenix enables:

Tracing of LLM requests and responses

Visualization of retrieved documents

Token usage and latency analysis

Debugging retrieval quality

Phoenix Integration Example import phoenix as px from openinference.instrumentation.llama_index import LlamaIndexInstrumentor

px.launch_app() LlamaIndexInstrumentor().instrument()

🖥️ Development Environment

This project was developed and executed using GitHub Codespaces, providing a cloud-based development environment with reproducible setup and execution.

📌 Learning Outcomes

Designed end-to-end RAG pipelines

Implemented semantic search using embeddings

Integrated observability into LLM workflows

Gained practical experience with AI system debugging

🔮 Future Improvements

Add UI using Streamlit

Support multiple document formats

Add evaluation metrics for retrieval quality

Deploy as an API

👩‍💻 Author

Rupsha Debnath GitHub: https://github.com/Rupu-techu

LinkedIn: https://www.linkedin.com/in/rupsha-debnath-056739317/

About

Hands on learning on RAG .practiced and implementation of rag based models using python and llamaindex

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages