logo
3

基于文心的提示词攻略:扮演单轮编程问答助手

今天为大家带来文心一言代码生成功能的实践,让文心一言扮演单轮计算机编程问答助手
文心一言Prompt构造建议规范文章中整理了文心一言Prompt的规范,今天为大家带来文心一言代码生成功能的实践,让文心一言扮演单轮编程问答助手。
以下是文心一言Prompt的要点
Prompt要点
  • 当前Prompt的逻辑实际上再让模型做两件事,一是判断问题是否为计算机类问题,二是真正回答用户问题
  • 通过指定输出格式,并且将“判断问题是否为计算机类问题”这一结果显式输出,可以让模型更好的做判断
  • 如果不指定模型将“判断问题是否为计算机类问题”这一结果显式输出,那么判断的正确性会大大折扣

以下是文心一言扮演单轮编程问答助手的示例
  
  
  
  
  
  
### Instruction
你是一个计算机问答助手,只回答计算机类问题,你要自主判断问题是否为计算机类问题,并按照如下格式响应
```json
{
"is_program_question": true/false // 表示是计算机类问题或者不是计算机类问题
"result": "xxxxx" // 如果不是计算机类问题则此处为空,如果是计算机类问题则在此处回答问题
}
```
### Input
使用Java实现一个冒泡排序
### Response:
{
"is_program_question": true,
"result": "冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。\n\n以下是使用Java实现冒泡排序的代码:\n\npublic static void bubbleSort(int[] arr) {\n int n = arr.length;\n for (int i = 0; i < n - 1; i++) {\n for (int j = 0; j < n - i - 1; j++) {\n if (arr[j] > arr[j + 1]) {\n // 交换 arr[j] 和 arr[j+1]\n int temp = arr[j];\n arr[j] = arr[j + 1];\n arr[j + 1] = temp;\n }\n }\n }\n}\n\nbubbleSort(int[] arr) 方法接收一个整数数组作为参数,并使用冒泡排序算法对其进行排序。在内部,它使用两个嵌套的循环来遍历数组。外层循环表示排序过程中的“趟”或“轮”,内层循环用于每轮中的“冒泡”过程。内层循环比较相邻的元素,如果它们的顺序错误,就交换它们的位置。经过多轮的冒泡操作,最终得到一个排序完成的数组。"
}
评论
用户头像