您当前的位置:首页 > 电脑百科 > 人工智能

OpenAI 的 GPT-4 模型初学者指南

时间:2023-04-10 13:44:52  来源:微信公众号  作者:web前端开发

在昨天我们跟大家分享了关于GPT-3.5模型的初学者教程指南​​《AI target=_blank class=infotextkey>OpenAI 的 GPT-3.5-Turbo 模型初学者指南》​​,今天这篇文章,我们再来分享一个关于构建 ChatGPTGPT-4 聊天机器人的过程,其中包含分步说明和完整的代码片段。我将介绍有关 GPT-4 API 的基本信息,并提供实用的见解来帮助您创建一个功能强大、引人入胜的聊天机器人。

我们将深入研究模型定价,探索聊天完成令牌的确切计算方式。此外,我将讨论 GPT-3.5-turbo 和 GPT-4 之间的区别,比较它们的性能,让您全面了解 GPT-4 必须提供的功能。

1.了解 GPT-4 模型

如果您阅读了本文教程,您很可能已经熟悉 OpenAI 和 ChatGPT。GPT 模型 API 允许像我们这样的开发人员访问和使用 GPT 系列中的预训练语言模型,例如 GPT-4 和 GPT-3.5-turbo。这些模型能够生成类似人类的文本,执行自然语言处理任务,并支持广泛的相关应用。

GPT-4 是 OpenAI 的 GPT 模型家族中最新且功能最强大的成员。OpenAI 声称 GPT-4 在大多数测试基准中都超过了 ChatGPT,这意味着我们有更好的机会实现我们想要的结果。

此外,它还具有改进的安全功能。然而,GPT-4 并不是 GPT 模型的全部和终结,并不意味着我们应该立即停止使用其他模型。我将在本教程后面的与 GPT-3.5-turbo 的比较部分进一步讨论这一点。

2.获得对 GPT-4 模型的访问权限

在撰写本教程时,公众可以通过两种方式访问 GPT-4 模型。

ChatGPT Plus 订阅:通过订阅 ChatGPT Plus,您将获得对 GPT-4 的有限访问权限。此订阅允许用户每 3 小时发送 25 条聊天消息。

GPT-4 API(仅限受邀者):目前只有受邀者才能通过等候名单访问 GPT-4 API。我在注册后大约 48 小时收到了我的邀请邮件。

请记住,可用性可能会随着时间的推移而改变,因此请确保及时了解 OpenAI 的公告。

3.使用 GPT-4 模型构建聊天机器人

升级到新的 GPT-4 模型 API 非常简单,因为它使用与 GPT-3.5-turbo 相同的聊天完成方法。如果我们有权访问,我们可以期望我们现有的代码能够与 GPT-4 无缝协作。

在本教程中,我将演示如何在 Node.js 中使用 GPT-4 API 构建聊天机器人。但是,相同的概念适用于您选择的其他编程语言。

如果您不确定提示完成和聊天完成的概念,请务必查看 GPT-3.5-Turbo 教程《​​OpenAI 的 GPT-3.5-Turbo 模型初学者指南​​》,我在其中提供了两者的详细比较和示例。

在继续之前,请确保您已获取 OpenAI API 密钥并相应地设置您的项目。

现在我们已经掌握了基础知识,让我们开始构建我们的 GPT-4 支持的聊天机器人。

4.安装必要的 NPM 包

npm install dotenv openai chalk

这些库有以下用途:

  • dotenv:允许我们将 API 密钥安全地存储为环境变量。
  • openai:用于轻松调用 OpenAI 模型 API 的官方 Node.js 库。
  • chalk:由于我们正在构建一个在我们的终端中运行的聊天机器人,我们将使用 Chalk 为对话添加一些风格,使其更具可读性和视觉吸引力。
  • readline:一个内置的 Node.js 库,我们将使用它来读取用户输入,从而可以轻松地通过命令行与我们的聊天机器人进行交互。

代码片段:打造您的聊天机器人

 
// index.js 


// 导入所需的库
import dotenv from "dotenv";
import { Configuration, OpenAIApi } from "openai";
import readline from "readline";
import chalk from "chalk";


// Load environment variables
dotenv.config();


// Initialize the OpenAI API client
const openai = new OpenAIApi(
  new Configuration({ apiKey: process.env.OPENAI_API_KEY })
);


// Create a readline interface for user input
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});


