jjzjj

〖ChatGPT实践指南 - 零基础扫盲篇⑤〗- OpenAI API 演示 Demo 之宠物名字生成器

不渴望力量的哈士奇 2024-04-08 原文

文章目录

在上一章节,我们已经对于 ChatGPT 的 “提示(prompt)” 与 “完成(completion)” 有了更深层次的的了解。接下来我们演示一个官方提供的 Demo 应用,叫做 “宠物名字生成器” 。


⭐ 运行 Demo应用 - 宠物名字生成器

官方已经为我们编写了一些代码来帮助我们入门,我们可以按照接下来的步骤下载代码并运行应用程序。


🌟 安装 - node.js

我们要运行的 Demo应用 - 宠物名字成器 需要使用到 nodejs 环境,如果还没有安装 nodejs ,可以到 nodejs官网 下载安装nodejs。

nodejs 官网地址:https://nodejs.org/en/


nodejs 安装完成之后,在终端执行 node -v 命令,可以查看到当前安装的 nodejs 的版本号~

然后再执行 npm -v ,如果也能看到版本号,则说明 nodejs 与 npm 已经安装成功了~


🌟 利用 git 下载 Demo应用 - 宠物名字成器

提前准备好我们用于下载 下载 Demo应用 - 宠物名字成器 的路径地址,这里我们准备的是 /usr/local/cases/chatgpt-quickstart

然后进入该目录,准备克隆代码:git clone https://github.com/openai/openai-quickstart-node.git

执行完git clone命令后,可以看到代码被下载到了chatgpt-quickstart 目录中。


🌟 添加 API 秘钥

进入项目 openai-quickstart-node 目录,并复制示例环境变量文件,用于后续的添加 API 秘钥。

cd openai-quickstart-node		// cd 命令进入 openai-quickstart-node
cp .env.example .env			// cp 命令 复制 ".env.example"".env"

来看一下 ".env" 文件的内容,使用 "open" 命令打开文件:open .env

打开这个文件,可以看到只有一条配置,就是要求我们填写 api key ;关于 api key 的创建,我们在前面的 〖ChatGPT实践指南 - 零基础扫盲篇③〗- 开始使用 ChatGPT 并访问 OpenAI 获取 API Keys 已经为大家介绍过了。


重要提示:在使用 Javascript 时,所有 API 调用应仅在服务器端进行,因为在客户端浏览器代码中进行调用将会暴露您的 API 密钥。


🌟 安装依赖并运行Demo应用 - 宠物名字成器

安装依赖:

我们可以看一下 package.json 文件,这个文件指定了我们需要安装的一些依赖包,所以我们还需要安装对应的依赖,才可以最终运行起来 “Demo应用 - 宠物名字成器”,见下图:


接下来就在项目目录中运行以下命令,用以安装相关依赖项,并运行应用程序:npm install

需要注意的事:运行 npm命令 要在 openai-quickstart-node目录下运行 ,也就是 package.json同级目录运行 ,而不是在我们建立的chatgpt-quickstart目录运行哦。

运行命令后的结果如下:


运行 Demo应用 - 宠物名字成器:

当利用 nodejs 安装好了 openapi相关的依赖后,接下来我们就可以使用 npm run dev 命令来运行我们的 Demo应用 - 宠物名字成器 项目了:


⭐ 访问并测试 Demo应用 - 宠物名字成器

访问Demo应用 - 宠物名字成器:

打开浏览器,输入 http://localhost:3000 ,应该就能看到宠物名字生成器了!


测试:

我们尝试输入一个 "哈士奇",点击下面的按钮 Generate names ,看看 ChatGPT 给我们的宠物起的名字吧!


ChatGPT一共为我们生成了三个名字,分别是:Super SnowballMighty HuskyThe Amazing Fluffy Paw

来翻译一下试试看,分别是 “超级雪球”、“强大哈士奇”、“惊人的蓬松爪” ,感觉怎么样,是不是很有意思呢?

