新聞中心
OpenAI API即將徹底改變編碼。

您能給我shell命令顯示當(dāng)前文件夾的名稱嗎? 好吧,這很容易; 它應(yīng)該是pwd。 如果要導(dǎo)航到/ tmp文件夾怎么辦? 簡(jiǎn)單:cd / tmp。
現(xiàn)在,您最想知道的是,用于計(jì)算當(dāng)前文件夾中python文件數(shù)量的命令是什么? 有點(diǎn)棘手:find。 類型的f -name'* .py'| wc -l。 這并不難,也可以通過(guò)其他方式完成,但有時(shí)我們會(huì)忘記。
如果我告訴您可以編程一個(gè)腳本,該腳本可以用自然語(yǔ)言查詢并取回您要查找的shell命令,該怎么辦?
了解復(fù)雜的Shell命令具有一定的吸引力。 我明白,這也可以起到自尊心的增強(qiáng)作用。 但是,如果我告訴您可以編程一個(gè)腳本,該腳本可以使用自然語(yǔ)言進(jìn)行查詢并取回您要查找的shell命令,該怎么辦? 例如,假設(shè)您有一個(gè)自然語(yǔ)言外殼(nlsh),并且想要獲取今天的日子。 它可能看起來(lái)像這樣:
- nlsh> What day is it?
- >>> Would you like to run: date +%A [Y/n]: _
第一行是外殼的輸入,而第二行則顯示了可能的輸出。 那太酷了吧? 現(xiàn)在,如果我告訴您今天可以使用python在30行代碼之內(nèi)做到這一點(diǎn)呢? 我認(rèn)為這是革命性的! 在這個(gè)故事中,我們談?wù)揙penAI的API,這是一種訪問(wèn)由OpenAI開(kāi)發(fā)的新AI模型的方法。 自然語(yǔ)言的外殼只是冰山一角。
OpenAI API
OpenAI API是一種訪問(wèn)由OpenAI開(kāi)發(fā)的新AI模型的方法。 它提供了一個(gè)通用接口,您可以通過(guò)幾個(gè)示例來(lái)指定所需的操作。 您可以將其集成到您的產(chǎn)品中,對(duì)其進(jìn)行微調(diào)并開(kāi)發(fā)全新的應(yīng)用程序,或者只是探索其局限性。 該API尚未向公眾開(kāi)放,但是,您可以加入等待列表。
它是如何工作的?
想象一下,您想創(chuàng)建一個(gè)文本完成應(yīng)用程序,例如自然語(yǔ)言外殼程序(有人可能會(huì)說(shuō)這也可以看作是一個(gè)問(wèn)答應(yīng)用程序)。 首先,您應(yīng)該通過(guò)向API展示一些您想做的事來(lái)"編程" API。 越多越好,尤其是在任務(wù)復(fù)雜的情況下:
- Input: Print the current directory
- Output: pwdInput: List files
- Output: ls -lInput: Change directory to /tmp
- Output: cd /tmpInput: Count files
- Output: ls -l | wc -l...
好吧,就是這樣! 沒(méi)有第二步。 結(jié)果可能不是完美的第一天,但是您可以通過(guò)在更大的示例數(shù)據(jù)集上進(jìn)行訓(xùn)練,或者從用戶提供的人工反饋中學(xué)習(xí),來(lái)提高其性能。
OpenAI的研究將API設(shè)計(jì)得足夠靈活,以使機(jī)器學(xué)習(xí)團(tuán)隊(duì)的工作效率更高。 同時(shí),它是如此簡(jiǎn)單,任何人都可以使用它。 在后臺(tái),API運(yùn)行具有GPT-3系列權(quán)重的模型,這些模型在速度和吞吐量方面得到了改進(jìn),以使此類應(yīng)用程序變得實(shí)用。
什么是GPT-3?
GPT-3是OpenAI的GPT-2的發(fā)展,它標(biāo)志著自然語(yǔ)言處理的新里程碑。 GPT代表Generative Pretrained Transformer,它引用了2017年Google一項(xiàng)稱為T(mén)ransformer的創(chuàng)新技術(shù)。 其主要目的是弄清楚特定單詞在給定上下文中出現(xiàn)的可能性。 在此基礎(chǔ)上,我們現(xiàn)在可以創(chuàng)建可完成文本,回答問(wèn)題,匯總文檔等的應(yīng)用程序。
自然語(yǔ)言Shell示例
在本節(jié)中,我們將使用python和幾行代碼對(duì)在序言中看到的自然語(yǔ)言shell進(jìn)行編碼。 首先,python文件:
- prompt = """
- Input: Print the current directory
- Output: pwd
- Input: List files
- Output: ls -l
- Input: Change directory to /tmp
- Output: cd /tmp
- Input: Count files
- Output: ls -l | wc -l
- Input: Replace foo with bar in all python files
- Output: sed -i .bak -- 's/foo/bar/g' *.py
- Input: Push to master
- Output: git push origin master
- """
- template = """
- Input: {}
- Output:
- """
- import os, click, openai
- while True:
- request = input(click.style('nlsh> ', 'red', bold=True))
- prompt += template.format(request) result = openai.Completion.create( model='davinci', prompt=prompt, stop='/n', max_tokens=100, temperature=.0
- ) command = result.choices[0]['text']
- prompt += command if click.confirm(f'>>> Run: {click.style(command, "blue")}', default=True):
- os.system(command)
在python腳本的開(kāi)頭,我們?yōu)锳PI提供了一些我們希望其執(zhí)行的示例。 然后,我們創(chuàng)建一個(gè)完成任務(wù)并使用davinci模型。 我們將max_tokens設(shè)置為100以具有足夠的緩沖區(qū),并且將溫度設(shè)置為0。將溫度設(shè)置為0是一個(gè)好習(xí)慣,只要我們遇到的問(wèn)題只有一個(gè)正確的答案。 通常,溫度越高,模型具有的創(chuàng)意自由度就越高。
最后,我們執(zhí)行python nlsh.py來(lái)測(cè)試應(yīng)用程序。
> The Natural Language Shell
更多例子
與OpenAI緊密合作的組織已經(jīng)在使用OpenAI API。 讓我們看看一些非常聰明的例子。
聊天室
AI Channels是一個(gè)面向人和人工智能代理的社交網(wǎng)絡(luò)。 AI Channels使您可以與AI代理進(jìn)行交互,這些代理可以幫助您產(chǎn)生想法,推薦書(shū)籍和電影,講交互式故事或參加與朋友和歷史上最偉大的思想家的圓桌討論,在此您可以要求虛擬的Albert Einstein來(lái)解釋相對(duì)論 或從Jane Austen獲得寫(xiě)作技巧。
代碼補(bǔ)全
借助OpenAI API,我們可以生成有用的上下文感知代碼建議。 在對(duì)來(lái)自數(shù)千個(gè)開(kāi)源GitHub存儲(chǔ)庫(kù)中的代碼進(jìn)行了微調(diào)之后,該API根據(jù)函數(shù)名稱和注釋來(lái)完成代碼。
代碼摘要
通過(guò)其模式識(shí)別和生成功能,API可以將密集文本轉(zhuǎn)換為簡(jiǎn)化的摘要。 在這里,我們展示了將NDA匯總為2級(jí)閱讀級(jí)別的內(nèi)容的API。
結(jié)論
在這個(gè)故事中,我們看到了OpenAI API的潛力和一些用例,這些用例重新定義了使用這種自然語(yǔ)言理解工具的可能性。 語(yǔ)義搜索,客戶支持,聊天機(jī)器人,文本處理應(yīng)用程序和生產(chǎn)力工具將永遠(yuǎn)改變!
關(guān)于作者
我叫Dimitris Poulopoulos,我是BigDataStack的機(jī)器學(xué)習(xí)研究員。 我也是希臘比雷埃夫斯大學(xué)的博士研究生。 我曾為歐洲委員會(huì),歐盟統(tǒng)計(jì)局,IMF,歐洲中央銀行,經(jīng)合組織和宜家等主要客戶設(shè)計(jì)和實(shí)施AI和軟件解決方案。
分享題目:碼農(nóng)編寫(xiě)代碼的方式即將改變,快加入等待列表吧
網(wǎng)址分享:http://m.fisionsoft.com.cn/article/djheges.html


咨詢
建站咨詢
