varuneshv's picture
Initial commit
ec9c941
Raw
History Blame Contribute Delete
1.02 kB
from langgraph.graph import StateGraph, END
from graph.state import GraphState
from graph.retrieve import retrieve
from graph.grade_documents import grade_documents
from graph.rewrite_query import rewrite_query
from graph.web_search import web_search
from graph.generate import generate
workflow = StateGraph(GraphState)
workflow.add_node("retrieve", retrieve)
workflow.add_node("grade", grade_documents)
workflow.add_node("rewrite", rewrite_query)
workflow.add_node("web", web_search)
workflow.add_node("generate", generate)
workflow.set_entry_point("retrieve")
workflow.add_edge(
"retrieve",
"grade"
)
def route(state):
if state["route"] == "local":
return "generate"
return "rewrite"
workflow.add_conditional_edges(
"grade",
route,
{
"generate": "generate",
"rewrite": "rewrite"
}
)
workflow.add_edge(
"rewrite",
"web"
)
workflow.add_edge(
"web",
"generate"
)
workflow.add_edge(
"generate",
END
)
app = workflow.compile()