Download workflow.py from MoBkr/dosemate: direct link, hf CLI and curl.
- Browser
- Download file 1.26 kB
-
https://huggingface.co/spaces/MoBkr/dosemate/resolve/main/workflow.py
- Command line
-
hf download hf://spaces/MoBkr/dosemate/workflow.py
-
curl -L -o workflow.py https://huggingface.co/spaces/MoBkr/dosemate/resolve/main/workflow.py
1.26 kB
| from agents import * | |
| from state import State | |
| from langgraph.graph import StateGraph , START , END | |
| from langsmith import traceable | |
| class Workflow: | |
| def __init__(self): | |
| self.check_input = check_input_type | |
| self.vision = vision_agent | |
| self.rewrite = rewritten_query_agent | |
| self.retrieve = retriever_agent | |
| self.respond = response_agent | |
| def build_graph(self): | |
| graph = StateGraph(State) | |
| # nodes | |
| graph.add_node("vision_agent", self.vision) | |
| graph.add_node("rewrite_query", self.rewrite) | |
| graph.add_node("retrieve_documents", self.retrieve) | |
| graph.add_node("generate_response", self.respond) | |
| graph.add_conditional_edges( | |
| START, | |
| self.check_input, | |
| {"image": "vision_agent", "text": "rewrite_query"} ) | |
| # edges | |
| graph.add_edge("vision_agent", "retrieve_documents") | |
| graph.add_edge("rewrite_query", "retrieve_documents") | |
| graph.add_edge("retrieve_documents", "generate_response") | |
| graph.add_edge("generate_response", END) | |
| return graph.compile() | |
| def run(self, initial_state: State): | |
| graph = self.build_graph() | |
| result = graph.invoke(initial_state) | |
| return result |