1.Prompt介绍
Prompt 是 GPT 系列语言模型中的一个特性,它可以通过提供一些指令或者例子来“命令”模型,让它完成各种不同的自然语言处理任务,例如生成内容或代码、文本摘要、对话、创意写作、风格转换等。通过设计合适的 Prompt,我们可以让模型更好地理解我们的任务需求,并生成符合我们要求的结果。简单来说,Prompt 是用来指导模型生成文本的一种方式,可以看做是模型的输入。
说明:在调用OpenAI的API,核心就是通过Prompt描述自己的需求或者问题,然后调用AI接口回答问题。
2.Prompt例子
2.1.生成SQL
Prompt提示语:
# 生成一个查询所有订单信息的 SQL 语句。
# MYSQL数据表名:orders,查询条件:状态为"已发货"。
SQL:
ChatGPT返回:
SELECT * FROM orders WHERE status='已发货';
2.2.生成Go代码
Prompt提示语:
## 生成Go代码,要求如下:
1、函数签名: OpenAiTask(prompt string) string
2、函数功能要求:调用OpenAi completions接口,执行prompt查询
## 下面是生成的Go代码
ChatGPT返回:
package main
import (
"bytes"
"encoding/json"
"io/ioutil"
"net/http"
"strings"
)
func OpenAiTask(prompt string) string {
url := "https://api.openai.com/v1/completions"
data := `{"prompt": "` + prompt + `", "max_tokens": 1024, "n": 1, "stop": ".", "model": "text-davinci-002", "temperature": 0.7}`
req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(data)))
if err != nil {
return "Error: " + err.Error()
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return "Error: " + err.Error()
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return "Error: " + err.Error()
}
var result map[string]interface{}
err = json.Unmarshal(body, &result)
if err != nil {
return "Error: " + err.Error()
}
choices, ok := result["choices"].([]interface{})
if !ok || len(choices) == 0 {
return "Error: empty response from API"
}
text, ok := choices[0].(map[string]interface{})["text"].(string)
if !ok {
return "Error: invalid response format from API"
}
return strings.TrimSpace(text)
}
3.Prompt提示语设计
明确任务需求
在编写 Prompt 提示语时,要明确任务的具体需求,包括任务的类型、目标和输入输出等。
使用简明易懂的语言
Prompt 提示语应该使用简明易懂的语言,避免使用过于专业化或复杂的术语和概念,让模型能够更好地理解和处理。
提供足够的信息
Prompt 提示语需要提供足够的高质量信息,以帮助模型更好地理解和学习任务的相关知识和技能。
说明:在跟GPT模型对话过程,需要先给GPT输入一定数量的背景信息,提高GPT模型回答问题的质量。
使用具有代表性的示例
Prompt 提示语应该包含具有代表性的示例,以帮助模型更好地理解任务需求和数据特征,提高模型的准确性和效率。
说明:如果你希望GPT根据你指定的格式,回答问题,例如:以markdown格式返回、以表格方式返回等,需要先给一个返回格式例子,让GPT根据指定格式返回。
制定明确的标签和类别
Prompt 提示语需要制定明确的标签和类别,以便模型能够更好地对数据进行分类和分析。
避免模糊或歧义的语言
Prompt 提示语需要避免使用模糊或歧义的语言,以免让模型产生混淆或错误的理解和判断。
提示:Prompt提示语设计核心就是自己需要先把问题描述清楚,。