全網最詳細中英文ChatGPT-GPT-4示例文件-官網推薦的48種最佳應用場景——從0到1快速入門自然語言轉換SQL查詢語句應用(附python/node.js/curl命令原始碼,小白也能學)

虎嘯AI發表於2023-03-22

image

ChatGPT是目前最先進的AI聊天機器人,它能夠理解圖片和文字,生成流暢和有趣的回答。如果你想跟上AI時代的潮流,你一定要學會使用ChatGPT。如果你想了解OpenAI最新發布的GPT-4模型,以及它如何為ChatGPT聊天機器人帶來更強大的功能,那麼你一定不要錯過OpenAI官網推薦的48種最佳應用場景,不管你是資深開發者、初學者,你都能夠從0到1快速入門,並掌握他們。

在這個AI大時代,如果不想被人顛覆,就要先顛覆別人。如果你顛覆不了別人,那你就努力運用ChatGPT提高你的技術水平和創造力。

使用ChatGPT可以幫助開發人員快速構建複雜的SQL查詢,而無需手動編寫SQL程式碼。ChatGPT可以將自然語言轉換為SQL查詢語句,並且可以根據使用者的要求進行定製化。ChatGPT可以幫助開發人員更快地完成SQL查詢,減少了編寫SQL程式碼的時間,提高了工作效率。

Introduce 簡介

Translate natural language to SQL queries.
將自然語言轉換為SQL查詢語句。

setting 設定

Engine:code-davinci-002
Max tokens:150
Temperature:0
Top p:1.0
Frequency penalty:0.0
Presence penalty:0.0
Stop sequence:# ;

說明:
0、Engine 設定定義了你要使用的模型,例如code-davinci-002是一個程式碼生成模型,特別擅長將自然語言翻譯成程式碼,除了完成程式碼生成外,還支援在程式碼中進行程式碼補全。
1、Max tokens是指在請求中最多允許返回的 token 數目,比如你可以指定 chatGPT 返回最多 150個 token。這可以幫助你控制輸出的內容大小,以便更好地控制響應速度和結果。一般1個token約4個字元或者0.75個單詞
2、Temperature 是一個引數,用於控制 chatGPT 的輸出。它決定了 chatGPT 在生成文字時會多麼“隨意”。值越高,chatGPT 生成的文字就越不可預測;值越低,chatGPT 生成的文字就越可預測。它在0.0到2.0之間,Temperature設定為0意味著ChatGPT將會生成更加保守的回覆,即更少的隨機性和更多的準確性,這可以幫助你在聊天中更好地控制語義,並且可以防止ChatGPT產生不相關的內容。通常建議更改此值或 Top P,但不要同時更改這兩個值。
3、Top p 是隨溫度取樣的替代方案,稱為核取樣,其中模型考慮具有top_p機率質量的標記的結果。因此0.1意味著僅考慮包括前10%機率質量的記號。通常建議更改此值或 temperature,但不要同時更改這兩個值。
4、Frequency penalty 是指在訓練時,模型會根據詞頻來調整每個單詞的重要性。它可以幫助模型更好地理解文字,並減少過擬合。介於-2.0和2.0之間的數字。正值會根據新標記在文字中的現有頻率懲罰新標記,從而降低模型逐字重複同一行的可能性。Frequency penalty設定為0意味著模型不會對重複的詞進行懲罰。它可以幫助模型生成更多的新詞,而不是重複使用已有的詞。
5、Presence penalty 是指在ChatGPT中,一些預先定義的條件或者狀態可能會影響機器人回答的質量,介於-2.0和2.0之間的數字。正值會根據新標記到目前為止是否出現在文字中來懲罰它們,從而增加模型談論新主題的可能性。如果將 Presence penalty 設定為 0,則表示不會有任何懲罰。
6、Stop sequence 是一種設定,透過它可以確定你的聊天會話的結束標誌。當你在 ChatGPT中設定 Stop sequence為 # ;時,表示你的聊天會話結束標誌是 # ;。

Prompt 提示

### Postgres SQL tables, with their properties: Postgres SQL表及其屬性:
#
# Employee(id, name, department_id)
# Department(id, name, address)
# Salary_Payments(id, employee_id, amount, date)
#
### A query to list the names of the departments which employed more than 10 employees in the last 3 months SELECT 列出在過去3個月中僱用了10名以上員工的部門名稱的查詢SELECT語句

Sample response 回覆樣本

DISTINCT department.name
FROM department
JOIN employee ON department.id = employee.department_id
JOIN salary_payments ON employee.id = salary_payments.employee_id
WHERE salary_payments.date > (CURRENT_DATE - INTERVAL '3 months')
GROUP BY department.name
HAVING COUNT(employee.id) > 10;

API request 介面請求

python介面請求示例

import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
  model="code-davinci-002",
  prompt="### Postgres SQL tables, with their properties:\n#\n# Employee(id, name, department_id)\n# Department(id, name, address)\n# Salary_Payments(id, employee_id, amount, date)\n#\n### A query to list the names of the departments which employed more than 10 employees in the last 3 months\nSELECT",
  temperature=0,
  max_tokens=150,
  top_p=1.0,
  frequency_penalty=0.0,
  presence_penalty=0.0,
  stop=["#", ";"]
)

node.js介面請求示例

const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);

const response = await openai.createCompletion({
  model: "code-davinci-002",
  prompt: "### Postgres SQL tables, with their properties:\n#\n# Employee(id, name, department_id)\n# Department(id, name, address)\n# Salary_Payments(id, employee_id, amount, date)\n#\n### A query to list the names of the departments which employed more than 10 employees in the last 3 months\nSELECT",
  temperature: 0,
  max_tokens: 150,
  top_p: 1.0,
  frequency_penalty: 0.0,
  presence_penalty: 0.0,
  stop: ["#", ";"],
});

curl命令示例

curl https://api.openai.com/v1/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
  "model": "code-davinci-002",
  "prompt": "### Postgres SQL tables, with their properties:\n#\n# Employee(id, name, department_id)\n# Department(id, name, address)\n# Salary_Payments(id, employee_id, amount, date)\n#\n### A query to list the names of the departments which employed more than 10 employees in the last 3 months\nSELECT",
  "temperature": 0,
  "max_tokens": 150,
  "top_p": 1.0,
  "frequency_penalty": 0.0,
  "presence_penalty": 0.0,
  "stop": ["#", ";"]
}'

json格式示例

{
  "model": "code-davinci-002",
  "prompt": "### Postgres SQL tables, with their properties:\n#\n# Employee(id, name, department_id)\n# Department(id, name, address)\n# Salary_Payments(id, employee_id, amount, date)\n#\n### A query to list the names of the departments which employed more than 10 employees in the last 3 months\nSELECT",
  "temperature": 0,
  "max_tokens": 150,
  "top_p": 1.0,
  "frequency_penalty": 0.0,
  "presence_penalty": 0.0,
  "stop": ["#", ";"]
}

其它資料下載

如果大家想繼續瞭解人工智慧相關學習路線和知識體系,歡迎大家翻閱我的另外一篇部落格《重磅 | 完備的人工智慧AI 學習——基礎知識學習路線,所有資料免關注免套路直接網盤下載
這篇部落格參考了Github知名開源平臺,AI技術平臺以及相關領域專家:Datawhale,ApacheCN,AI有道和黃海廣博士等約有近100G相關資料,希望能幫助到所有小夥伴們。

相關文章