Java implementation of Adaptive Rag
---
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
- go to project root (i.e. cloned project root)
- set environment variable
OPENAI_API_KEY
- run
mvn -pl adaptive-rag exec:exec@upsert
- go to project root (i.e. cloned project root)
- set environment variable
OPENAI_API_KEY
- set environment variable
TAVILY_API_KEY
- run
mvn -pl adaptive-rag exec:exec@app
The main is here