// Define an array to store the conversation messages
const GPTMessages = [];


// Set the model name; replace with other model names if needed
const modelName = "gpt-4"; // "gpt-3.5-turbo"


// Define an async function to call the GPT API
const GPT = async (message) => {
  // Call the GPT API with the model, messages, and max tokens
  const response = await openai.createChatCompletion({
    model: modelName,
    messages: message,
    max_tokens: 100,
  });


  // Return the response content and the total number of tokens used
  return {
    content: response.data.choices[0].message.content,
    tokensUsed: response.data.usage.total_tokens,
  };
};


// Define a function to ask the user a question and handle their input
const askUserQuestion = (role) => {
  // Set the prompt text based on the role (system or user)
  const prompt = role === "system" ? "Enter system message: " : "Enter your question: ";


  // Ask the user a question and process their input
  rl.question(prompt, async (userInput) => {
    // Add the user's input to the GPTMessages array
    GPTMessages.push({ role: role, content: userInput });


    // If the input is a system message, ask the user for their question
    if (role === "system") {
      askUserQuestion("user");
    } else {
      // Call the GPT function with the current conversation messages
      const assistantResponse = await GPT(GPTMessages);


      // Add the assistant's response to the GPTMessages array
      GPTMessages.push({ role: "assistant", content: assistantResponse.content });


      // Display the assistant's response and the number of tokens used
      console.log(chalk.yellow("-----"));
      console.log(chalk.green("Assistant: "), assistantResponse.content);
      console.log(chalk.cyan("Tokens used: "), assistantResponse.tokensUsed);


      // Ask the user another question
      askUserQuestion("user");
    }
  });
};


// Display the model name and begin the conversation
console.log(`### I'm ${chalk.blue(modelName.toUpperCase())}. ####`);
askUserQuestion("system");

要有效地使用聊天完成构建聊天机器人,请按照以下步骤操作:

  1. 为用户输入和输出做准备:我们为聊天机器人设置了一种方式来接收来自用户的消息,并使用“readline”库通过命令行发送响应。
  2. 跟踪对话:我们创建一个名为 GPTMessages 的数组来存储用户和聊天机器人之间交换的消息。我们还在 modelName 变量中指定要使用的 GPT 模型(例如 GPT-3.5-turbo 或 GPT-4)。
  3. 制作聊天机器人功能:我们创建一个名为 GPT 的功能,它将用户的消息发送到 OpenAI API 并接收响应。它还会跟踪聊天机器人在其响应中使用了多少令牌,并返回内容和令牌使用情况。
  4. 创建来回对话:我们构建一个名为 askUserQuestion 的函数,它要求用户输入,将输入保存在 GPTMessages 数组中,并通过调用 GPT 函数获取聊天机器人的响应。然后它使用“chalk”库以格式良好的方式显示聊天机器人的响应。
  5. 启动聊天机器人:我们输入一条欢迎消息,让用户知道他们正在与哪个聊天机器人聊天。然后,我们通过使用初始消息的“系统”角色调用 askUserQuestion 函数来开始对话。

提示:在写这篇文章的时候,GPT-4 模型有点不稳定,你会经常看到服务器错误、使用限制问题。我建议你为 GPT 函数实现一个自动重试功能,如果服务器没有返回状态 200,它允许应用程序延迟重试 API 调用。这个自动重试功能应该有配置最大值的选项 重试次数和重试之间的延迟。

5.GPT-4 聊天机器人在行动:一个演示

下面是我们的聊天机器人的一个例子,展示了它如何有效地回答问题并在整个聊天过程中保持对话的上下文。请注意,由于 max_tokens 设置为 100,部分响应可能会被截断,您可以根据您的要求进行调整。

请注意,在此实现中,根据邀请电子邮件,对话会话的最大令牌限制为 8k。不过,OpenAI 还有一个 32k 的 GPT-4 模型,可以一次性生成多达 50 页的文本。截至目前,似乎还无法访问此模型,或者可能仅适用于他们的企业合作伙伴。

当您使用提供的代码运行聊天机器人时,您可以与模型进行对话,它会记住聊天记录以相应地回答新问题。这有助于为与聊天机器人交互的用户创造更加无缝和自然的对话体验。

