新增模型会话开关功能和Token映射字段
- 在模型模块中添加更新会话模型状态的API,支持会话模型的管理。 - 更新模型选择器,保存模型的表单数据和响应体,提升用户体验。 - 在编辑模块中新增Token映射字段,增强模型配置的灵活性。 - 优化会话模型开关的逻辑,确保状态切换后能正确更新列表数据。
This commit is contained in:
@@ -742,6 +742,7 @@ const workflowDsl = computed(() => ({
|
||||
inputSource: n.properties?.inputSource || null,
|
||||
formConfig: n.properties?.formConfig || null,
|
||||
modelConfig: n.properties?.modelConfig || null,
|
||||
modelResponse: n.properties?.modelResponse || null,
|
||||
outputResult: null,
|
||||
})),
|
||||
edges: flowDsl.value.edges.map((e) => ({
|
||||
@@ -884,7 +885,12 @@ const handleRemoveSkill = () => {
|
||||
// 处理模型选择确认(只更新临时状态,不保存到节点)
|
||||
const handleModelConfirm = (model: any) => {
|
||||
selectedModel.value = model.modelName;
|
||||
selectedModelData.value = model;
|
||||
selectedModelData.value = {
|
||||
...model,
|
||||
// 保存模型的 form 和 responseBody,用于后续保存到节点
|
||||
modelFormData: model.form || [],
|
||||
responseBody: model.responseMapping || model.responseBody || {},
|
||||
};
|
||||
};
|
||||
// 移除已选择的模型(只更新临时状态)
|
||||
const handleRemoveModel = () => {
|
||||
@@ -1707,35 +1713,29 @@ const applySelected = () => {
|
||||
|
||||
// 保存选中的模型和模型相关配置
|
||||
if (selectedModel.value) {
|
||||
// 获取当前模型的表单字段
|
||||
const currentModelFields = currentModelForm.value;
|
||||
const modelForm: Array<any> = [];
|
||||
|
||||
// 保存模型相关的字段配置和值
|
||||
currentModelFields.forEach((fieldItem) => {
|
||||
const value = dynamicFormValues[fieldItem.field];
|
||||
modelForm.push({
|
||||
type: fieldItem.type,
|
||||
field: fieldItem.field,
|
||||
label: fieldItem.label,
|
||||
value: value !== undefined && value !== null ? value : fieldItem.default || '',
|
||||
required: fieldItem.required || false,
|
||||
});
|
||||
});
|
||||
// 从 selectedModelData 中获取模型的 form 数据
|
||||
const modelFormFromData = selectedModelData.value?.modelFormData || selectedModelData.value?.form || [];
|
||||
|
||||
// 保存到 modelConfig
|
||||
p.modelConfig = {
|
||||
modelName: selectedModel.value,
|
||||
modelApiKey: dynamicFormValues.modelApiKey || '',
|
||||
modelForm: modelForm,
|
||||
modelForm: modelFormFromData, // 使用模型列表数据里的 form
|
||||
};
|
||||
|
||||
// 保存模型的 responseBody 到 modelResponse(与 modelConfig 平级)
|
||||
const responseBody = selectedModelData.value?.responseBody || selectedModelData.value?.responseMapping || {};
|
||||
if (Object.keys(responseBody).length > 0) {
|
||||
p.modelResponse = responseBody;
|
||||
}
|
||||
|
||||
// 保存模型选择状态
|
||||
p.selectedModel = selectedModel.value;
|
||||
p.modelData = selectedModelData.value;
|
||||
} else {
|
||||
// 如果没有选择模型,删除 modelConfig 和模型状态
|
||||
// 如果没有选择模型,删除 modelConfig、modelResponse 和模型状态
|
||||
delete p.modelConfig;
|
||||
delete p.modelResponse;
|
||||
delete p.selectedModel;
|
||||
delete p.modelData;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user