ai-lc4j-demos/demo-05
2025-03-28 17:53:29 +01:00
..
src/main chore: fix model URLs 2025-03-28 17:53:29 +01:00
easy-rag-embeddings.json chore: Add README.md files 2025-03-28 17:36:22 +01:00
pom.xml chore: Add README.md files 2025-03-28 17:36:22 +01:00
README.md chore: Add README.md files 2025-03-28 17:36:22 +01:00

Demo 05 - RAG Part 1

Retrieval Augmented Generation (RAG) is a way to extend the knowledge of the LLM used in the AI service.

The RAG pattern is composed of two parts:

  • Ingestion: This is the part that stores data in the knowledge base.
  • Augmentation: This is the part that adds the retrieved information to the input of the LLM.

Configuring EasyRag

To configure EasyRag: In the src/main/resources/application.properties file, we have the following configuration:

quarkus.langchain4j.easy-rag.path=src/main/resources/rag
quarkus.langchain4j.easy-rag.max-segment-size=100
quarkus.langchain4j.easy-rag.max-overlap-size=25
quarkus.langchain4j.easy-rag.max-results=3
  • quarkus.langchain4j.easy-rag.path: The path to the directory containing the data files.
  • quarkus.langchain4j.easy-rag.max-segment-size: The maximum number of tokens in a segment. Each document is split into segments (chunks) to be ingested by the LLM. This parameter defines the maximum number of tokens in a segment.
  • quarkus.langchain4j.easy-rag.max-overlap-size: The maximum number of tokens to overlap between two segments. That allows the LLM to have a context between two segments.
  • quarkus.langchain4j.easy-rag.max-results: The maximum number of results to return when querying the knowledge base.