107 lines
3.9 KiB
TypeScript
107 lines
3.9 KiB
TypeScript
|
|
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<string, string> = {
|
|||
|
|
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...`,
|
|||
|
|
}
|