feat: 增加 Agent Excel 批量测试

This commit is contained in:
2026-08-12 17:00:50 +08:00
parent c4231f268b
commit 3faecab6ac
26 changed files with 1327 additions and 6 deletions

View File

@@ -5,11 +5,12 @@ import { computed, nextTick, onMounted, reactive, ref, watch } from "vue";
import { api, streamDebugAgent } from "../services/api";
import type { AdminUser, AgentRuntimeConfig, KnowledgeItem, ModelItem, PromptDetail, PromptHistoryItem, TopicSessionRecord } from "../types/api";
import AgentGenerationParameters from "./AgentGenerationParameters.vue";
import AgentBatchTestPanel from "./AgentBatchTestPanel.vue";
import AgentResponseDepthControl from "./AgentResponseDepthControl.vue";
import AdminPagination from "./AdminPagination.vue";
import StreamingMarkdownMessage from "./StreamingMarkdownMessage.vue";
const props = defineProps<{ previewKnowledgeId?: number | null }>();
const props = withDefaults(defineProps<{ previewKnowledgeId?: number | null; canBatch?: boolean }>(), { canBatch: false });
const emit = defineEmits<{ consumedPreview: [] }>();
const loading = ref(false);
@@ -97,6 +98,19 @@ const selectedDebugTopicLabel = computed(() => {
const topic = debugTopics.value.find((item) => item.id === agentForm.topicSessionId);
return topic ? topic.title : `主题 #${agentForm.topicSessionId}`;
});
const batchConfig = computed(() => ({
promptContent: promptContent.value,
modelId: agentForm.modelId,
knowledgeIds: [...agentForm.knowledgeIds],
temperature: agentForm.temperature,
topP: agentForm.topP,
topK: agentForm.topK,
presencePenalty: agentForm.presencePenalty,
frequencyPenalty: agentForm.frequencyPenalty,
maxToken: agentForm.maxToken,
streamEnabled: agentForm.streamEnabled,
responseDepth: agentForm.responseDepth,
}));
onMounted(load);
@@ -481,7 +495,7 @@ function errorMessage(error: unknown, fallback: string) {
</div>
</div>
<section v-loading="loading" class="agent-workbench agent-workbench-v2">
<section v-loading="loading" class="agent-workbench agent-workbench-v2" :class="{ 'agent-batch-mode': activeConfigTab === 'batch' }">
<div class="agent-config-panel agent-control-panel">
<el-tabs v-model="activeConfigTab" class="agent-config-tabs">
<el-tab-pane label="主提示词" name="prompt">
@@ -651,6 +665,14 @@ function errorMessage(error: unknown, fallback: string) {
</el-form>
</el-tab-pane>
<el-tab-pane v-if="props.canBatch" label="批量测试" name="batch" lazy>
<AgentBatchTestPanel
:config="batchConfig"
:model-name="selectedModelName"
:knowledge-summary="selectedKnowledgeSummary"
/>
</el-tab-pane>
<el-tab-pane label="历史版本" name="history">
<div class="agent-section-intro"><div><h3>主提示词历史</h3><p>查看完整内容或恢复任意版本恢复操作会作为一个新版本记录</p></div></div>
<div v-loading="historyLoading" class="prompt-history-list">