在这个故事中,我们看到了OpenAI API的潜力和一些用例,这些用例重新定义了使用这种自然语言理解工具的可能性。 语义搜索,客户支持,聊天机器人,文本处理应用程序和生产力工具将永远改变!
OpenAI API即将彻底改变编码。
您能给我shell命令显示当前文件夹的名称吗? 好吧,这很容易; 它应该是pwd。 如果要导航到/ tmp文件夹怎么办? 简单:cd / tmp。
现在,您最想知道的是,用于计算当前文件夹中python文件数量的命令是什么? 有点棘手:find。 类型的f -name'* .py'| wc -l。 这并不难,也可以通过其他方式完成,但有时我们会忘记。
如果我告诉您可以编程一个脚本,该脚本可以用自然语言查询并取回您要查找的shell命令,该怎么办?
了解复杂的Shell命令具有一定的吸引力。 我明白,这也可以起到自尊心的增强作用。 但是,如果我告诉您可以编程一个脚本,该脚本可以使用自然语言进行查询并取回您要查找的shell命令,该怎么办? 例如,假设您有一个自然语言外壳(nlsh),并且想要获取今天的日子。 它可能看起来像这样:
- nlsh>Whatdayisit?
- >>>Wouldyouliketorun:date+%A[Y/n]:_
第一行是外壳的输入,而第二行则显示了可能的输出。 那太酷了吧? 现在,如果我告诉您今天可以使用python在30行代码之内做到这一点呢? 我认为这是革命性的! 在这个故事中,我们谈论OpenAI的API,这是一种访问由OpenAI开发的新AI模型的方法。 自然语言的外壳只是冰山一角。
OpenAI API
OpenAI API是一种访问由OpenAI开发的新AI模型的方法。 它提供了一个通用接口,您可以通过几个示例来指定所需的操作。 您可以将其集成到您的产品中,对其进行微调并开发全新的应用程序,或者只是探索其局限性。 该API尚未向公众开放,但是,您可以加入等待列表。
它是如何工作的?
想象一下,您想创建一个文本完成应用程序,例如自然语言外壳程序(有人可能会说这也可以看作是一个问答应用程序)。 首先,您应该通过向API展示一些您想做的事来"编程" API。 越多越好,尤其是在任务复杂的情况下:
- 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...
好吧,就是这样! 没有第二步。 结果可能不是完美的第一天,但是您可以通过在更大的示例数据集上进行训练,或者从用户提供的人工反馈中学习,来提高其性能。
OpenAI的研究将API设计得足够灵活,以使机器学习团队的工作效率更高。 同时,它是如此简单,任何人都可以使用它。 在后台,API运行具有GPT-3系列权重的模型,这些模型在速度和吞吐量方面得到了改进,以使此类应用程序变得实用。
什么是GPT-3?
GPT-3是OpenAI的GPT-2的发展,它标志着自然语言处理的新里程碑。 GPT代表Generative Pretrained Transformer,它引用了2017年Google一项称为Transformer的创新技术。 其主要目的是弄清楚特定单词在给定上下文中出现的可能性。 在此基础上,我们现在可以创建可完成文本,回答问题,汇总文档等的应用程序。
自然语言Shell示例
在本节中,我们将使用python和几行代码对在序言中看到的自然语言shell进行编码。 首先,python文件:
- prompt="""
- Input:Printthecurrentdirectory
- Output:pwd
- Input:Listfiles
- Output:ls-l
- Input:Changedirectoryto/tmp
- Output:cd/tmp
- Input:Countfiles
- Output:ls-l|wc-l
- Input:Replacefoowithbarinallpythonfiles
- Output:sed-i.bak--'s/foo/bar/g'*.py
- Input:Pushtomaster
- Output:gitpushoriginmaster
- """
- template="""
- Input:{}
- Output:
- """
- importos,click,openai
- whileTrue:
- 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+=commandifclick.confirm(f'>>>Run:{click.style(command,"blue")}',default=True):
- os.system(command)
在python脚本的开头,我们为API提供了一些我们希望其执行的示例。 然后,我们创建一个完成任务并使用davinci模型。 我们将max_tokens设置为100以具有足够的缓冲区,并且将温度设置为0。将温度设置为0是一个好习惯,只要我们遇到的问题只有一个正确的答案。 通常,温度越高,模型具有的创意自由度就越高。
最后,我们执行python nlsh.py来测试应用程序。
> The Natural Language Shell
更多例子
与OpenAI紧密合作的组织已经在使用OpenAI API。 让我们看看一些非常聪明的例子。
聊天室
AI Channels是一个面向人和人工智能代理的社交网络。 AI Channels使您可以与AI代理进行交互,这些代理可以帮助您产生想法,推荐书籍和电影,讲交互式故事或参加与朋友和历史上最伟大的思想家的圆桌讨论,在此您可以要求虚拟的Albert Einstein来解释相对论 或从Jane Austen获得写作技巧。
代码补全
借助OpenAI API,我们可以生成有用的上下文感知代码建议。 在对来自数千个开源GitHub存储库中的代码进行了微调之后,该API根据函数名称和注释来完成代码。
代码摘要
通过其模式识别和生成功能,API可以将密集文本转换为简化的摘要。 在这里,我们展示了将NDA汇总为2级阅读级别的内容的API。
结论
在这个故事中,我们看到了OpenAI API的潜力和一些用例,这些用例重新定义了使用这种自然语言理解工具的可能性。 语义搜索,客户支持,聊天机器人,文本处理应用程序和生产力工具将永远改变!
关于作者
我叫Dimitris Poulopoulos,我是BigDataStack的机器学习研究员。 我也是希腊比雷埃夫斯大学的博士研究生。 我曾为欧洲委员会,欧盟统计局,IMF,欧洲中央银行,经合组织和宜家等主要客户设计和实施AI和软件解决方案。
©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经