当您测试聊天机器人并探索其功能时,您会发现 GPT-4 相对于之前模型的改进,包括更好的响应质量、上下文理解和安全功能(值得商榷



Tags:GPT-4   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
微软AI程序员登场,10倍AI工程师真来了?996自主生成代码,性能超GPT-4 30%
新智元报道编辑:桃子 润【新智元导读】全球首个AI程序员Devin诞生之后,让码农纷纷恐慌。没想到,微软同时也整出了一个AI程序员——AutoDev,能够自主生成、执行代码等...【详细内容】
2024-03-18  Search: GPT-4  点击:(17)  评论:(0)  加入收藏
GPT-4 帮助员工绩效提升 40%!
整理 | 朱珂欣出品 | CSDN程序人生(ID:coder_life)自 ChatGPT 推出以来,「如何借 AI 提高生产力」成了大家工作场景中关注的问题。近日,由哈佛大学领导的一项研究发现,使用生成式...【详细内容】
2023-11-13  Search: GPT-4  点击:(142)  评论:(0)  加入收藏
用过GPT-4 Turbo以后,我们再也回不去了
昨天,很多人彻夜未眠 —— 全球科技圈都把目光聚焦在了美国旧金山。短短 45 分钟时间里,OpenAI CEO 山姆・奥特曼向我们介绍了迄今为止最强的大模型,和基于它的一系...【详细内容】
2023-11-08  Search: GPT-4  点击:(232)  评论:(0)  加入收藏
五分钟速览OpenAI发布会:GPT-4 Turbo模型、GPT应用商店等登场
 财联社11月7日讯(编辑 史正丞)当地时间周一,人工智能行业龙头OpenAI的历史首届开发者大会揭幕。OpenAI首席执行官山姆·奥特曼在接近45分钟的开幕演讲中,向全球开发者和...【详细内容】
2023-11-07  Search: GPT-4  点击:(201)  评论:(0)  加入收藏
让 GPT-4 修改文件,真的太难了!
作者 | Kevin Lu译者| 弯月出品 | CSDN(ID:CSDNnews)自 GPT-4 发布以来,我们一直在尝试让其修改长篇的代码文件。尽管它在解决复杂问题或从零开始创建复杂系统方面表现出色,但在...【详细内容】
2023-10-26  Search: GPT-4  点击:(258)  评论:(0)  加入收藏
谷歌“复仇者联盟”出击!集结 26 位技术大拿、号称“比 GPT-4 强”的 AI 王炸即将来袭?
整理 | 朱珂欣出品 | CSDN程序人生(ID:coder_life)在 AI 拉锯战上,谷歌的口令一直是:「咱不能输」。如今,谷歌带着它的“复仇者联盟”,向 OpenAI 全军出击!据外媒报道,谷歌正在马不停...【详细内容】
2023-08-21  Search: GPT-4  点击:(55)  评论:(0)  加入收藏
GPT-4 模型架构泄露:包含 1.8 万亿参数、采用混合专家模型
IT之家 7 月 13 日消息,外媒 Semianalysis 近日对 OpenAI 今年 3 月发布的 GPT-4 大模型进行了揭秘,其中包括 GPT-4 模型架构、训练和推理的基础设施、参数量、训练数据集、to...【详细内容】
2023-07-13  Search: GPT-4  点击:(291)  评论:(0)  加入收藏
OpenAI放大招:GPT-4 API,全面开放使用!
7月7日,OpenAI在官网宣布,GPT-4 API全面开放使用。现所有付费API用户都可直接访问8K上下文的GPT-4,无需任何等待。图片来源:OpenAI官网GPT-4 API,全面开放使用OpenAI表示,GPT-4是...【详细内容】
2023-07-07  Search: GPT-4  点击:(206)  评论:(0)  加入收藏
谷歌DeepMind自曝正开发新型AI模型Gemini,号称“比 GPT-4 强”
IT之家 6 月 28 日消息,在上个月的谷歌(Google) I / O 开发者大会上,谷歌公司首次透露了其正在开发的大型语言模型 Gemini。现据 Wired 报道,DeepMind 联合创始人兼 Google DeepM...【详细内容】
2023-06-28  Search: GPT-4  点击:(77)  评论:(0)  加入收藏
比GPT-4 Office还炸裂!阿里版GPT全家桶来袭
新智元报道 编辑:编辑部【新智元导读】通义千问一出世,阿里版GPT全家桶立马来了。草图秒变程序,开会还能摸鱼,会议记录邮件文案全整活!这只是开始,工作和生活将全面进入智能原生...【详细内容】
2023-04-11  Search: GPT-4  点击:(96)  评论:(0)  加入收藏
▌简易百科推荐
行业大模型快速落地的一年,如何做?
生成式AI正成为时下科技企业“讲故事”的关键词之一。但从发展上看,无论是“文生文”的大语言模型,还是“文生图”的多模态模型,更多的是辅助人们进行一些简单的办公,或者提供一...【详细内容】
2024-04-10    钛媒体APP  Tags:行业大模型   点击:(3)  评论:(0)  加入收藏
互联网充斥“针对小白的AI课”,能相信吗?普通人不学AI课程会被淘汰?
早前,一位标榜清华大学博士和多家公司AI顾问名头的百万级粉丝量博主,向用户大力推介“所有人都需要学”的AI入门课程。不过,这些课程最终因贩卖焦虑、蒙骗学员而被平台下架。然...【详细内容】
2024-04-10    九派新闻  Tags:AI课   点击:(7)  评论:(0)  加入收藏
藏在AI背后的“吃电狂魔”
人工智能时代的能耗黑洞据估算,到2027年,人工智能行业每年将消耗85~134太瓦时的电力,相当于瑞典或荷兰一年的总用电量。马斯克判断,电力缺口最早可能会在2025年发生,“明年你会看...【详细内容】
2024-04-09    雪豹财经社  Tags:AI   点击:(3)  评论:(0)  加入收藏
OpenAI和谷歌再起纷争:AI的尽头是内容
日前,纽约时报的一篇报道称,人工智能公司 OpenAI为收集高质量训练数据而开发了一个语音转录模型Whisper。该模型主要用于转录 OpenAI 获取的超过 100 万小时的 YouTube 视频,也...【详细内容】
2024-04-09  小编也疯狂  新浪网  Tags:AI   点击:(3)  评论:(0)  加入收藏
AI产业的灰色暗面:OpenAI、谷歌、META如何搞训练语料
财联社4月7日讯(编辑 史正丞)种种迹象显示,目前站在全世界AI领域潮头浪尖的这些公司,早在几年前就已经陷入对训练语料的“绝望”追逐中——为此他们不惜修改政策条款...【详细内容】
2024-04-09    财联社  Tags:AI产业   点击:(4)  评论:(0)  加入收藏
和“数字人”交朋友,当心隐私被出卖......
在虚拟社交中如何在保护用户隐私和数据安全的同时提供高质量的社交体验?如何避免过度依赖虚拟社交找到虚拟与真实之间的平衡点?《中国消费者报》记者就此展开了调查APP里有个...【详细内容】
2024-04-09    中国消费者报  Tags:数字人   点击:(6)  评论:(0)  加入收藏
AI“复活”成产业链:成本可降至数百元
大模型应用落地,带火数字人(11.560, 0.29, 2.57%)赛道。文|《中国企业家》记者李艳艳 实习生 孙欣编辑|姚赟头图来源|《流浪地球2》电影画面截图清明节前,预估会有需求的庞立...【详细内容】
2024-04-09    中国企业家  Tags:AI“复活”   点击:(3)  评论:(0)  加入收藏
多方热议人工智能产业新机遇
编者按  从前沿科技展会到高层对话平台,从上海、重庆到博鳌,从线上到线下……一场场高规格、大规模的盛会中,人工智能正在成为各界热议的高频词。赋能千...【详细内容】
2024-04-08    中国家电网  Tags:人工智能   点击:(5)  评论:(0)  加入收藏
​人形机器人时代来了吗
日前,由中国人形机器人(11.080, -0.05, -0.45%)百人会主办的人形机器人大赛在北京经济技术开发区开赛。工作人员向参观者展示一款人形机器人。参观者与一款陪护型人形机器人...【详细内容】
2024-04-08    中国青年报  Tags:​人形机器人   点击:(6)  评论:(0)  加入收藏
AI重塑社交:腾讯与字节跳动的新赛场
文|新火种 一号编辑|美美最近,腾讯和字节跳动这两大互联网巨头几乎同步推出了各自的AI社交产品,尽管腾讯和字节跳动在前段时间刚刚“破冰”,但这一举措不仅意味着这两大巨头之...【详细内容】
2024-04-07    蓝鲸财经  Tags:AI   点击:(8)  评论:(0)  加入收藏
站内最新
站内热门
站内头条