建议添加一个新特性支持自定义prompt,当前生成注释默认只支持中文,我想生成英文注释需要自己手动在AI chat中添加eng prompt去生成,比较麻烦。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
为了支持生成英文注释的需求,建议通过新增自定义Prompt功能来实现这一目标。以下是具体的解决方案和实施步骤:
通过引入自定义Prompt功能,用户可以灵活定义生成内容的语言、格式和风格,从而避免手动在AI Chat中添加eng 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"
}
]
}
}
在Prompt模板中,使用占位符(如{CodeSnippet}
)动态替换输入内容。例如: - 输入代码片段后,Prompt会自动替换占位符并生成对应的英文注释。
示例Prompt模板:
"Generate English comments for the following code:\n {CodeSnippet}"
通过调用通义听悟的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()
为了进一步提升用户体验,可以考虑以下优化措施: - 多语言支持:在Prompt模板中增加语言参数(如language=en
),方便用户快速切换生成内容的语言。 - 预设模板:提供常用的Prompt模板(如生成英文注释、总结对话内容等),减少用户配置的工作量。 - 实时预览:在前端界面中增加实时预览功能,用户可以即时查看生成结果并调整Prompt内容。
tingwu-turbo
适用于简单任务,qwen-max
适用于复杂任务)。{CodeSnippet}
)与实际输入内容匹配,否则可能导致生成失败。通过上述方案,您可以轻松实现生成英文注释的功能,同时提升系统的灵活性和用户体验。如果需要进一步的技术支持或详细文档,请随时联系阿里云团队。