Implement ensemble into final model structure

This commit is contained in:
William Jeynes
2026-03-24 19:07:24 +00:00
parent 624d45bc53
commit 8f939d54c4
9 changed files with 71 additions and 347 deletions
+15 -18
View File
@@ -1,39 +1,36 @@
import { END, START, StateGraph } from "@langchain/langgraph";
import { MessagesState } from "./state";
import { verificationSetup } from "./nodes/verificationSetup";
import { ragasMetrics } from "./nodes/ragasMetrics";
import { produceRanking } from "./nodes/produceRanking";
import { createModelNode } from "./nodes/model";
import { loopEndConditional } from "./conditionals/loop_end";
import { sort } from "./nodes/sort";
import { robertaMetrics } from "./nodes/robertaMetrics";
import { createEnsembleNode } from "./nodes/ensembleNode";
const verificationModel = createModelNode([], "verify.txt");
const relationModel = createModelNode([], "relation.txt");
const roNode = createEnsembleNode("ROBERTA", "roberta");
const flNode = createEnsembleNode("FLAN", "flan");
const lrNode = createEnsembleNode("REGRESSION", "logreg");
const agent = new StateGraph(MessagesState)
//NODES
.addNode(verificationSetup.name, verificationSetup)
// .addNode("verificationModel", verificationModel)
// .addNode(ragasMetrics.name, ragasMetrics)
.addNode(robertaMetrics.name, robertaMetrics)
// .addNode("relationModel", relationModel)
.addNode("roNode", roNode)
.addNode("flNode", flNode)
.addNode("lrNode", lrNode)
.addNode(produceRanking.name, produceRanking)
.addNode(sort.name, sort)
.addEdge(START, verificationSetup.name)
// .addEdge(verificationSetup.name, "verificationModel")
// .addEdge(verificationSetup.name, ragasMetrics.name)
.addEdge(verificationSetup.name, robertaMetrics.name)
// .addEdge(verificationSetup.name, "relationModel")
// .addEdge(ragasMetrics.name, produceRanking.name)
.addEdge(robertaMetrics.name, produceRanking.name)
// .addEdge("verificationModel", produceRanking.name)
// .addEdge("relationModel", produceRanking.name)
.addEdge(verificationSetup.name, "roNode")
.addEdge(verificationSetup.name, "flNode")
.addEdge(verificationSetup.name, "lrNode")
.addEdge("roNode", produceRanking.name)
.addEdge("flNode", produceRanking.name)
.addEdge("lrNode", produceRanking.name)
// @ts-expect-error
.addConditionalEdges(produceRanking.name, loopEndConditional, [verificationSetup.name, sort.name])