有关〖ChatGPT实践指南 - 零基础扫盲篇⑤〗- OpenAI API 演示 Demo 之宠物名字生成器的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby-on-rails - 如何在 Rails 3 中创建自定义脚手架生成器? - 2

    有这些railscast。http://railscasts.com/episodes/218-making-generators-in-rails-3有了这个,你就会知道如何创建样式表和脚手架生成器。http://railscasts.com/episodes/216-generators-in-rails-3通过这个,您可以了解如何添加一些文件来修改脚手架View。我想把两者结合起来。我想创建一个生成器,它也可以创建脚手架View。有点像RyanBates漂亮的生成器或web_app_themegem(https://github.com/pilu/web-app-theme)。我

  3. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  4. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  5. ruby-on-rails - Rails 中同一个类的多个关联的最佳实践? - 2

    我认为我的问题最好用一个例子来描述。假设我有一个名为“Thing”的简单模型,它有一些简单数据类型的属性。像...Thing-foo:string-goo:string-bar:int这并不难。数据库表将包含具有这三个属性的三列,我可以使用@thing.foo或@thing.bar之类的东西访问它们。但我要解决的问题是当“foo”或“goo”不再包含在简单数据类型中时会发生什么?假设foo和goo代表相同类型的对象。也就是说,它们都是“Whazit”的实例,只是数据不同。所以现在事情可能看起来像这样......Thing-bar:int但是现在有一个新的模型叫做“Whazit”,看起来

  6. ruby-on-rails - 向 Rails 3 添加 Ruby 扩展方法的最佳实践? - 2

    我有一个要在我的Rails3项目中使用的数组扩展方法。它应该住在哪里?我有一个应用程序/类,我最初把它放在(array_extensions.rb)中,在我的config/application.rb中我加载路径:config.autoload_paths+=%W(#{Rails.root}/应用程序/类)。但是,当我转到railsconsole时,未加载扩展。是否有一个预定义的位置可以放置我的Rails3扩展方法?或者,一种预先定义的方式来添加它们?我知道Rails有自己的数组扩展方法。我应该将我的添加到active_support/core_ext/array/conversion

  7. python - 帮我找到合适的 ruby​​/python 解析器生成器 - 2

    我使用的第一个解析器生成器是Parse::RecDescent,它的指南/教程很棒,但它最有用的功能是它的调试工具,特别是tracing功能(通过将$RD_TRACE设置为1来激活)。我正在寻找可以帮助您调试其规则的解析器生成器。问题是,它必须用python或ruby​​编写,并且具有详细模式/跟踪模式或非常有用的调试技术。有人知道这样的解析器生成器吗?编辑:当我说调试时,我并不是指调试python或ruby​​。我指的是调试解析器生成器,查看它在每一步都在做什么,查看它正在读取的每个字符,它试图匹配的规则。希望你明白这一点。赏金编辑:要赢得赏金,请展示一个解析器生成器框架,并说明它的

  8. Ruby 等同于 Sphinx 文档生成器? - 2

    Ruby有一些不错的文档生成器,例如Yard、rDoc,甚至Glyph。问题是Sphinx可以做网站、PDF、epub、LaTex等。它在重组文本中完成所有这些事情。在Ruby世界中有替​​代方案吗?也许是程序的组合?如果我也能使用Markdown就更好了。 最佳答案 自1.0版以来,Sphinx有了“域”的概念,它是从Python和/或C以外的语言标记代码实体(如方法调用、对象、函数等)的方法。有一个rubydomain,所以你可以只使用Sphinx本身。您唯一会缺少的(我认为)是Sphinx使用autodoc从源代码自动创建文档

  9. Ruby 最佳实践 : working with classes - 2

    参见下面的示例,我想最好使用第二种方法,但第一种也可以。哪种方法最好,使用另一种的后果是什么?classTestdefstartp"started"endtest=Test.newtest.startendclassTest2defstartp"started"endendtest2=Test2.newtest2.start 最佳答案 我肯定会说第二种变体更有意义。第一个不会导致错误,但对象实例化完全过时且毫无意义。外部变量在类的范围内不可见:var="string"classAvar=A.newendputsvar#=>strin

  10. Ruby 和指南针路径与 yeoman 项目 - 2

    我安装了ruby​​、yeoman,当我运行我的项目时,出现了这个错误:Warning:Running"compass:dist"(compass)taskWarning:YouneedtohaveRubyandCompassinstalledthistasktowork.Moreinfo:https://github.com/gruUse--forcetocontinue.Use--forcetocontinue.我有进入可变session目标的路径,但它不起作用。谁能帮帮我? 最佳答案 我必须运行这个:geminstallcom

随机推荐