可信代码库-AI大模型思考过程接口改造及对接

This commit is contained in:
付民康
2025-06-25 14:59:13 +08:00
parent dbcf9db3d4
commit f862015171

View File

@@ -20,7 +20,15 @@
<i v-if="step.status === 1" style="font-size: 16px;margin-right: 8px" class="icon icon-right"></i>
<i v-else style="font-size: 16px;margin-right: 8px" class="icon icon-right"></i>
<span class="step-name span1">{{ step.name }}</span>
<span style="margin-left: 8px" :class="['step-status', step.status === 1 ? 'green' : 'red']">{{ step.status === 1 ? '成功' : '失败' }}</span>
<span v-if="step.status === 1 || step.status === '成功'" style="margin-left: 8px" class="step-status green">成功</span>
<span v-else-if="step.status === 0 || step.status === '失败'" style="margin-left: 8px" class="step-status red">失败</span>
<span v-else style="margin-left: 8px" class="step-status">{{ step.status }}</span>
</div>
<div v-for="(item, index) in msg.steps" :key="index" class="think-step flex align-center" style="margin-left: 24px">
<span class="step-name span1">{{ item.name }}</span>
<span v-if="item.status === 1 || item.status === '成功'" style="margin-left: 8px" class="step-status green">成功</span>
<span v-else-if="item.status === 0 || item.status === '失败'" style="margin-left: 8px" class="step-status red">失败</span>
<span v-else style="margin-left: 8px" class="step-status">{{ item.status }}</span>
</div>
</div>
</div>
@@ -355,8 +363,9 @@ const getAIAnswer = async (content) => {
const {text,type,id,table_name=[], states={}} = row;
messages.value[messages.value.length - 1].id = id;
// 处理思考过程
const thinkProcess = processThinkStates(states);
const { thinkProcess,steps } = processThinkStates(states);
messages.value[messages.value.length - 1].thinkProcess = thinkProcess;
messages.value[messages.value.length - 1].steps = steps;
messages.value[messages.value.length - 1].thinkExpanded = true;
if(type==='text') {
@@ -417,12 +426,34 @@ const thinkStepsOrder = ['意图分析', 'sql有效性判断', 'sql执行'];
// 处理思考状态
const processThinkStates = (states) => {
debugger
return thinkStepsOrder.map(stepName => {
return {
name: stepName,
status: states[stepName] || 0 // 默认为0(失败)
};
});
let arr = [];
let steps = []
let arStates = {...states}
// if(arStates.steps) {
// Object.keys(arStates.steps).map(i=>{
// arr.push({
// name: i,
// status: arStates.steps[i]
// })
// })
// delete arStates.steps
// }
Object.keys(arStates).map(i=>{
if(i==='steps') {
Object.keys(arStates[i]).map(j=>{
steps.push({
name: j,
status: arStates[i][j]
})
})
} else {
arr.push({
name: i,
status: arStates[i]
})
}
})
return {thinkProcess:arr,steps}
};