支持自定义prompt

建议添加一个新特性支持自定义prompt,当前生成注释默认只支持中文,我想生成英文注释需要自己手动在AI chat中添加eng prompt去生成,比较麻烦。

展开
收起
游客ay2gj5uenzgd2 2024-04-14 10:47:17 116 分享 版权
阿里云 AI 助理回答

为了支持生成英文注释的需求,建议通过新增自定义Prompt功能来实现这一目标。以下是具体的解决方案和实施步骤:


1. 新增自定义Prompt功能

通过引入自定义Prompt功能,用户可以灵活定义生成内容的语言、格式和风格,从而避免手动在AI Chat中添加eng prompt的繁琐操作。

功能设计要点:

  • 语言支持:允许用户指定生成内容的语言(如中文或英文)。
  • 模板灵活性:支持用户自定义Prompt模板,例如指定生成英文注释的规则。
  • 参数化配置:提供可配置的参数(如语气、详细程度等),以满足不同场景需求。

2. 实现步骤

2.1 配置自定义Prompt参数

根据知识库中的资料,可以通过以下参数实现自定义Prompt功能: - CustomPromptEnabled:启用自定义Prompt功能,默认值为false。 - CustomPrompt.Contents:定义自定义Prompt的具体内容,包括名称、模型选择、Prompt文本等。

示例配置如下:

{
  "CustomPromptEnabled": true,
  "CustomPrompt": {
    "Contents": [
      {
        "Name": "english-comment",
        "Model": "tingwu-turbo",
        "Prompt": "Generate English comments for the following code:\n {CodeSnippet}",
        "TransType": "default"
      }
    ]
  }
}

2.2 定义Prompt模板

在Prompt模板中,使用占位符(如{CodeSnippet})动态替换输入内容。例如: - 输入代码片段后,Prompt会自动替换占位符并生成对应的英文注释。

示例Prompt模板:

"Generate English comments for the following code:\n {CodeSnippet}"

2.3 调用API接口

通过调用通义听悟的API接口,将自定义Prompt配置传递给后端服务。以下是Python代码示例:

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

def create_custom_prompt_request():
    # 初始化客户端
    credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'])
    client = AcsClient(region_id='cn-beijing', credential=credentials)
    
    # 创建请求
    request = CommonRequest()
    request.set_accept_format('json')
    request.set_domain('tingwu.cn-beijing.aliyuncs.com')
    request.set_version('2023-09-30')
    request.set_protocol_type('https')
    request.set_method('PUT')
    request.set_uri_pattern('/openapi/tingwu/v2/tasks')
    
    # 自定义Prompt参数
    body = {
        "AppKey": "输入您在听悟管控台创建的Appkey",
        "Input": {
            "SourceLanguage": "en",
            "TaskKey": "task" + datetime.datetime.now().strftime('%Y%m%d%H%M%S'),
            "FileUrl": "输入待测试的音频url链接"
        },
        "Parameters": {
            "CustomPromptEnabled": True,
            "CustomPrompt": {
                "Contents": [
                    {
                        "Name": "english-comment",
                        "Prompt": "Generate English comments for the following code:\n {CodeSnippet}",
                        "Model": "tingwu-turbo",
                        "TransType": "default"
                    }
                ]
            }
        }
    }
    
    # 发送请求
    request.set_content(json.dumps(body).encode('utf-8'))
    response = client.do_action_with_exception(request)
    print("Response: \n" + json.dumps(json.loads(response), indent=4, ensure_ascii=False))

create_custom_prompt_request()

3. 优化用户体验

为了进一步提升用户体验,可以考虑以下优化措施: - 多语言支持:在Prompt模板中增加语言参数(如language=en),方便用户快速切换生成内容的语言。 - 预设模板:提供常用的Prompt模板(如生成英文注释、总结对话内容等),减少用户配置的工作量。 - 实时预览:在前端界面中增加实时预览功能,用户可以即时查看生成结果并调整Prompt内容。


4. 注意事项

  • Prompt长度限制:单次提交的Prompt内容列表最大长度为3,请确保配置不超过此限制。
  • 模型选择:根据任务复杂度选择合适的模型(如tingwu-turbo适用于简单任务,qwen-max适用于复杂任务)。
  • 变量替换:确保Prompt模板中的占位符(如{CodeSnippet})与实际输入内容匹配,否则可能导致生成失败。

通过上述方案,您可以轻松实现生成英文注释的功能,同时提升系统的灵活性和用户体验。如果需要进一步的技术支持或详细文档,请随时联系阿里云团队。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

基于通义大模型的 AI 编码辅助工具,支持代码智能生成、单元测试生成、问题排查、研发智能问答等功能,为开发者带来高效、流畅的编码体验。

还有其他疑问?
咨询AI助理