欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

chatgpt-api使用指南詳解教程【官方泄露版】

 更新時間:2023年02月20日 10:58:04   作者:新缸中之腦  
chatgpt-api是?OpenAI?ChatGPT?的非官方的?Node.js?包裝器,?chatgpt-api不再需要任何瀏覽器破解它使用泄露出來的OpenAI官方ChatGPT?在后臺使用的模型,這篇文章主要介紹了chatgpt-api使用指南【官方泄露版】,需要的朋友可以參考下

chatgpt-api是 OpenAI ChatGPT 的非官方的 Node.js 包裝器。 包括 TS 類型定義。 chatgpt-api不再需要任何瀏覽器破解——它使用泄露出來的OpenAI官方ChatGPT 在后臺使用的模型。 ??

推薦:使用 NSDT場景設(shè)計器 快速搭建 3D場景。

?你可以使用它開始構(gòu)建由 ChatGPT 支持的項目,例如聊天機器人、網(wǎng)站等…

import { ChatGPTAPI } from 'chatgpt'

const api = new ChatGPTAPI({
  apiKey: process.env.OPENAI_API_KEY
})

const res = await api.sendMessage('Hello World!')
console.log(res.text)

請升級到 chatgpt@latest(至少 v4.0.0)。 與以前的版本相比,更新后的版本明顯更加輕巧和健壯,你也不必擔(dān)心 IP 問題或速率限制。

在這里插入圖片描述

1、安裝chatgpt-api

確保你使用的是 node >= 18 以便 fetch 可用(node >= 14也可以,但你需要安裝 fetch polyfill)。

使用如下命令安裝 chatgpt-api :

npm install chatgpt

2、chatgpt-api使用方法

首先注冊獲取 OpenAI API 密鑰并將其存儲在你的環(huán)境中。

下面是簡單的一次性對話:

import { ChatGPTAPI } from 'chatgpt'

async function example() {
  const api = new ChatGPTAPI({
    apiKey: process.env.OPENAI_API_KEY
  })

  const res = await api.sendMessage('Hello World!')
  console.log(res.text)
}

如果你想進行持續(xù)多輪的對話,需要傳遞 parentMessageid 和 conversationid:

const api = new ChatGPTAPI({ apiKey: process.env.OPENAI_API_KEY })

// send a message and wait for the response
let res = await api.sendMessage('What is OpenAI?')
console.log(res.text)

// send a follow-up
res = await api.sendMessage('Can you expand on that?', {
  conversationId: res.conversationId,
  parentMessageId: res.id
})
console.log(res.text)

// send another follow-up
res = await api.sendMessage('What were we talking about?', {
  conversationId: res.conversationId,
  parentMessageId: res.id
})
console.log(res.text)

可以通過 onProgress 處理程序添加流式響應(yīng):

const res = await api.sendMessage('Write a 500 word essay on frogs.', {
  // print the partial response as the AI is "typing"
  onProgress: (partialResponse) => console.log(partialResponse.text)
})

// print the full text at the end
console.log(res.text)

也可以使用 timeoutMs 選項添加超時設(shè)置:

// timeout after 2 minutes (which will also abort the underlying HTTP request)
const response = await api.sendMessage(
  'write me a really really long essay on frogs',
  {
    timeoutMs: 2 * 60 * 1000
  }
)

如果想查看有關(guān)實際發(fā)送到 OpenAI 完成 API 的內(nèi)容的更多信息,請在 ChatGPT API 構(gòu)造函數(shù)中設(shè)置 debug: true 選項:

const api = new ChatGPTAPI({
  apiKey: process.env.OPENAI_API_KEY,
  debug: true
})

你會注意到我們正在使用反向工程得到的 promptPrefix 和 promptSuffix。 你可以通過 sendMessage 的選項自定義這些:

const res = await api.sendMessage('what is the answer to the universe?', {
  promptPrefix: `You are ChatGPT, a large language model trained by OpenAI. You answer as concisely as possible for each response (e.g. don't be verbose). It is very important that you answer as concisely as possible, so please remember this. If you are generating a list, do not have too many items. Keep the number of items short.
Current date: ${new Date().toISOString()}\n\n`
})

請注意,我們會自動處理將先前的消息附加到提示并嘗試優(yōu)化可用token(默認為 4096)。

在CommonJS中可以使用動態(tài)導(dǎo)入:

async function example() {
  // To use ESM in CommonJS, you can use a dynamic import
  const { ChatGPTAPI } = await import('chatgpt')

  const api = new ChatGPTAPI({ apiKey: process.env.OPENAI_API_KEY })

  const res = await api.sendMessage('Hello World!')
  console.log(res.text)
}

