{"id":119972,"url":"https://github.com/nluninja/awesome-rag-study","name":"awesome-rag-study","description":"A curated collection of papers, frameworks, tools, and resources on Retrieval-Augmented Generation (RAG).  Maintained for students of the Text Mining and Data Visualization course as a starting point for thesis research.","projects_count":55,"last_synced_at":"2026-07-07T19:00:22.842Z","repository":{"id":335267236,"uuid":"1144981847","full_name":"nluninja/awesome-rag-study","owner":"nluninja","description":"A curated collection of papers, frameworks, tools, and resources on Retrieval-Augmented Generation (RAG).  Maintained for students of the Text Mining and Data Visualization course as a starting point for thesis research.","archived":false,"fork":false,"pushed_at":"2026-02-07T10:09:38.000Z","size":10,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-19T21:04:45.814Z","etag":null,"topics":["rag","ragas-evaluation","vector-search"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nluninja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-29T09:23:13.000Z","updated_at":"2026-02-18T10:56:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nluninja/awesome-rag-study","commit_stats":null,"previous_names":["nluninja/awesome-rag-study"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nluninja/awesome-rag-study","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nluninja%2Fawesome-rag-study","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nluninja%2Fawesome-rag-study/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nluninja%2Fawesome-rag-study/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nluninja%2Fawesome-rag-study/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nluninja","download_url":"https://codeload.github.com/nluninja/awesome-rag-study/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nluninja%2Fawesome-rag-study/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35239467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2026-02-18T16:32:43.837Z","updated_at":"2026-07-07T19:00:22.842Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["License","Foundational Papers","Vector Databases","Embedding Models","Survey Papers","Datasets and Benchmarks","Advanced Techniques","Videos and Talks","Frameworks and Libraries","Tutorials and Guides"],"sub_categories":["Evaluation","Query Transformation","Retrieval Strategies","Chunking and Indexing","Reranking"],"readme":"# Awesome RAG Study [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003e A curated collection of papers, frameworks, tools, and resources on Retrieval-Augmented Generation (RAG).\n\nMaintained for students of the *Text Mining and Data Visualization* course as a starting point for thesis research.\n\n## What is RAG?\n\nRetrieval-Augmented Generation is a technique that enhances Large Language Models (LLMs) by grounding their responses in external knowledge retrieved at inference time, reducing hallucinations and enabling domain-specific answers without fine-tuning.\n\n---\n\n## Contents\n\n- [Foundational Papers](#foundational-papers)\n- [Survey Papers](#survey-papers)\n- [Advanced Techniques](#advanced-techniques)\n  - [Chunking and Indexing](#chunking-and-indexing)\n  - [Retrieval Strategies](#retrieval-strategies)\n  - [Reranking](#reranking)\n  - [Query Transformation](#query-transformation)\n  - [Evaluation](#evaluation)\n- [Frameworks and Libraries](#frameworks-and-libraries)\n- [Vector Databases](#vector-databases)\n- [Embedding Models](#embedding-models)\n- [Tutorials and Guides](#tutorials-and-guides)\n- [Videos and Talks](#videos-and-talks)\n- [Datasets and Benchmarks](#datasets-and-benchmarks)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Foundational Papers\n\n- **[Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks](https://arxiv.org/abs/2005.11401)** (2020) - The original RAG paper by Lewis et al. (Meta AI). Introduces the RAG architecture combining a pre-trained seq2seq model with a dense retriever (DPR).\n- **[Dense Passage Retrieval for Open-Domain Question Answering](https://arxiv.org/abs/2004.04906)** (2020) - DPR — the dense retrieval method that underpins many RAG systems.\n- **[REALM: Retrieval-Augmented Language Model Pre-Training](https://arxiv.org/abs/2002.08909)** (2020) - Pre-trains a language model jointly with a knowledge retriever.\n- **[Attention Is All You Need](https://arxiv.org/abs/1706.03762)** (2017) - The Transformer architecture — foundational to all modern LLMs used in RAG.\n\n## Survey Papers\n\n- **[Retrieval-Augmented Generation for Large Language Models: A Survey](https://arxiv.org/abs/2312.10997)** (2023) - Comprehensive survey covering Naive RAG, Advanced RAG, and Modular RAG paradigms. Excellent starting point.\n- **[A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models](https://arxiv.org/abs/2405.06211)** (2024) - Covers the evolution of RA-LLMs, taxonomies, and training strategies.\n- **[Seven Failure Points When Engineering a RAG System](https://arxiv.org/abs/2401.05856)** (2024) - Practical guide to what can go wrong in RAG pipelines — highly recommended for thesis work.\n\n## Advanced Techniques\n\n### Chunking and Indexing\n\n- **[Unstructured](https://github.com/Unstructured-IO/unstructured)** - Pre-processing library for parsing PDFs, HTML, Word docs into clean chunks.\n- **[Semantic Chunking](https://arxiv.org/abs/2312.06648)** - Splitting documents based on semantic similarity rather than fixed token windows.\n- **Hierarchical Indexing** - Using summaries at different granularity levels (document → section → paragraph) to improve retrieval precision.\n- **Parent-Child Chunking** - Retrieve small chunks for precision, but pass the parent (larger) chunk to the LLM for context.\n\n### Retrieval Strategies\n\n| Strategy | Description |\n|----------|-------------|\n| **Dense Retrieval** | Encode queries and documents into vector embeddings, retrieve by cosine similarity. |\n| **Sparse Retrieval (BM25)** | Traditional keyword-based retrieval. Still competitive and often used as a baseline. |\n| **Hybrid Search** | Combine dense + sparse retrieval (e.g., via Reciprocal Rank Fusion). Often outperforms either alone. |\n| **Multi-Query Retrieval** | Generate multiple query variations with an LLM and retrieve for each, then merge results. |\n| **HyDE** | [Hypothetical Document Embeddings](https://arxiv.org/abs/2212.10496) - Generate a hypothetical answer first, then use it as the retrieval query. |\n| **Contextual Retrieval** | [Anthropic's approach](https://www.anthropic.com/news/contextual-retrieval) - Prepend chunk-specific context before embedding to reduce retrieval failures. |\n\n### Reranking\n\n- **[Cohere Rerank](https://docs.cohere.com/docs/reranking)** - Cross-encoder reranking API.\n- **[ColBERT](https://arxiv.org/abs/2004.12832)** - Late interaction model for efficient and effective reranking.\n- **[bge-reranker](https://huggingface.co/BAAI/bge-reranker-v2-m3)** - Open-source cross-encoder reranker by BAAI.\n- **[RankLLM](https://arxiv.org/abs/2309.15088)** - Using LLMs themselves as rerankers via listwise prompting.\n\n### Query Transformation\n\n- **Query Rewriting** - Use an LLM to reformulate the user query for better retrieval.\n- **[Step-Back Prompting](https://arxiv.org/abs/2310.06117)** - Ask a more abstract question first to retrieve broader context.\n- **Query Decomposition** - Break complex questions into sub-questions, retrieve for each, then synthesize.\n\n### Evaluation\n\n| Framework | Description |\n|-----------|-------------|\n| [RAGAS](https://github.com/explodinggradients/ragas) | Reference-free evaluation framework. Metrics: faithfulness, answer relevancy, context precision/recall. |\n| [TruLens](https://github.com/truera/trulens) | Evaluation and tracking for LLM apps, including RAG-specific metrics. |\n| [DeepEval](https://github.com/confident-ai/deepeval) | Unit testing framework for LLM outputs with RAG-aware metrics. |\n| [ARES](https://arxiv.org/abs/2311.09476) | Automated RAG Evaluation System — uses LLM judges with statistical confidence. |\n\n---\n\n## Frameworks and Libraries\n\n| Framework | Language | Description |\n|-----------|----------|-------------|\n| [LangChain](https://github.com/langchain-ai/langchain) | Python/JS | The most widely adopted framework for building RAG pipelines. Large ecosystem, many integrations. |\n| [LlamaIndex](https://github.com/run-llama/llama_index) | Python | Data framework specifically designed for RAG. Strong focus on indexing and retrieval abstractions. |\n| [Haystack](https://github.com/deepset-ai/haystack) | Python | Production-ready NLP framework by deepset. Pipeline-based architecture. |\n| [RAGFlow](https://github.com/infiniflow/ragflow) | Python | Open-source RAG engine with deep document understanding and chunk visualization. |\n| [Verba](https://github.com/weaviate/Verba) | Python | Open-source RAG chatbot powered by Weaviate. Good for quick prototyping. |\n| [Cognita](https://github.com/truefoundry/cognita) | Python | Open-source modular RAG framework for production use. |\n\n## Vector Databases\n\n| Database | Type | Notes |\n|----------|------|-------|\n| [Chroma](https://github.com/chroma-core/chroma) | Embedded | Lightweight, easy to start with. Good for prototyping and smaller projects. |\n| [Weaviate](https://github.com/weaviate/weaviate) | Self-hosted / Cloud | Supports hybrid search natively. GraphQL API. |\n| [Qdrant](https://github.com/qdrant/qdrant) | Self-hosted / Cloud | Written in Rust. Excellent filtering and payload support. |\n| [Milvus](https://github.com/milvus-io/milvus) | Self-hosted / Cloud | Highly scalable. Used in many production deployments. |\n| [Pinecone](https://www.pinecone.io/) | Cloud-only | Fully managed. Simple API. Popular in industry. |\n| [FAISS](https://github.com/facebookresearch/faiss) | Library | Meta's similarity search library. Not a database, but extremely fast for local use. |\n| [pgvector](https://github.com/pgvector/pgvector) | PostgreSQL Extension | Add vector search to your existing PostgreSQL database. Great if you already use Postgres. |\n\n## Embedding Models\n\n| Model | Provider | Notes |\n|-------|----------|-------|\n| [text-embedding-3-small/large](https://platform.openai.com/docs/guides/embeddings) | OpenAI | Strong general-purpose embeddings. `large` variant has 3072 dimensions. |\n| [Cohere Embed v3](https://docs.cohere.com/docs/cohere-embed) | Cohere | Supports multiple input types (search_document, search_query). |\n| [BGE (BAAI)](https://huggingface.co/BAAI/bge-large-en-v1.5) | Open-source | Top-performing open-source embeddings. Available in multiple sizes. |\n| [E5-Mistral](https://huggingface.co/intfloat/e5-mistral-7b-instruct) | Open-source | LLM-based embedding model. Strong performance on MTEB benchmark. |\n| [Nomic Embed](https://huggingface.co/nomic-ai/nomic-embed-text-v1.5) | Open-source | Long-context (8192 tokens), fully open-source with open training data. |\n| [Jina Embeddings](https://huggingface.co/jinaai/jina-embeddings-v3) | Open-source | Multilingual, supports 8192 token context. Good for non-English corpora. |\n\n\u003e **Tip:** Check the [MTEB Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) for up-to-date embedding model benchmarks.\n\n---\n\n## Tutorials and Guides\n\n- **[RAG From Scratch (LangChain)](https://github.com/langchain-ai/rag-from-scratch)** - Series of notebooks covering RAG concepts from basics to advanced patterns.\n- **[Building RAG Applications with LlamaIndex](https://docs.llamaindex.ai/en/stable/getting_started/concepts/)** - Official LlamaIndex documentation and conceptual guide.\n- **[Pinecone RAG Learning Center](https://www.pinecone.io/learn/retrieval-augmented-generation/)** - Well-written introduction to RAG with practical examples.\n- **[Contextual Retrieval Guide](https://www.anthropic.com/news/contextual-retrieval)** - Practical improvements to standard RAG with contextual embeddings and BM25.\n- **[Full Stack RAG App Tutorial (freeCodeCamp)](https://www.youtube.com/watch?v=sVcwVQRHIc8)** - Video walkthrough of building a complete RAG application.\n\n## Videos and Talks\n\n- **[But what is RAG? (3Blue1Brown-style explainer)](https://www.youtube.com/watch?v=T-D1OfcDW1M)** - Visual, intuitive explanation of how RAG works.\n- **[RAG is Dead? Long Live RAG! (Keynote)](https://www.youtube.com/watch?v=JGpmQvlYRdQ)** - Discussion on the future of RAG vs. long-context models.\n- **[Building Production RAG (AI Engineer Summit)](https://www.youtube.com/watch?v=jENqvjpkwmw)** - Practical lessons from deploying RAG at scale.\n- **[Advanced RAG Techniques (DeepLearning.AI)](https://www.deeplearning.ai/short-courses/building-evaluating-advanced-rag/)** - Short course by Andrew Ng's platform.\n\n## Datasets and Benchmarks\n\n| Dataset/Benchmark | Description |\n|-------------------|-------------|\n| [Natural Questions (NQ)](https://ai.google.com/research/NaturalQuestions) | Google's open-domain QA dataset. Standard benchmark for retrieval systems. |\n| [HotpotQA](https://hotpotqa.github.io/) | Multi-hop QA requiring reasoning over multiple documents. |\n| [MS MARCO](https://microsoft.github.io/msmarco/) | Large-scale passage retrieval and QA benchmark. |\n| [BEIR](https://github.com/beir-cellar/beir) | Heterogeneous benchmark for zero-shot evaluation of retrieval models across diverse tasks. |\n| [RGB (Retrieval-Augmented Generation Benchmark)](https://arxiv.org/abs/2309.01431) | Specifically designed to evaluate RAG systems on noise robustness, negative rejection, information integration, and counterfactual robustness. |\n\n---\n\n## Contributing\n\nContributions are welcome! This is a collaborative resource for students and researchers.\n\nPlease follow these guidelines:\n1. Fork this repository\n2. Add your resource in the appropriate section\n3. Follow the existing format: `**[Resource Name](link)** - Brief description.`\n4. Ensure all links are working and resources are relevant to RAG\n5. Submit a pull request\n\n## License\n\n[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nThis work is dedicated to the public domain under [CC0 1.0 Universal](LICENSE).\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/nluninja%2Fawesome-rag-study/projects"}