日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

在昨天我們跟大家分享了關(guān)于GPT-3.5模型的初學(xué)者教程指南??《OpenAI 的 GPT-3.5-Turbo 模型初學(xué)者指南》??,今天這篇文章,我們?cè)賮?lái)分享一個(gè)關(guān)于構(gòu)建 ChatGPT 的 GPT-4 聊天機(jī)器人的過(guò)程,其中包含分步說(shuō)明和完整的代碼片段。我將介紹有關(guān) GPT-4 API 的基本信息,并提供實(shí)用的見(jiàn)解來(lái)幫助您創(chuàng)建一個(gè)功能強(qiáng)大、引人入勝的聊天機(jī)器人。

我們將深入研究模型定價(jià),探索聊天完成令牌的確切計(jì)算方式。此外,我將討論 GPT-3.5-turbo 和 GPT-4 之間的區(qū)別,比較它們的性能,讓您全面了解 GPT-4 必須提供的功能。

1.了解 GPT-4 模型

如果您閱讀了本文教程,您很可能已經(jīng)熟悉 OpenAI 和 ChatGPT。GPT 模型 API 允許像我們這樣的開(kāi)發(fā)人員訪問(wèn)和使用 GPT 系列中的預(yù)訓(xùn)練語(yǔ)言模型,例如 GPT-4 和 GPT-3.5-turbo。這些模型能夠生成類似人類的文本,執(zhí)行自然語(yǔ)言處理任務(wù),并支持廣泛的相關(guān)應(yīng)用。

GPT-4 是 OpenAI 的 GPT 模型家族中最新且功能最強(qiáng)大的成員。OpenAI 聲稱 GPT-4 在大多數(shù)測(cè)試基準(zhǔn)中都超過(guò)了 ChatGPT,這意味著我們有更好的機(jī)會(huì)實(shí)現(xiàn)我們想要的結(jié)果。

此外,它還具有改進(jìn)的安全功能。然而,GPT-4 并不是 GPT 模型的全部和終結(jié),并不意味著我們應(yīng)該立即停止使用其他模型。我將在本教程后面的與 GPT-3.5-turbo 的比較部分進(jìn)一步討論這一點(diǎn)。

2.獲得對(duì) GPT-4 模型的訪問(wèn)權(quán)限

在撰寫(xiě)本教程時(shí),公眾可以通過(guò)兩種方式訪問(wèn) GPT-4 模型。

ChatGPT Plus 訂閱:通過(guò)訂閱 ChatGPT Plus,您將獲得對(duì) GPT-4 的有限訪問(wèn)權(quán)限。此訂閱允許用戶每 3 小時(shí)發(fā)送 25 條聊天消息。

GPT-4 API(僅限受邀者):目前只有受邀者才能通過(guò)等候名單訪問(wèn) GPT-4 API。我在注冊(cè)后大約 48 小時(shí)收到了我的邀請(qǐng)郵件。

請(qǐng)記住,可用性可能會(huì)隨著時(shí)間的推移而改變,因此請(qǐng)確保及時(shí)了解 OpenAI 的公告。

3.使用 GPT-4 模型構(gòu)建聊天機(jī)器人

升級(jí)到新的 GPT-4 模型 API 非常簡(jiǎn)單,因?yàn)樗褂门c GPT-3.5-turbo 相同的聊天完成方法。如果我們有權(quán)訪問(wèn),我們可以期望我們現(xiàn)有的代碼能夠與 GPT-4 無(wú)縫協(xié)作。

在本教程中,我將演示如何在 Node.js 中使用 GPT-4 API 構(gòu)建聊天機(jī)器人。但是,相同的概念適用于您選擇的其他編程語(yǔ)言。

如果您不確定提示完成和聊天完成的概念,請(qǐng)務(wù)必查看 GPT-3.5-Turbo 教程《??OpenAI 的 GPT-3.5-Turbo 模型初學(xué)者指南??》,我在其中提供了兩者的詳細(xì)比較和示例。

在繼續(xù)之前,請(qǐng)確保您已獲取 OpenAI API 密鑰并相應(yīng)地設(shè)置您的項(xiàng)目。

現(xiàn)在我們已經(jīng)掌握了基礎(chǔ)知識(shí),讓我們開(kāi)始構(gòu)建我們的 GPT-4 支持的聊天機(jī)器人。

4.安裝必要的 NPM 包

npm install dotenv openai chalk

