INNER CODE UNIT · Python

build_graph

mfmezger/conversational-agent-langchain · src/agent/backend/graph.py:61

    def build_graph(self) -> StateGraph:
        """Build the graph for the agent."""
        workflow = StateGraph(state_schema=AgentState)

        # define nodes
        workflow.add_node("retriever", functools.partial(retrieve_documents, cfg=self.cfg))
        workflow.add_node("retriever_with_chat_history", functools.partial(retrieve_documents_with_chat_history, cfg=self.cfg, llm=self.llm))
        workflow.add_node("reranker", functools.partial(rerank_documents, reranker=self.reranker))
        workflow.add_node("rewrite_query", functools.partial(rewrite_query, llm=self.llm))
        workflow.add_node("response_synthesizer", functools.partial(generate_response_default, llm=self.llm))
        workflow.add_node("response_synthesizer_cohere", functools.partial(generate_response_cohere, llm=self.llm, cohere_llm=self.cohere_llm))

        # set entry point to retrievers
        workflow.set_conditional_entry_point(path=self.route_to_retriever)

        # connect retrievers to reranker
        workflow.add_edge("retriever", "reranker")
        workflow.add_edge("retriever_with_chat_history", "reranker")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…