Refactor example retreiving, add option for dynamic data. Add hybrid reranking to tooling. Add parsing and loop infrastructure for trigger event processing
This commit is contained in:
@@ -1,9 +1,22 @@
|
||||
import { GraphNode } from "@langchain/langgraph";
|
||||
import { MessagesState } from "../state";
|
||||
import { HumanMessage } from "@langchain/core/messages";
|
||||
import { MessagesState, ProposedTriggerEventArray } from "../state";
|
||||
import { logger } from "../utils/logger";
|
||||
|
||||
export const verificationSetup: GraphNode<typeof MessagesState> = async (state) => {
|
||||
//TODO: this might not be needed, looks nice on the graph tho
|
||||
|
||||
return { messages: [ new HumanMessage(state.messages.at(-1)?.content ?? "undefined")] };
|
||||
//this is kinda doing two things, but having two nodes for it seems overkill
|
||||
console.log(state.proposedTriggerEvent)
|
||||
console.log(state.proposedTriggerEventIndex)
|
||||
if (state.proposedTriggerEvent == undefined) {
|
||||
logger.warn("No trigger events in memory, parsing")
|
||||
|
||||
let genResponse = state.messages.at(-1)?.content.toString() ?? "";
|
||||
const parsed = ProposedTriggerEventArray.parse(JSON.parse(genResponse));
|
||||
|
||||
return { proposedTriggerEvent: parsed, proposedTriggerEventIndex: 0 };
|
||||
}
|
||||
else {
|
||||
logger.info("Trigger event index %s", state.proposedTriggerEventIndex+1)
|
||||
|
||||
return { proposedTriggerEvent: state.proposedTriggerEvent, proposedTriggerEventIndex: state.proposedTriggerEventIndex+1 };
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user