這些庫(kù)有以下用途:

  • dotenv:允許我們將 API 密鑰安全地存儲(chǔ)為環(huán)境變量。
  • openai:用于輕松調(diào)用 OpenAI 模型 API 的官方 Node.js 庫(kù)。
  • chalk:由于我們正在構(gòu)建一個(gè)在我們的終端中運(yùn)行的聊天機(jī)器人,我們將使用 Chalk 為對(duì)話添加一些風(fēng)格,使其更具可讀性和視覺(jué)吸引力。
  • readline:一個(gè)內(nèi)置的 Node.js 庫(kù),我們將使用它來(lái)讀取用戶輸入,從而可以輕松地通過(guò)命令行與我們的聊天機(jī)器人進(jìn)行交互。

代碼片段:打造您的聊天機(jī)器人

 
// index.js 


// 導(dǎo)入所需的庫(kù)
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");

要有效地使用聊天完成構(gòu)建聊天機(jī)器人,請(qǐng)按照以下步驟操作:

  1. 為用戶輸入和輸出做準(zhǔn)備:我們?yōu)榱奶鞕C(jī)器人設(shè)置了一種方式來(lái)接收來(lái)自用戶的消息,并使用“readline”庫(kù)通過(guò)命令行發(fā)送響應(yīng)。
  2. 跟蹤對(duì)話:我們創(chuàng)建一個(gè)名為 GPTMessages 的數(shù)組來(lái)存儲(chǔ)用戶和聊天機(jī)器人之間交換的消息。我們還在 modelName 變量中指定要使用的 GPT 模型(例如 GPT-3.5-turbo 或 GPT-4)。
  3. 制作聊天機(jī)器人功能:我們創(chuàng)建一個(gè)名為 GPT 的功能,它將用戶的消息發(fā)送到 OpenAI API 并接收響應(yīng)。它還會(huì)跟蹤聊天機(jī)器人在其響應(yīng)中使用了多少令牌,并返回內(nèi)容和令牌使用情況。
  4. 創(chuàng)建來(lái)回對(duì)話:我們構(gòu)建一個(gè)名為 askUserQuestion 的函數(shù),它要求用戶輸入,將輸入保存在 GPTMessages 數(shù)組中,并通過(guò)調(diào)用 GPT 函數(shù)獲取聊天機(jī)器人的響應(yīng)。然后它使用“chalk”庫(kù)以格式良好的方式顯示聊天機(jī)器人的響應(yīng)。
  5. 啟動(dòng)聊天機(jī)器人:我們輸入一條歡迎消息,讓用戶知道他們正在與哪個(gè)聊天機(jī)器人聊天。然后,我們通過(guò)使用初始消息的“系統(tǒng)”角色調(diào)用 askUserQuestion 函數(shù)來(lái)開(kāi)始對(duì)話。

提示:在寫(xiě)這篇文章的時(shí)候,GPT-4 模型有點(diǎn)不穩(wěn)定,你會(huì)經(jīng)常看到服務(wù)器錯(cuò)誤、使用限制問(wèn)題。我建議你為 GPT 函數(shù)實(shí)現(xiàn)一個(gè)自動(dòng)重試功能,如果服務(wù)器沒(méi)有返回狀態(tài) 200,它允許應(yīng)用程序延遲重試 API 調(diào)用。這個(gè)自動(dòng)重試功能應(yīng)該有配置最大值的選項(xiàng) 重試次數(shù)和重試之間的延遲。

5.GPT-4 聊天機(jī)器人在行動(dòng):一個(gè)演示

下面是我們的聊天機(jī)器人的一個(gè)例子,展示了它如何有效地回答問(wèn)題并在整個(gè)聊天過(guò)程中保持對(duì)話的上下文。請(qǐng)注意,由于 max_tokens 設(shè)置為 100,部分響應(yīng)可能會(huì)被截?cái)啵梢愿鶕?jù)您的要求進(jìn)行調(diào)整。

請(qǐng)注意,在此實(shí)現(xiàn)中,根據(jù)邀請(qǐng)電子郵件,對(duì)話會(huì)話的最大令牌限制為 8k。不過(guò),OpenAI 還有一個(gè) 32k 的 GPT-4 模型,可以一次性生成多達(dá) 50 頁(yè)的文本。截至目前,似乎還無(wú)法訪問(wèn)此模型,或者可能僅適用于他們的企業(yè)合作伙伴。

當(dāng)您使用提供的代碼運(yùn)行聊天機(jī)器人時(shí),您可以與模型進(jìn)行對(duì)話,它會(huì)記住聊天記錄以相應(yīng)地回答新問(wèn)題。這有助于為與聊天機(jī)器人交互的用戶創(chuàng)造更加無(wú)縫和自然的對(duì)話體驗(yàn)。

當(dāng)您測(cè)試聊天機(jī)器人并探索其功能時(shí),您會(huì)發(fā)現(xiàn) GPT-4 相對(duì)于之前模型的改進(jìn),包括更好的響應(yīng)質(zhì)量、上下文理解和安全功能(值得商榷

分享到:
標(biāo)簽:GPT
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定