@startuml Corrective RAG

'skinparam monochrome true

'skinparam monochrome true
skinparam shadowing false
skinparam activity {
    StartColor limegreen
    EndColor darkblue
    BackgroundColor #d4de5e
    BorderColor #5e94de
    ArrowColor black
    fontSize 13
}
skinparam activityDiamond {
    BackgroundColor #5ede68
    BorderColor #5e94de
    fontSize 13
}

start
-> start;

repeat :retrieve;


'partition RAG {

:grade document;

if (decide_to_generate) then (yes)    
else (no)
  :websearch;
endif

'}

repeat :generate;

-> answer;

repeat while (halluciations?)

backward :rewrite;

repeat while (answers question?)

-> end;
stop
@enduml