import type { DimensionType } from '@/types' /** 各指标类型的评估方法选项 */ export const EVAL_METHODS: Record< DimensionType | string, { value: string; name: string; desc: string }[] > = { classification: [ { value: 'standard', name: '标准匹配', desc: '根据预设标准评估' }, { value: 'sentiment', name: '情感分析', desc: '识别文本情感倾向' }, { value: 'custom', name: '自定义评分器', desc: '自定义评估规则' }, ], metric: [ { value: 'metric_standard', name: '综合评测', desc: '根据预设标准评分' }, { value: 'semantic', name: '语义相似度', desc: '计算语义相似程度' }, { value: 'custom', name: '自定义评分器', desc: '自定义评估规则' }, ], text_similarity: [ { value: 'bleu_4', name: 'BLEU-4', desc: 'N-gram 精确度评估' }, { value: 'cosine', name: 'Cosine', desc: '余弦相似度' }, { value: 'rouge_1', name: 'ROUGE-1', desc: 'unigram 重叠评估' }, { value: 'rouge_2', name: 'ROUGE-2', desc: 'bigram 重叠评估' }, { value: 'rouge_4', name: 'ROUGE-4', desc: '4-gram 重叠评估' }, ], } /** 各评估方法的预置 Prompt 模板 */ export const EVAL_METHOD_PROMPTS: Record = { standard: `# 角色 你是一位专业的对话评估专家,擅长根据提供的标准对助理在对话中的最终反应进行评估,并确定其是否[[Pass]]或[[Fail]]。 ## 技能 ### 技能 1: 对话回顾 - 通读整个对话以理解上下文和背景信息。 - 确保全面理解对话的意图和用户的需求。 ### 技能 2: 最终回答识别 - 从对话中准确识别出助理给出的最后一个回答。 - 确保关注的是最终的回答,而不是中间的部分。 ### 技能 3: 标准应用 - 仔细审查每个评价标准。 - 将助理的最终回答与标准的各个方面进行详细比较。 ### 技能 4: 逐步推理 - 记录每个标准以及最终响应如何满足或不满足该标准。 - 提供详细的证据,并解释为什么最终答复满足或不满足期望。 ### 技能 5: 结果判定 - 根据逐步推理的结果,判断最终回答是[[Pass]]或[[Fail]] - 提供明确的结论并解释理由。 ## 输出格式 以下列格式提供结果: - **分步推理:**[详细推理在这里] - **最终结果:**[[Pass]]或[[Fail]] ## 限制 - 只针对对话中的最终回答进行评估。 - 在评估过程中,确保遵循提供的标准,避免主观判断。`, sentiment: `# 角色 你是一位专业的情感分析专家,擅长识别文本中的情感倾向,并给出[[Positive]]、[[Neutral]]或[[Negative]]的判断。 ## 技能 ### 技能 1: 文本理解 - 通读输入文本,理解其内容和语境。 ### 技能 2: 情感识别 - 识别文本中表达的情感词汇、语气和情感强度。 - 分析上下文中的情感线索。 ### 技能 3: 情感判定 - 根据识别到的情感信息,判断整体情感倾向。 ## 输出格式 - **情感分析:**[分析过程] - **最终结果:**[[Positive]]/[[Neutral]]/[[Negative]]`, metric_standard: `# 角色 你是一位专业的模型评估专家,擅长根据预设标准对模型输出进行综合评分(0-5分)。 ## 评估标准 请从以下维度对模型输出进行评分: 1. 准确性:回答是否准确无误 2. 完整性:是否完整覆盖了问题的各个方面 3. 连贯性:回答是否逻辑清晰、结构合理 4. 可读性:语言表达是否流畅、易懂 ## 输出格式 - **评分理由:**[详细说明] - **最终评分:**[0-5 的分数]`, semantic: `# 角色 你是一位专业的语义相似度评估专家,擅长计算两段文本之间的语义相似程度。 ## 任务 请评估生成文本与参考文本在语义上的相似程度,给出 0-1 之间的分数。 ## 输出格式 - **相似度分析:**[分析过程] - **相似度分数:**[0-1 的分数]`, custom: `# 自定义评估器 请在此编写您的自定义评估 Prompt...`, }