-
+
+
+ 回答异常:
+
+
+
完成回答:
@@ -326,9 +343,15 @@ const getAIAnswer = async (content) => {
question: content,
});
+ debugger
+
if(response.data.type) {
- const {text,type,id,table_name=[]} = response.data;
+ const {text,type,id,table_name=[], states={}} = response.data;
messages.value[messages.value.length - 1].id = id;
+ // 处理思考过程
+ const thinkProcess = processThinkStates(states);
+ messages.value[messages.value.length - 1].thinkProcess = thinkProcess;
+
if(type==='text') {
messages.value[messages.value.length - 1].content = text;
messages.value[messages.value.length - 1].loading = false;
@@ -347,6 +370,10 @@ const getAIAnswer = async (content) => {
messages.value[messages.value.length - 1].software_name = arr[0]?.software_name || arr[0]['软件名称'];
}
}
+ } else if(type==='sql_error') {
+ messages.value[messages.value.length - 1].content = response.data.error;
+ messages.value[messages.value.length - 1].loading = false;
+ messages.value[messages.value.length - 1].type = 'error';
}
fetchFollowupQuestions(content,id)
} else {
@@ -378,6 +405,20 @@ const getAIAnswer = async (content) => {
}
};
+// 思考步骤定义
+const thinkStepsOrder = ['意图分析', 'sql有效性判断', 'sql执行'];
+// 处理思考状态
+const processThinkStates = (states) => {
+ debugger
+ return thinkStepsOrder.map(stepName => {
+ return {
+ name: stepName,
+ status: states[stepName] || 0 // 默认为0(失败)
+ };
+ });
+};
+
+
const viewHistoryRef = ref(null);
// 当前会话id
const CONV_ID = ref('');