sunsheng e0b28d0ac4 新增vip用户 3 months ago
..
README.md fa762d3d1c 优化 按钮样式 btn-cancel btn-back ant-btn-primary 3 months ago
index.tsx e0b28d0ac4 新增vip用户 3 months ago
promptTemplates.ts fa762d3d1c 优化 按钮样式 btn-cancel btn-back ant-btn-primary 3 months ago
store.ts e0b28d0ac4 新增vip用户 3 months ago
style.less 3084fff4e2 新增新增VIP用户 3 months ago
types.ts 3084fff4e2 新增新增VIP用户 3 months ago

README.md

提示词模板配置系统

概述

这个配置系统用于管理问答应用中的提示词模板,避免在代码中硬编码长文本,提高代码的可维护性和可扩展性。

文件结构

src/pages/deepseek/questionAnswer/info/
├── promptTemplates.ts    # 提示词模板配置文件
├── index.tsx            # 主组件文件
└── README.md           # 说明文档

使用方法

1. 基本使用

import { DEFAULT_PROMPT_TEMPLATE, getPromptTemplate } from './promptTemplates';

// 使用默认模板
const defaultPrompt = DEFAULT_PROMPT_TEMPLATE;

// 使用特定模板
const chatPrompt = getPromptTemplate('CHAT_ASSISTANT');

2. 在组件中使用

import { DEFAULT_PROMPT_TEMPLATE } from './promptTemplates';

// 在FormItem中使用
<FormItem 
  name='prompt'
  initialValue={DEFAULT_PROMPT_TEMPLATE}
  rules={[{ required: true, message: '提示词不能为空' }]}
>
  <TextArea placeholder="提示词" rows={50} />
</FormItem>

3. 添加新的提示词模板

promptTemplates.ts 中添加新的模板:

export const PROMPT_TEMPLATES = {
  // 现有模板...
  
  // 新增模板
  CUSTOM_ASSISTANT: `你是一个自定义助手,请根据以下要求提供服务:

用户需求: {{用户}}
参考文档: {{知识}}

请按照要求完成任务。`
};

4. 验证和格式化

import { 
  validatePromptTemplate, 
  formatPromptTemplate 
} from './promptTemplates';

// 验证模板是否包含必要占位符
const isValid = validatePromptTemplate(template);

// 格式化模板(替换占位符)
const formattedPrompt = formatPromptTemplate(
  template, 
  '知识库内容', 
  '用户输入'
);

模板类型

类型 描述 用途
KNOWLEDGE_RETRIEVAL_ASSISTANT 知识检索助手 基于知识库内容回答问题
CHAT_ASSISTANT 聊天助手 提供友好的对话服务
DOCUMENT_SUMMARY 文档总结 提取文档关键信息
CODE_ASSISTANT 代码助手 提供代码解决方案
TRANSLATION_ASSISTANT 翻译助手 多语言翻译服务

占位符说明

  • {{知识}}: 知识库内容占位符
  • {{用户}}: 用户输入占位符

最佳实践

  1. 保持模板简洁: 避免在模板中包含过多的逻辑判断
  2. 使用占位符: 统一使用 {{知识}}{{用户}} 占位符
  3. 添加描述: 为每个模板添加清晰的描述
  4. 验证模板: 使用 validatePromptTemplate 验证模板格式
  5. 版本控制: 对模板的修改进行版本控制

扩展功能

动态模板选择

可以添加一个下拉选择器让用户选择不同的提示词模板:

import { 
  getAvailableTemplateTypes, 
  PROMPT_TEMPLATE_DESCRIPTIONS 
} from './promptTemplates';

const templateTypes = getAvailableTemplateTypes();

<Select 
  placeholder="选择提示词模板"
  onChange={(value) => setSelectedTemplate(value)}
>
  {templateTypes.map(type => (
    <Option key={type} value={type}>
      {PROMPT_TEMPLATE_DESCRIPTIONS[type]}
    </Option>
  ))}
</Select>

模板预览

可以添加模板预览功能,让用户在应用前查看模板内容。

注意事项

  1. 修改模板后需要重新测试应用功能
  2. 确保所有模板都包含必要的占位符
  3. 保持模板的向后兼容性
  4. 定期审查和更新模板内容