MCPcopy Index your code
hub / github.com/datastaxdevs/conference-2024-devoxx

github.com/datastaxdevs/conference-2024-devoxx @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
289 symbols 838 edges 85 files 68 documented · 24% updated 14mo ago★ 611 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🧑🏻‍💻 🧑🏾‍💻 From naive to advanced RAG: The complete guide 👩🏿‍💻 👩‍💻

License Apache2 Java

ℹ️ About this Session

It’s easy to get started with Retrieval Augmented Generation, but you’ll quickly be disappointed with the generated answers: inaccurate or incomplete, missing context or outdated information, bad text chunking strategy, not the best documents returned by your vector database, and the list goes on.

After meeting thousands of developers across Europe, we’ve explored those pain points, and will share with you how to overcome them. As part of the team building a vector database we are aware of the different flavors of searches (semantic, meta-data, full text, multimodal) and embedding model choices. We have been implementing RAG pipelines across different projects and frameworks and are contributing to LangChain4j.

In this deep-dive, we will examine various techniques using LangChain4j to bring your RAG to the next level: with semantic chunking, query expansion & compression, metadata filtering, document reranking, data lifecycle processes, and how to best evaluate and present the results to your users.

⏲️ Duration : 3 hours

🎓 Level Intermediate

📋 Table of Demos

Extension points exported contracts — how you extend this code

Stemmer (Interface)
A language stemmer. [4 implementers]
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/rerank/bm25/stemmer/Stemmer.java
RelevanceChecker (Interface)
Evaluate how an embedding is relevant. @param item to validates, it could be the embeddings or the text chunks [3 implementers]
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/evaluation/relevance/RelevanceChecker.java
RankedResultsEvaluator (Interface)
Interface for evaluating ranked results. [2 implementers]
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/evaluation/RankedResultsEvaluator.java
Similarity (Interface)
(no doc) [3 implementers]
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/similarity/Similarity.java
Assistant (Interface)
This is an "AI Service". It is a Java service with AI capabilities/features. It can be integrated into your code like an
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/Assistant.java

Core symbols most depended-on inside this repo

score
called by 19
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/rerank/rrf/ReciprocalRankFusion.java
addResult
called by 16
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/evaluation/RankedResults.java
search
called by 15
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/rerank/bm25/BM25.java
answer
called by 14
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_4_advanced_rag_query/_46_reranking_vertex.java
compute
called by 8
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/similarity/Similarity.java
addExpectedAnswers
called by 6
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/evaluation/RankedResults.java
validate
called by 3
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/similarity/Similarity.java
addRelevanceGrade
called by 3
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/evaluation/RankedResults.java

Shape

Method 185
Class 90
Interface 12
Enum 2

Languages

Java100%

Modules by API surface

devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/AbstractDevoxxTest.java15 symbols
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/rerank/bm25/BM25.java11 symbols
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_4_advanced_rag_query/_49_agentic_RAG.java9 symbols
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_1_introduction/_10_chat_language_model.java8 symbols
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_4_advanced_rag_query/_48_sample_function_calling.java7 symbols
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_4_advanced_rag_query/_48_2_sample_function_calling_weather.java7 symbols
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_3_advanced_rag_ingestion/_37_hypothetical_questions_embedding.java7 symbols
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_3_advanced_rag_ingestion/_30_loader_and_parsers.java7 symbols
devoxx-rag-naive-to-advanced/src/test/java/devoxx/rag/_4_advanced_rag_query/_45_2_vectordb_similarity.java6 symbols
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/rerank/bm25/stemmer/StemmerSnowBall.java6 symbols
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/rerank/bm25/Bm25ScoringModel.java6 symbols
devoxx-rag-naive-to-advanced/src/main/java/devoxx/rag/evaluation/RankedResults.java6 symbols

For agents

$ claude mcp add conference-2024-devoxx \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page