最近 OpenAI 宣布 ChatGPT 將很快推出他們的 API。雖然我們不知道這需要多長時間,但這之前我們可以熟悉下OpenAI API,快速開發(fā)自己的AI應(yīng)用!
通過今天學習 OpenAI API,你將能夠訪問 OpenAI 的強大模型,例如用于自然語言的 GPT-3、用于將自然語言翻譯為代碼的 Codex 以及用于創(chuàng)建和編輯原始圖像的 DALL-E。
這篇文章的例子將用Pyhon編寫。
生成 API 密鑰
在我們開始使用 OpenAI API 之前,我們需要登錄我們的 OpenAI 帳戶并生成我們的API 密鑰。
這里要注意,OpenAI 不會在生成 API 密鑰后再次顯示它,因此請及時復制你的 API 密鑰并保存。我將創(chuàng)建一個名為 OPENAI_API_KEY 的環(huán)境變量,它將包含我的 API 密鑰并將在下一節(jié)中使用。
使用 Python接入 OpenAI API
要與 OpenAI API 交互,我們需要通過運行以下命令來安裝官方OpenAI包。
pip install openai
我們可以用這個 API 做很多事情。 在本文中,我們將分別完成文字、代碼和圖像的生成。
1.文本生成
文本生成可用于文字鑒別、文本生成、自動對話、轉(zhuǎn)換、摘要等。要使用它,我們必須使用completion endpoint并為模型提供觸發(fā)指令,然后模型將生成匹配上下文/模式的文本。
假設(shè)我們要對以下文本進行鑒別,我們向AI輸入指令(中英文都可以):
判斷以下Mike的發(fā)言情緒是正面、中立還是負面:
Mike:我不喜歡做作業(yè)!
Sentiment:
以下就是用到的代碼:
ini
import os import openai
openai.api_key = os.getenv("OPENAI_API_KEY") prompt = """
Decide whether a Mike's sentiment is positive, neutral, or negative.
Mike: I don't like homework!
Sentiment:
"""
response = openai.Completion.create( model="text-davinci-003", prompt=prompt, max_tokens=100, temperature=0 ) print(response)
根據(jù) OpenAI 文檔,GPT-3 模型是與文本生成的endpoint一起使用。 這就是我們在此示例中使用模型 text-davinci-003 的原因。
以下是返回值的部分打?。?/p>
json
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"text": "Negative"
}
],
...
}
在此示例中,推文的情緒被歸類為負面Negative。
讓我們看一下這個例子中使用的參數(shù):
model :要使用的模型的 ID(在這里你可以看到所有可用的模型)
Prompt:生成結(jié)果的觸發(fā)指令
max_token:完成時生成的最大token數(shù)量(這里可以看到OpenAI使用的tokenizer)
temperature:要使用的采樣策略。 接近 1 的值會給模型帶來更多風險/創(chuàng)造力,而接近 0 的值會生成明確定義的答案。
2. 代碼生成
代碼生成與文本生成類似,但這里我們使用 Codex 模型來理解和生成代碼。
Codex 模型系列是經(jīng)過自然語言和數(shù)十億行代碼訓練的 GPT-3 系列的后代。 借助 Codex,我們可以將注釋轉(zhuǎn)化為代碼、重寫代碼以提高效率等等。
讓我們使用模型 code-davinci-002 和下面的觸發(fā)指令生成 Python 代碼。
代碼生成一個序列,內(nèi)容包含上海的溫度。
ini
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.Completion.create(
model="code-davinci-002",
prompt=""""\nCreate an array of weather temperatures for Shanghai\n"""",
temperature=0,
max_tokens=256,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
print(response)
以下是返回值的部分打?。?/p>
swift
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"text": "\n\nimport numpy as np\n\ndef create_temperatures(n):\n """\n Create an array of weather temperatures for Shanghai\n """\n temperatures = np.random.uniform(low=14.0, high=20.0, size=n)\n return temperatures"
}
],
...
}
}
把text部分重新顯示格式化一下,你就會看到規(guī)整的代碼生成了:
arduino
import numpy as np
def create_temperatures(n):
temperatures = np.random.uniform(low=14.0, high=20.0, size=n)
return temperatures
如果想開發(fā)更多,我建議你在 Playground 中測試 Codex(這里有一些幫助你入門的示例)
3. 圖像生成
我們可以使用 DALL-E 模型生成圖像,我們使用圖像生成endpoint并提供文本指令。
以下是我的測試指令(我們在指令中提供的細節(jié)越多,我們就越有可能獲得我們想要的結(jié)果)。
一只毛茸茸的藍眼睛白貓坐在花籃里,可愛地抬頭看著鏡頭
ini
import openai
response = openai.Image.create(
prompt="A fluffy white cat with blue eyes sitting in a basket of flowers, looking up adorably at the camera",
n=1,
size="1024x1024"
)
image_url = response['data'][0]['url']
print(image_url)
以下是我得到的圖片:
當然更有趣的是,還可以使用image edits and image variations endpoints編輯圖像并生成原圖像的調(diào)整。
好了,這篇文章就到這里,希望能激發(fā)你的創(chuàng)造力,更多OpenAI API的使用請參考官方文檔。
Python 的迅速崛起對整個行業(yè)來說都是極其有利的 ,但“人紅是非多
”,導致它平添了許許多多的批評,不過依舊擋不住它火爆的發(fā)展勢頭。
如果你對Python感興趣,想要學習python,這里給大家分享一份Python全套學習資料,都是我自己學習時整理的,希望可以幫到你,一起加油!
??有需要的小伙伴,可以點擊下方鏈接免費領(lǐng)取或者V掃描下方二維碼免費領(lǐng)取??
點擊這里
1??零基礎(chǔ)入門
① 學習路線
對于從來沒有接觸過Python的同學,我們幫你準備了詳細的學習成長路線圖??梢哉f是最科學最系統(tǒng)的學習路線,你可以按照上面的知識點去找對應(yīng)的學習資源,保證自己學得較為全面。
② 路線對應(yīng)學習視頻
還有很多適合0基礎(chǔ)入門的學習視頻,有了這些視頻,輕輕松松上手Python~
③練習題
每節(jié)視頻課后,都有對應(yīng)的練習題哦,可以檢驗學習成果哈哈!
2??國內(nèi)外Python書籍、文檔
① 文檔和書籍資料
3??Python工具包+項目源碼合集
①Python工具包
學習Python常用的開發(fā)軟件都在這里了!每個都有詳細的安裝教程,保證你可以安裝成功哦!
②Python實戰(zhàn)案例
光學理論是沒用的,要學會跟著一起敲代碼,動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰(zhàn)案例來學習。100+實戰(zhàn)案例源碼等你來拿!
③Python小游戲源碼
如果覺得上面的實戰(zhàn)案例有點枯燥,可以試試自己用Python編寫小游戲,讓你的學習過程中增添一點趣味!
4??Python面試題
我們學會了Python之后,有了技能就可以出去找工作啦!下面這些面試題是都來自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠,并且有阿里大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
5??Python兼職渠道
而且學會Python以后,還可以在各大兼職平臺接單賺錢,各種兼職渠道+兼職注意事項+如何和客戶溝通,我都整理成文檔了。文章來源:http://www.zghlxwxcb.cn/news/detail-857476.html
上述所有資料 ?? ,朋友們?nèi)绻行枰?,可以掃描下??????二維碼免費領(lǐng)取??文章來源地址http://www.zghlxwxcb.cn/news/detail-857476.html
到了這里,關(guān)于十分鐘學會開發(fā)自己的Python AI應(yīng)用【OpenAI API篇】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!