完整的使用文檔可以在這里查看

3、使用演示程序

要運行包含的演示:

  • 克隆這個倉庫
  • 安裝node.js依賴
  • 在 .env 中設(shè)置 OPENAI_API_KEY

運行倉庫中包含的基本演示程序:

npx tsx demos/demo.ts

在這里插入圖片描述

運行倉庫中包含的顯示進度處理的演示程序:

npx tsx demos/demo-on-progress.ts

上面這個演示使用 sendMessage可選的 onProgress 參數(shù)以接收中間結(jié)果,看起來就像 ChatGPT 正在“輸入”。

在這里插入圖片描述

運行倉庫中包含的多輪對話演示程序:

npx tsx demos/demo-conversation.ts

在這里插入圖片描述

倉庫中的持久性演示展示了如何在 Redis 中存儲消息以實現(xiàn)持久化:

npx tsx demos/demo-conversation.ts

任何 keyv 適配器都支持消息的持久化,如果你想使用不同的方式存儲/檢索消息,則可以進行覆蓋。

請注意,需要持久化消息來記住當(dāng)前 Node.js 進程范圍之外的先前對話的上下文,因為默認情況下,我們僅將消息存儲在內(nèi)存中。

到此這篇關(guān)于chatgpt-api使用指南【官方泄露版】的文章就介紹到這了,更多相關(guān)chatgpt-api使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Webstorm解除版本控制的場景分析

    Webstorm解除版本控制的場景分析

    這篇文章主要介紹了Webstorm解除版本控制的場景分析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • win10環(huán)境下使用Hyper-V進行虛擬機創(chuàng)建的教程(圖解)

    win10環(huán)境下使用Hyper-V進行虛擬機創(chuàng)建的教程(圖解)

    這篇文章主要介紹了win10環(huán)境下使用Hyper-V進行虛擬機創(chuàng)建的教程,本文圖文詳解給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • 使用版本控制原因及Git與Subversion介紹

    使用版本控制原因及Git與Subversion介紹

    這篇文章主要為大家介紹了使用版本控制優(yōu)點原因介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • 打造博客園(cnblogs)超級自定義界面

    打造博客園(cnblogs)超級自定義界面

    有部分網(wǎng)友提出想了解一下像我這樣的高度訂制化博客界面是如何做出來的。所以在這里給大家分享一下經(jīng)驗。
    2009-12-12
  • 本地部署 torchchat的詳細過程

    本地部署 torchchat的詳細過程

    TorchChat 是一個小型代碼庫,展示了無縫運行大型語言模型 (LLMs) 的能力,使用 torchchat,您可以在自己的 (C/C++) 應(yīng)用程序(桌面或服務(wù)器)以及 iOS 和 Android 上使用 Python 運行LLMs,這篇文章主要介紹了本地部署 torchchat,需要的朋友可以參考下
    2024-08-08
  • 如何用Idea或者webstorm跑一個Vue項目(步驟詳解)

    如何用Idea或者webstorm跑一個Vue項目(步驟詳解)

    這篇文章主要介紹了如何用Idea或者webstorm跑一個Vue項目,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 詳解HBase表的數(shù)據(jù)模型

    詳解HBase表的數(shù)據(jù)模型

    HBase 是一種列存儲模式與鍵值對存儲模式結(jié)合的 NoSQL 數(shù)據(jù)庫,它具有靈活的數(shù)據(jù)模型,不僅可以基于鍵進行快速查詢,還可以實現(xiàn)基于值、列名等的全文遍歷和檢索,下面給大家介紹HBase表的數(shù)據(jù)模型,感興趣的朋友一起看看吧
    2022-05-05
  • Git基礎(chǔ)之git在項目中的協(xié)作模式

    Git基礎(chǔ)之git在項目中的協(xié)作模式

    這篇文章主要為大家介紹了Git基礎(chǔ)之git在項目中的協(xié)作模式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • 最新Listary?v5.00.2843注冊碼?親測可用

    最新Listary?v5.00.2843注冊碼?親測可用

    listary是?windows?下一款可以快速搜索所有程序、文件,并且可以快速啟動程序和打開相應(yīng)文件的優(yōu)秀的搜索軟件,絕對比系統(tǒng)自帶搜索速度快很多,而且查詢功能豐富,本文給大家分享Listary?v5.00.2843注冊碼,感興趣的朋友一起看看吧
    2022-07-07
  • Bottle部署web服務(wù)及postman接口的方法

    Bottle部署web服務(wù)及postman接口的方法

    這篇文章主要介紹了Bottle部署web服務(wù)及postman接口的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論