search
HomeTechnology peripheralsAIHow to Improve RAG Performance: 5 Key Techniques with Examples

Retrieval Augmented Generation (RAG) significantly enhances Large Language Model (LLM) accuracy and reliability by incorporating external data. This contextualizes answers and allows for updates without retraining. However, RAG isn't universally effective. This article details building robust RAG pipelines, explores limitations, and offers solutions.

OpenAI Fundamentals (brief mention, no need to expand)

Learn more about using the OpenAI API. Start Now

How RAG Works:

How to Improve RAG Performance: 5 Key Techniques with Examples

(Image from LlamaIndex Documentation)

A RAG pipeline comprises three stages: Indexing, Retrieval, and Generation.

  • Indexing: Data (various formats) is cleaned, converted to plain text, chunked into manageable pieces, and transformed into numerical vectors (embeddings) using an embedding model. These embeddings and chunks are indexed for efficient search.

  • Retrieval: User queries are vectorized using the same embedding model. The system calculates similarity scores between the query vector and indexed chunk vectors, retrieving the top K most similar chunks.

  • Generation: The query and retrieved chunks are formatted into a prompt and fed to the LLM for answer generation.

RAG Limitations:

Challenges exist in each stage:

  • Indexing: Noisy data leads to unhelpful LLM responses.
  • Retrieval: The system may not always retrieve relevant chunks.
  • Generation: Even with good retrieval, the LLM might hallucinate incorrect answers.

Improving RAG Performance:

Three key strategies address these limitations: Chunking, Re-Ranking, and Query Transformations. The following demonstrates these using LlamaIndex and the OpenAI API to answer questions about Wikipedia entries (Emma Stone, Ryan Gosling, La La Land).

Baseline RAG System:

Install necessary packages:

!pip install llama-index openai wikipedia

Set your OpenAI API key:

import os
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"

Load Wikipedia data and build the index:

from llama_index.core import (VectorStoreIndex, ServiceContext, download_loader)
WikipediaReader = download_loader("WikipediaReader")
loader = WikipediaReader()
pages = ['Emma_Stone', 'La_La_Land', 'Ryan_Gosling']
documents = loader.load_data(pages=pages, auto_suggest=False, redirect=False)

from llama_index.llms import OpenAI
from llama_index.embeddings import OpenAIEmbedding, OpenAIEmbeddingModelType
gpt3 = OpenAI(temperature=0, model="gpt-3.5-turbo-instruct", api_key=os.environ["OPENAI_API_KEY"])
embed_model = OpenAIEmbedding(model=OpenAIEmbeddingModelType.TEXT_EMBED_ADA_002, api_key=os.environ["OPENAI_API_KEY"])
service_context_gpt3 = ServiceContext.from_defaults(llm=gpt3, chunk_size=256, chunk_overlap=0, embed_model=embed_model)
index = VectorStoreIndex.from_documents(documents, service_context=service_context_gpt3)
retriever = index.as_retriever(similarity_top_k=3)

Create a prompt template to ensure context-based answers:

from llama_index.core.prompts import PromptTemplate
template = (
    "We have provided context information below. \n"
    "---------------------\n"
    "{context_str}"
    "\n---------------------\n"
    "Given this information, please answer the question: {query_str}\n"
    "Don't give an answer unless it is supported by the context above.\n"
)
qa_template = PromptTemplate(template)

(The initial queries and subpar responses are omitted for brevity. The focus is on improvement strategies.)

Improving with Chunking:

Adjust chunk_size and chunk_overlap in service_context_gpt3 to optimize retrieval.

Improving with Re-Ranking:

(Code examples for FlagEmbeddingReranker and RankGPTRerank are omitted for brevity, but the descriptions remain)

  • FlagEmbeddingReranker: Uses a Hugging Face re-ranking model (e.g., BAAI/bge-reranker-base) to improve chunk relevance. Requires a Hugging Face access token.

  • RankGPTRerank: Employs an LLM (e.g., gpt-3.5-turbo-0125) to re-rank retrieved chunks based on semantic understanding.

Improving with Query Transformations:

(Code examples for HyDE and Multi-Step Query Transformations are omitted for brevity, but the descriptions remain)

  • HyDE (Hypothetical Document Embeddings): Generates a hypothetical answer, creates embeddings for both the query and hypothetical answer, and retrieves documents closest to these embeddings.

  • Multi-Step Query Transformations: Breaks down complex queries into simpler sub-queries for more effective processing.

Conclusion:

This article showcased several techniques to enhance RAG performance. The optimal approach depends on the specific application and desired results. Further exploration of RAG can be found in [link to code-along videos here].

