create final nodes

This commit is contained in:
William Jeynes
2026-01-28 22:03:21 +00:00
parent c6416622e4
commit a1373da891
8 changed files with 82 additions and 64 deletions
+40 -12
View File
@@ -1,30 +1,58 @@
import { END, START, StateGraph } from "@langchain/langgraph";
import { MessagesState } from "./state";
import { toolNode } from "./nodes/tool";
import { createToolNode } from "./nodes/tool";
import { createToolConditional } from "./conditionals/tool_end";
import { normalizationSetup } from "./nodes/normalizationSetup";
import { dummyNormalisationModel } from "./nodes/dummyNormalisationModel";
import { dummyTriggerEventModel } from "./nodes/dummyTriggerEventModel";
import { arithmeticToolsByName } from "./tools/arithmetic"
import { createDummyModelNode } from "./nodes/dummyModel";
import { verificationSetup } from "./nodes/verificationSetup";
import { dummyRagasMetrics } from "./nodes/dummyRagasMetrics";
import { produceRanking } from "./nodes/produceRanking";
const triggerEventToolNode = createToolNode(arithmeticToolsByName);
const verificationToolNode = createToolNode(arithmeticToolsByName);
const dummyTriggerEventModel = createDummyModelNode("Trigger Events of");
const dummyNormalisationModel = createDummyModelNode("Normalised");
const dummyVerificationModel = createDummyModelNode("verification of");
const triggerEventToolConditional = createToolConditional("triggerEventToolNode", verificationSetup.name);
const verificationToolConditional = createToolConditional("verificationToolNode", produceRanking.name);
const triggerEventToolConditional = createToolConditional(toolNode.name, END)
const agent = new StateGraph(MessagesState)
//NODES
.addNode("toolNode", toolNode)
.addNode(normalizationSetup.name, normalizationSetup)
.addNode(dummyNormalisationModel.name, dummyNormalisationModel)
.addNode(dummyTriggerEventModel.name, dummyTriggerEventModel)
.addNode("dummyNormalisationModel", dummyNormalisationModel)
.addNode("triggerEventToolNode", triggerEventToolNode)
.addNode("dummyTriggerEventModel", dummyTriggerEventModel)
.addNode(verificationSetup.name, verificationSetup)
.addNode("dummyVerificationModel", dummyVerificationModel)
.addNode(dummyRagasMetrics.name, dummyRagasMetrics)
.addNode("verificationToolNode", verificationToolNode)
.addNode(produceRanking.name, produceRanking)
.addEdge(START, normalizationSetup.name)
.addEdge(normalizationSetup.name, dummyNormalisationModel.name)
.addEdge(dummyNormalisationModel.name, dummyTriggerEventModel.name)
.addEdge(normalizationSetup.name, "dummyNormalisationModel")
.addEdge("dummyNormalisationModel", "dummyTriggerEventModel")
// @ts-expect-error
.addConditionalEdges(dummyTriggerEventModel.name, triggerEventToolConditional, [toolNode.name, END])
.addConditionalEdges("dummyTriggerEventModel", triggerEventToolConditional, ["triggerEventToolNode", verificationSetup.name])
.addEdge("triggerEventToolNode", "dummyTriggerEventModel")
.addEdge(toolNode.name, dummyTriggerEventModel.name)
.addEdge(verificationSetup.name, "dummyVerificationModel")
.addEdge(verificationSetup.name, dummyRagasMetrics.name)
// @ts-expect-error
.addConditionalEdges("dummyVerificationModel", verificationToolConditional, ["verificationToolNode", produceRanking.name])
.addEdge("verificationToolNode", "dummyVerificationModel")
.addEdge(dummyTriggerEventModel.name, END)
.addEdge(dummyRagasMetrics.name, produceRanking.name)
.compile();
export {agent}