400-638-8808
|
微信公眾號




穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術
易管理 免維護

1、進入官網
打開網址:https://openai.com/api/

點擊READ_DOCUMENTATION.
左側的列表,顯示:

這是GPT-3(Generative Pre-trained Transformer 3))支持的功能,可以對話,編程,做圖等,注意,這里面沒有chatGPT,那是另外一個頁面,據說是基于GPT-3.5模型的技術。
把左側列表繼續(xù)往下拉,可以看到:

這就是OpenAI官方提供的API接口介紹了。我們逐個看一下:
首先是**Introduction介紹**:
You can interact with the API through HTTP requests from any language, via our official Python bindings, our official Node.js library, or a community-maintained library.
翻譯:您可以通過來自任何語言的HTTP請求與API交互,通過我們的官方Python綁定、我們的官方Node.js庫或社區(qū)維護的庫。
現(xiàn)在流行使用Python,官方也貼心的提供了openai的庫,可以調用,但試下來發(fā)現(xiàn),其實不用pip install openai也行的。
然后是**Authentication驗證**
The OpenAI API uses API keys for authentication. Visit your API Keys page to retrieve the API key you ll use in your requests.
Remember that your API key is a secret! Do not share it with others or expose it in any client-side code (browsers, apps). Production requests must be routed through your own backend server where your API key can be securely loaded from an environment variable or key management service.
All API requests should include your API key in anAuthorizationHTTP header as follows:
OpenAI API使用API密鑰進行身份驗證。訪問您的API密鑰頁面以檢索您將在請求中使用的API密鑰。
請記住,您的API密鑰是一個秘密!請勿與他人分享或在任何客戶端代碼(瀏覽器、應用程序)中公開。生產請求必須通過您自己的后端服務器進行路由,您的API密鑰可以從環(huán)境變量或密鑰管理服務安全地加載。
所有API請求應在授權HTTP標頭中包含您的API密鑰,如下所示:

注意:API密鑰是很重要的,它相當于是一把通向openai的鑰匙,在寫代碼時,要把這個密鑰寫入,否則屆不到后臺,也就不能和AI對話了。
這個密鑰獲取鏈接:https://platform.openai.com/account/api-keys
打開頁面,看到:
Your secret API keys are listed below. Please note that we do not display your secret API keys again after you generate them.
Do not share your API key with others, or expose it in the browser or other client-side code. In order to protect the security of your account, OpenAI may also automatically rotate any API key that we ve found has leaked publicly
下面列出了您的秘密API密鑰。請注意,在您生成您的秘密API密鑰后,我們不會再次顯示它們。
不要與他人共享您的API密鑰,也不要在瀏覽器或其他客戶端代碼中公開它。為了保護您的賬戶安全,OpenAI還會自動輪換我們發(fā)現(xiàn)已公開泄露的任何API密鑰
點擊Create new secret key,來獲取自己的密鑰:

注意,在這之前先要注冊openai的官方網站,有自己的賬號,這里才能生成密鑰。

關于如何注冊,網上有很多教程,我試下來,攏共分三步:
言歸正傳,繼續(xù)看文檔。
下面就是具體的代碼了,教我們如何用編程語言來調用API了。
我比較關心AI如何生成代碼,頁面往下翻,看到:

所以,用python,先把openai這個庫pip下來的話,代碼其實很簡單:
import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") openai.Completion.create( model="text-davinci-003", prompt="Say this is a test", max_tokens=7, temperature=0 )
這里的傳參就4個:
這個翻譯看不懂啊,bing一下看看:
The max_length or max_tokens parameter is a control for the maximum number of tokens that can be generated in a single call to the GPT-3(Generative Pre-trained Transformer 3) model. A token is a discrete unit of meaning in natural language processing.
看上去是自然語言的最小離散單元,是一個字節(jié)嗎?再查查看:
max_tokens是OpenAI GPT語言模型中的一個參數,用于指定生成文本時最多可以使用的標記(tokens)數。標記是將文本分割為單獨的單詞或符號的基本單位。因此,max_tokens參數限制了生成的文本長度。
在使用OpenAI GPT模型生成文本時,可以設置max_tokens參數以控制生成的文本長度。例如,如果將max_tokens設置為50,則生成的文本將不會超過50個標記,即50個單詞或符號。如果生成的文本達到了max_tokens的限制,模型將停止生成更多的文本。
看到這里就清楚了,max_tokens就是AI回復的最大單詞數量。
temperature:
What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
We generally recommend altering this ortop_pbut not both.
翻譯:要使用的采樣溫度,介于0和2之間。較高的值(如0.8)將使輸出更具隨機性,而較低的值(如0.2)將使輸出更具針對性和確定性。
如果是發(fā)散性的聊天,就可以把這個數值調大一些,如果想要更針對性的回答,則調低一些。
還有其他參數,沒有必要,就不看了。
當發(fā)出問題后,AI返回的數據包格式如下:
{ "id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7", "object": "text_completion", "created": 1589478378, "model": "text-davinci-003", "choices": [ { "text": "\n\nThis is indeed a test", "index": 0, "logprobs": null, "finish_reason": "length" } ], "usage": { "prompt_tokens": 5, "completion_tokens": 7, "total_tokens": 12 } }
其中,texts才是我們關注的東西,這是AI的真正回復。
打開spyder編譯器,我的python3.7不行,總是報錯,網上查下原因,需要升級一下python版本才行,用anacoda全家桶的話,就打開anacoda prompt來升級一下就可以了。然后打開spyder3.10

從網上找到一段代碼:
import openai openai.api_key = "這里填入自己的密鑰,一般以sk開頭" def askChatGPT(question): prompt = question model_engine = "text-davinci-003" completions = openai.Completion.create( engine=model_engine, prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=0.5, ) message = completions.choices[0].text print(message) askChatGPT("請告訴我中國的國土面積有多大")
啪的一下,很快啊,就得到回復:

牛批。
更開心的是,有了密鑰后,就不需要梯子了。
不好的是,這個是基于GPT3的AI模型,比GPT3.5的chatGPT還是差點意思,特別是生成代碼方面。
天下數據手機站 關于天下數據 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網站備案 解決方案 域名注冊 網站地圖
天下數據18年專注海外香港服務器、美國服務器、海外云主機、海外vps主機租用托管以及服務器解決方案-做天下最好的IDC服務商
《中華人民共和國增值電信業(yè)務經營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運營)聯(lián)合版權
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務熱線:4006388808香港服務電話:+852 67031102
本網站的域名注冊業(yè)務代理北京新網數碼信息技術有限公司的產品