Skip to content

Latest commit

 

History

History
 
 

adaptive-rag

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Langgraph4j - Adaptive RAG

Java implementation of Adaptive Rag

Mermaid diagram

---
title: Adaptive RAG
---
flowchart TD
	start((start))
	stop((stop))
	web_search("web_search")
	retrieve("retrieve")
	grade_documents("grade_documents")
	generate("generate")
	transform_query("transform_query")
	condition1{"check state"}
	condition2{"check state"}
	startcondition{"check state"}
	start --> startcondition
	startcondition -->|web_search| web_search
	startcondition -->|vectorstore| retrieve
	web_search --> generate
	retrieve --> grade_documents
	grade_documents --> condition1
	condition1 -->|transform_query| transform_query
	condition1 -->|generate| generate
	transform_query --> retrieve
	generate --> condition2
	condition2 -->|not supported| generate
	condition2 -->|not useful| transform_query
	condition2 -->|useful| stop
Loading

PlantUML diagram

diagram

Getting Started

Populate Chroma Vector store using Docker

  1. go to project root (i.e. cloned project root)
  2. set environment variable OPENAI_API_KEY
  3. run
    mvn -pl adaptive-rag exec:exec@upsert
    

Run example

  1. go to project root (i.e. cloned project root)
  2. set environment variable OPENAI_API_KEY
  3. set environment variable TAVILY_API_KEY
  4. run
    mvn -pl adaptive-rag exec:exec@app
    

The main is here