| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- const { createEvaluationGraph } = require('./server/src/assessment/graph/builder');
- const { HumanMessage } = require('@langchain/core/messages');
- async function testGraph() {
- const graph = createEvaluationGraph();
- const config = {
- configurable: {
- thread_id: "test-session",
- model: {
- invoke: async (msgs) => {
- console.log("Mock Model Invoked with:", msgs[0].content);
- if (msgs[0].content.includes("考官")) {
- return { content: JSON.stringify({ score: 9, feedback: "Good job", should_follow_up: false }) };
- }
- if (msgs[0].content.includes("教育顾问")) {
- return { content: "LEVEL: Proficient\nThis is a test report." };
- }
- return { content: JSON.stringify([{ question_text: "Test Question?", key_points: ["A"], difficulty: "Medium", basis: "[1]..." }]) };
- }
- },
- knowledgeBaseContent: "This is test content.",
- language: "zh"
- }
- };
- console.log("--- Starting Session ---");
- let state = await graph.invoke({ messages: [new HumanMessage("Start")] }, config);
- console.log("Interviewer said:", state.messages[state.messages.length - 1].content);
- console.log("Questions length:", state.questions.length);
- console.log("Current Index:", state.currentQuestionIndex);
- console.log("\n--- Submitting Answer ---");
- state = await graph.invoke({ messages: [new HumanMessage("My answer")] }, config);
- console.log("Interviewer said:", state.messages[state.messages.length - 1].content);
- console.log("Current Index:", state.currentQuestionIndex);
- console.log("Report:", state.report);
- }
- // Note: This script needs the environment set up correctly to run.
- // Since I can't easily run it with all dependencies, I'll rely on manual analysis first.
|