{"id":13604221,"url":"https://github.com/frutik/Awesome-RAG","last_synced_at":"2025-04-11T23:31:59.045Z","repository":{"id":199417506,"uuid":"702839430","full_name":"frutik/Awesome-RAG","owner":"frutik","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-09T06:27:47.000Z","size":157,"stargazers_count":324,"open_issues_count":3,"forks_count":25,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-10T06:04:26.577Z","etag":null,"topics":["rag","rag-evaluation","rag-implementation"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frutik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-10-10T05:50:48.000Z","updated_at":"2025-04-08T02:26:59.000Z","dependencies_parsed_at":"2023-11-16T15:54:05.418Z","dependency_job_id":"cade6666-a911-4e55-a790-3d0166c30ec4","html_url":"https://github.com/frutik/Awesome-RAG","commit_stats":null,"previous_names":["frutik/awesome-rag"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frutik%2FAwesome-RAG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frutik%2FAwesome-RAG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frutik%2FAwesome-RAG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frutik%2FAwesome-RAG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frutik","download_url":"https://codeload.github.com/frutik/Awesome-RAG/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248495049,"owners_count":21113556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["rag","rag-evaluation","rag-implementation"],"created_at":"2024-08-01T19:00:41.824Z","updated_at":"2025-04-11T23:31:59.010Z","avatar_url":"https://github.com/frutik.png","language":null,"funding_links":[],"categories":["Others","Other Collections","Existing Collections","Learning"],"sub_categories":["Workshops","GitHub Communities","Related awesome lists"],"readme":"# Awesome-RAG\n\n\u003e The sections outline is in complete draft form. Everything is in motion (in this document and in my head).\n\n- [General](#general)\n  - [Disadvantages of RAG](#disadvantages-of-rag) \n  - [Patterns](#patterns)\n- [Dialogue Routing](#dialogue-routing)\n- [LLM Models](#llm-models)\n  - [Finetuning and Pretraining](#finetuning-and-pretraining)\n- [Retrieval](#retrieval)\n  -  [Vector retrieval](#vector-retrieval)\n     - [Chunking](#chunking)\n       - [Positional chunking](#positional-chunking)\n       - [Semantic chunking](#semantic-chunking)\n     - [Embeddings](#embeddings)\n     - [Vector Search](#vector-search)\n     - [RAG Fusion](#rag-fusion)\n  - [Not Vector retrieval](#not-vector-retrieval)\n- [Prompts](#prompts)\n  - [Prompting strategies](#prompting-strategies)\n    - [Multi-Modal RAG](#multi-modal-rag)\n    - [Multi-index RAG](#multi-index-rag)\n    - [Multi-Document](#multi-document)\n    - [FLARE](#flare)\n    - [Chain-of-Verification](#chain-of-verification) \n  -  [Automated prompt optimization](#automated-prompt-optimization)\n  - [Context](#context)\n    - [Long context RAG](#long-context-rag)\n    - [Knowledge and Knowledge Graphs](#knowledge-and-knowledge-graphs)\n- [Generation](#generation)\n  - [Hallucination](#hallucination)\n  - [Guardrails](#guardrails)\n- [Evaluation](#evaluation)\n- [Performance and cost](#performance-and-cost)\n- [Privacy](#privacy)\n- [Security](#security)\n  - [Overloading context](#overloading-context)\n  - [Injections](#security)\n- [Applications of RAG](#applications-of-rag)\n  - [Chatbots](#chatbots) \n- [Tools](#tools)\n- [Vendor-specific examples](#vendor-specific-examples)\n  - [Elastcisearch + OpenAI](#elastcisearch--openai)\n  - [OpenAI and ChatGPT](#openai-and-chatgpt)\n    - [Tools and fucntions](#tools-and-fucntions)\n  - [Vespa](#vespa)\n  - [Qdrant](#qdrant)\n- [Running RAGs in production](#running-rags-in-production)\n- [Vectors corner](#vectors-corner)\n\n## General\n\n- [Retrieval Augmented Generation — Intuitively and Exhaustively Explained](https://towardsdatascience.com/retrieval-augmented-generation-intuitively-and-exhaustively-explain-6a39d6fe6fc9)\n- [GraphRAG - Microsoft Research Blog Post](https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/)\n\n### Disadvantages of RAG\n\n- [Disadvantages of RAG](https://medium.com/@kelvin.lu.au/disadvantages-of-rag-5024692f2c53)\n\n\n### RAG Patterns\n\n- [Generative AI Lifecycle Patterns](https://dr-arsanjani.medium.com/the-generative-ai-lifecycle-1b0c7d9463ec)\n- [Why do RAG pipelines fail? Advanced RAG Patterns — Part1\nOzgur Guler](https://cloudatlas.me/why-do-rag-pipelines-fail-advanced-rag-patterns-part1-841faad8b3c2)\n- [How to improve RAG peformance — Advanced RAG Patterns — Part2](https://cloudatlas.me/how-to-improve-rag-peformance-advanced-rag-patterns-part2-0c84e2df66e6)\n- [Patterns for Building LLM-based Systems \u0026 Products](https://eugeneyan.com/writing/llm-patterns/)\n- [AI Engineer Summit - Building Blocks for LLM Systems \u0026 Products](https://eugeneyan.com/speaking/ai-eng-summit/)\n- [Technical Considerations for Complex RAG](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f)\n\n### Dialogue Routing\n\n- [Routing in RAG-Driven Applications](https://towardsdatascience.com/routing-in-rag-driven-applications-a685460a7220)\n\n\n## Retrieval\n\n### Vector Retrieval\n\n- [Boosting RAG: Picking the Best Embedding \u0026 Reranker models](https://blog.llamaindex.ai/boosting-rag-picking-the-best-embedding-reranker-models-42d079022e83)\n- [What We Need to Know Before Adopting a Vector Database](https://medium.com/@kelvin.lu.au/what-we-need-to-know-before-adopting-a-vector-database-85e137570fbb)\n\n#### Chunking\n\n- [Chunking Strategies for LLM Applications](https://www.pinecone.io/learn/chunking-strategies/)\n- [Evaluating the Ideal Chunk Size for a RAG System using LlamaIndex](https://blog.llamaindex.ai/evaluating-the-ideal-chunk-size-for-a-rag-system-using-llamaindex-6207e5d3fec5)\n- [How to Chunk Text Data — A Comparative Analysis](https://towardsdatascience.com/how-to-chunk-text-data-a-comparative-analysis-3858c4a0997a)\n\n##### Positional chunking\n\n##### Semantic chunking\n\n\n#### Embeddings\n\n#### Vector Search\n\n- [Awesome Search](https://github.com/frutik/awesome-search)\n- [Advanced RAG Retrieval Strategies: Sentence Window Retrieval](https://generativeai.pub/advanced-rag-retrieval-strategies-sentence-window-retrieval-b6964b6e56f7)\n\n#### RAG Fusion\n\n- [Forget RAG, the Future is RAG-Fusion](https://towardsdatascience.com/forget-rag-the-future-is-rag-fusion-1147298d8ad1)\n- \n\n### Not Vector Retrieval\n\n- [Vector Search Is Not All You Need](https://towardsdatascience.com/vector-search-is-not-all-you-need-ecd0f16ad65e)\n- [Build a search engine, not a vector DB](https://blog.elicit.com/search-vs-vector-db/)\n- [Improving RAG (Retrieval Augmented Generation) Answer Quality with Re-ranker](https://medium.com/towards-generative-ai/improving-rag-retrieval-augmented-generation-answer-quality-with-re-ranker-55a19931325)\n- [From Search to Synthesis: Enhancing RAG with BM25 and Reciprocal Rank Fusion](https://medium.com/@kachari.bikram42/from-search-to-synthesis-enhancing-rag-with-bm25-and-reciprocal-rank-fusion-872d21dc4ca7)\n\n## Generation\n\n### Prompts\n\n- [Emerging RAG \u0026 Prompt Engineering Architectures for LLMs](https://cobusgreyling.medium.com/updated-emerging-rag-prompt-engineering-architectures-for-llms-17ee62e5cbd9)\n- [How to Cut RAG Costs by 80% Using Prompt Compression](https://towardsdatascience.com/how-to-cut-rag-costs-by-80-using-prompt-compression-877a07c6bedb)\n\n#### Prompting strategies\n\n##### Multi-Modal RAG\n\n- [Multi-Modal RAG](https://blog.llamaindex.ai/multi-modal-rag-621de7525fea)\n\n##### Multi-index RAG\n\n- [Having all of your data stored in one collection isn't always the best for RAG apps](https://twitter.com/ecardenas300/status/1724829560041038072)\n\n##### Multi-Document\n\n- [Advanced RAG — Multi-Documents Agent with LlamaIndex](https://blog.gopenai.com/advanced-rag-multi-documents-agent-with-llamaindex-43b604f84909)\n\n##### FLARE\n\n- [Better RAG with Active Retrieval Augmented Generation FLARE](https://blog.lancedb.com/better-rag-with-active-retrieval-augmented-generation-flare-3b66646e2a9f)\n\n\n##### Chain-of-Verification\n\n- [in-Of-Verification Reduces Hallucination in LLMs](https://cobusgreyling.medium.com/chain-of-verification-reduces-hallucination-in-llms-20af5ea67672)\n\n##### Chain-Of-Thought\n\n- [Chain-Of-Thought Prompting In LLMs](https://cobusgreyling.medium.com/chain-of-thought-prompting-in-llms-1077164edf97)\n\n### Context\n\n- [The Needle In a Haystack Test](https://towardsdatascience.com/the-needle-in-a-haystack-test-a94974c1ad38)\n- [Conversational Memory for LLMs with Langchain](https://www.pinecone.io/learn/series/langchain/langchain-conversational-memory/)\n\n#### Long context RAG\n\n- [The next generation of RAG: Long-Context RAG](https://twitter.com/ecardenas300/status/1724129722492142048)\n- [NVIDIA Research: RAG with Long Context LLMs](https://blog.llamaindex.ai/nvidia-research-rag-with-long-context-llms-7d94d40090c4)\n\n#### Knowledge and Knowledge Graphs\n\n- [Graph RAG: Unleashing the Power of Knowledge Graphs with LLM](https://medium.com/@nebulagraph/graph-rag-the-new-llm-stack-with-knowledge-graphs-e1e902c504ed)\n- [Embeddings + Knowledge Graphs: The Ultimate Tools for RAG Systems](https://towardsdatascience.com/embeddings-knowledge-graphs-the-ultimate-tools-for-rag-systems-cbbcca29f0fd)\n- [The Practical Benefits to Grounding an LLM in a Knowledge Graph\nDaniel Bukowski](https://medium.com/@bukowski.daniel/the-practical-benefits-to-grounding-an-llm-in-a-knowledge-graph-919918eb493)\n- [Implement RAG with Knowledge Graph and Llama-Index](https://medium.aiplanet.com/implement-rag-with-knowledge-graph-and-llama-index-6a3370e93cdd)\n\n- [Awesome Knowledge Graphs](https://github.com/frutik/awesome-knowledge-graphs)\n- [HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models](https://arxiv.org/abs/2405.14831)\n  \n### Automated prompt optimization\n\n### Hallucination\n\n- [How to Detect Hallucinations in LLMs](https://towardsdatascience.com/real-time-llm-hallucination-detection-9a68bb292698)\n- [Measuring Hallucinations in RAG Systems](https://vectara.com/measuring-hallucinations-in-rag-systems/)\n\n### Guardrails\n\n- [Safeguarding LLMs with Guardrails](https://towardsdatascience.com/safeguarding-llms-with-guardrails-4f5d9f57cff2)\n- [NeMo Guardrails: The Missing Manual](https://www.pinecone.io/learn/nemo-guardrails-intro/)\n\n## LLM Models\n\n### Finetuning and Pretraining\n\n- [Fine-Tuning Llama 2.0 with Single GPU Magic](https://ai.plainenglish.io/fine-tuning-llama2-0-with-qloras-single-gpu-magic-1b6a6679d436)\n- [Practitioners guide to fine-tune LLMs for domain-specific use case](https://cismography.medium.com/practitioners-guide-to-fine-tune-llms-for-domain-specific-use-case-part-1-4561714d874f)\n- [Are You Pre-training your RAG Models on Your Raw Text?](https://medium.com/thirdai-blog/are-you-pre-training-your-rag-models-on-your-raw-text-40f832d87703)\n- [Combine Multiple LoRA Adapters for Llama 2](https://towardsdatascience.com/combine-multiple-lora-adapters-for-llama-2-ea0bef9025cf)\n- [RAG vs Finetuning — Which Is the Best Tool to Boost Your LLM Application?](https://towardsdatascience.com/rag-vs-finetuning-which-is-the-best-tool-to-boost-your-llm-application-94654b1eaba7)\n\n## Evaluation of RAGs\n\n- [RAG Evaluation](https://cobusgreyling.medium.com/rag-evaluation-9813a931b3d4)\n- [Evaluating RAG: A journey through metrics](https://www.elastic.co/search-labs/blog/articles/evaluating-rag-metrics)\n- [Exploring End-to-End Evaluation of RAG Pipelines](https://betterprogramming.pub/exploring-end-to-end-evaluation-of-rag-pipelines-e4c03221429)\n- [Evaluation Driven Development, the Swiss Army Knife for RAG Pipelines](https://levelup.gitconnected.com/evaluation-driven-development-the-swiss-army-knife-for-rag-pipelines-dba24218d47e)\n- [Evaluating the Ideal Chunk Size for a RAG System using LlamaIndex](https://blog.llamaindex.ai/evaluating-the-ideal-chunk-size-for-a-rag-system-using-llamaindex-6207e5d3fec5)\n\n## Performance and cost\n\n- [Secrets to Optimizing RAG LLM Apps for Better Performance, Accuracy and Lower Costs!](https://medium.com/madhukarkumar/secrets-to-optimizing-rag-llm-apps-for-better-accuracy-performance-and-lower-cost-da1014127c0a)\n\n## Privacy\n\n- [Masking PII Data in RAG Pipeline](https://betterprogramming.pub/masking-pii-data-in-rag-pipeline-326d2d330336)\n\n## Security\n\n- [Hijacking Chatbots: Dangerous Methods Manipulating GPTs](https://medium.com/@jankammerath/hijacking-chatbots-dangerous-methods-manipulating-gpts-52342f4f88b8)\n\n## Applications of RAG\n\n### Chatbots\n\n## Tools\n\n- [Three Open-Source RAG Tools You Need to Know About](https://medium.com/programmers-journey/three-open-source-rag-tools-you-need-to-know-about-331c3f28ab22)\n- [HayStack](https://github.com/deepset-ai/haystack)\n- [RAGAS](https://github.com/explodinggradients/ragas)\n\n### DSPy\n\n- [DSPy — Does It Live Up To The Hype?](https://medium.com/emalpha/dspy-does-it-live-up-to-the-hype-6e56c2c6e7a0)\n\n### AutoRAG\n\n- [AutoRAG](https://github.com/Marker-Inc-Korea/AutoRAG) - AutoML tool for RAG. Automatically optimize RAG pipeline with single YAML file.\n\n### AutoGPT\n\n### Langchain\n\n- [Langchain](https://github.com/langchain-ai/langchain)\n- [Langchain is NOT for production use. Here is why ..](https://medium.com/@aldendorosario/langchain-is-not-for-production-use-here-is-why-9f1eca6cce80)\n\n### LlamaIndex\n\n- [LlamaIndex](https://github.com/run-llama/llama_index)\n\n- [Building Production-Ready LLM Apps with LlamaIndex: Document Metadata for Higher Accuracy Retrieval](https://betterprogramming.pub/building-production-ready-llm-apps-with-llamaindex-document-metadata-for-higher-accuracy-retrieval-a8ceca641fb5)\n- [Building Production-Ready LLM Apps With LlamaIndex: Recursive Document Agents for Dynamic Retrieval](https://betterprogramming.pub/building-production-ready-llm-apps-with-llamaindex-recursive-document-agents-for-dynamic-retrieval-1f4b25287918)\n\n\n## Vendor-specific examples\n\n- [RAG Pipeline with Mistral 7B Instruct Model in Colab: A Step-by-Step Guide\nQendel AI GoPenAI](https://blog.gopenai.com/rag-pipeline-with-mistral-7b-instruct-model-a-step-by-step-guide-138df378a0c2)\n\n\n### Elastcisearch + OpenAI\n\n- [ChatGPT and Elasticsearch: OpenAI meets private data](https://www.elastic.co/search-labs/blog/chatgpt-elasticsearch-openai-meets-private-data)\n\n### OpenAI and ChatGPT\n\n- [Compare PDF Question Answering Systems Build with OpenAI and Google VertexAI](https://medium.com/@kelvin.lu.au/compare-pdf-question-answering-with-openai-and-google-vertexai-46638d62327b)\n\n\n#### Tools and fucntions\n\n- [Unlocking the Power of the OpenAI API: Master Function-Calling with Practical Examples](https://medium.com/@apollovro/unlocking-the-power-of-the-openai-api-master-function-calling-with-practical-examples-f8b9ab2fceec)\n- [penAI/Chat-GPT Function Calling : for Enhanced AI Interactions](https://levelup.gitconnected.com/openai-chat-gpt-function-calling-for-enhanced-ai-interactions-338be974027)\n\n### Vespa\n\n- [Hands-On RAG guide for personal data with Vespa and LLamaIndex](https://blog.vespa.ai/scaling-personal-ai-assistants-with-streaming-mode/)\n\n### Qdrant\n\n## Running RAGs in production\n\n## Vectors corner\n\n- [Similarity Search, Part 2: Product Quantization](https://towardsdatascience.com/similarity-search-product-quantization-b2a1a6397701)\n- [Binary and Scalar Embedding Quantization for Significantly Faster \u0026 Cheaper Retrieval](https://huggingface.co/blog/embedding-quantization)\n- [Cohere int8 \u0026 binary Embeddings - Scale Your Vector Database to Large Datasets\nImage of Nils Reimers](https://cohere.com/blog/int8-binary-embeddings)\n\n## Various\n\n- [Improve RAG Pipelines With These 3 Indexing Methods](https://levelup.gitconnected.com/improve-rag-pipelines-with-these-3-indexing-methods-83317e972676)\n\n## LLM Agents\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrutik%2FAwesome-RAG","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrutik%2FAwesome-RAG","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrutik%2FAwesome-RAG/lists"}