The above is the detailed content of How to Improve RAG Performance: 5 Key Techniques with Examples. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
From Friction To Flow: How AI Is Reshaping Legal WorkFrom Friction To Flow: How AI Is Reshaping Legal WorkMay 09, 2025 am 11:29 AM

The legal tech revolution is gaining momentum, pushing legal professionals to actively embrace AI solutions. Passive resistance is no longer a viable option for those aiming to stay competitive. Why is Technology Adoption Crucial? Legal professional

This Is What AI Thinks Of You And Knows About YouThis Is What AI Thinks Of You And Knows About YouMay 09, 2025 am 11:24 AM

Many assume interactions with AI are anonymous, a stark contrast to human communication. However, AI actively profiles users during every chat. Every prompt, every word, is analyzed and categorized. Let's explore this critical aspect of the AI revo

7 Steps To Building A Thriving, AI-Ready Corporate Culture7 Steps To Building A Thriving, AI-Ready Corporate CultureMay 09, 2025 am 11:23 AM

A successful artificial intelligence strategy cannot be separated from strong corporate culture support. As Peter Drucker said, business operations depend on people, and so does the success of artificial intelligence. For organizations that actively embrace artificial intelligence, building a corporate culture that adapts to AI is crucial, and it even determines the success or failure of AI strategies. West Monroe recently released a practical guide to building a thriving AI-friendly corporate culture, and here are some key points: 1. Clarify the success model of AI: First of all, we must have a clear vision of how AI can empower business. An ideal AI operation culture can achieve a natural integration of work processes between humans and AI systems. AI is good at certain tasks, while humans are good at creativity and judgment

Netflix New Scroll, Meta AI's Game Changers, Neuralink Valued At $8.5 BillionNetflix New Scroll, Meta AI's Game Changers, Neuralink Valued At $8.5 BillionMay 09, 2025 am 11:22 AM

Meta upgrades AI assistant application, and the era of wearable AI is coming! The app, designed to compete with ChatGPT, offers standard AI features such as text, voice interaction, image generation and web search, but has now added geolocation capabilities for the first time. This means that Meta AI knows where you are and what you are viewing when answering your question. It uses your interests, location, profile and activity information to provide the latest situational information that was not possible before. The app also supports real-time translation, which completely changed the AI ​​experience on Ray-Ban glasses and greatly improved its usefulness. The imposition of tariffs on foreign films is a naked exercise of power over the media and culture. If implemented, this will accelerate toward AI and virtual production

Take These Steps Today To Protect Yourself Against AI CybercrimeTake These Steps Today To Protect Yourself Against AI CybercrimeMay 09, 2025 am 11:19 AM

Artificial intelligence is revolutionizing the field of cybercrime, which forces us to learn new defensive skills. Cyber ​​criminals are increasingly using powerful artificial intelligence technologies such as deep forgery and intelligent cyberattacks to fraud and destruction at an unprecedented scale. It is reported that 87% of global businesses have been targeted for AI cybercrime over the past year. So, how can we avoid becoming victims of this wave of smart crimes? Let’s explore how to identify risks and take protective measures at the individual and organizational level. How cybercriminals use artificial intelligence As technology advances, criminals are constantly looking for new ways to attack individuals, businesses and governments. The widespread use of artificial intelligence may be the latest aspect, but its potential harm is unprecedented. In particular, artificial intelligence

A Symbiotic Dance: Navigating Loops Of Artificial And Natural PerceptionA Symbiotic Dance: Navigating Loops Of Artificial And Natural PerceptionMay 09, 2025 am 11:13 AM

The intricate relationship between artificial intelligence (AI) and human intelligence (NI) is best understood as a feedback loop. Humans create AI, training it on data generated by human activity to enhance or replicate human capabilities. This AI

AI's Biggest Secret — Creators Don't Understand It, Experts SplitAI's Biggest Secret — Creators Don't Understand It, Experts SplitMay 09, 2025 am 11:09 AM

Anthropic's recent statement, highlighting the lack of understanding surrounding cutting-edge AI models, has sparked a heated debate among experts. Is this opacity a genuine technological crisis, or simply a temporary hurdle on the path to more soph

Bulbul-V2 by Sarvam AI: India's Best TTS ModelBulbul-V2 by Sarvam AI: India's Best TTS ModelMay 09, 2025 am 10:52 AM

India is a diverse country with a rich tapestry of languages, making seamless communication across regions a persistent challenge. However, Sarvam’s Bulbul-V2 is helping to bridge this gap with its advanced text-to-speech (TTS) t

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools