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

ChatGPT與Remix?Api服務(wù)在瀏覽器url地址中對(duì)話詳解

 更新時(shí)間:2023年05月06日 14:21:42   作者:喬治_x  
這篇文章主要為大家介紹了ChatGPT與Remix?Api服務(wù)在瀏覽器url地址中對(duì)話詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

本文討論 ChatGTP 與 Node.js 的結(jié)合,由于最近在學(xué) Remix, 考慮到 Remix 可以單獨(dú)的作為 API 來使用,并且集成了很多常用的功能:

  • fetch
  • dotenv
  • loader
  • 文件路由
  • ...

彎路

寫一個(gè)簡單的 ChatGPT 服務(wù)鍵值不要太簡單,但是我們?cè)谏厦嬉沧吡艘恍澛贰?/p>

  • 直接鏈接 api.openai.com 一直請(qǐng)求超時(shí),這個(gè)浪費(fèi)了很長的時(shí)間,也不知道是什么原因。面對(duì)困難我們應(yīng)該怎么辦?先放下,搜索引里面是不是有相似的問題。結(jié)果真的需要 代理, 嘗試了一個(gè)代理,其中 api.openai-proxy.com 還挺好。注意代理的安全性自行判斷。
  • 使用 npm 的 openai 還是直接發(fā)送請(qǐng)求到 https://api.openai.com/v1/chat/completions 或者 https://api.openai.com/v1/completions,又是不同的做法。經(jīng)過嘗試,選擇了前者 + fetch 方案。
  • 使用 axios 還是 fetch 呢? 都有嘗試,使用方法不一樣,但是效果基本一致。

最早的思路 1

  • 思路使用 remix 構(gòu)建一個(gè)簡單的 ChatGPT + api key 的簡單的應(yīng)用。但是前后端代碼都要寫,還沒有研究 UI 和 對(duì)接文檔。

思路2

  • 看別人實(shí)現(xiàn),由于 api 在三月份就發(fā)布了,現(xiàn)在已經(jīng)發(fā)生一些變化,比如訪問 api 的超時(shí)原因的問題。別人的環(huán)境可能與自己的不一樣。

思路3

  • 在 github 上模仿一個(gè)簡單的示例,有簡單 UI,結(jié)果還真由于基于 Next.js 的效果還可以的:nextjs-chatgpt-app-enricoros 但是,發(fā)現(xiàn) UI 是有難度的用的 MUI,內(nèi)容是有復(fù)雜度的,不符合快速原則,模仿一個(gè) antd UI 寫一個(gè) UI 自己覺的不理想,先放在那里了。后面做好了考慮開源。

思路4

  • 直接用 node.js 跑一個(gè)示例。最簡單的 url 中有 searchParams 就是與 Chat-GPT 的對(duì)話參數(shù)。

從創(chuàng)建一個(gè) Remix 開始

pnpm dlx create-remix@latest chat-app

定義 .env 文件

因?yàn)?Remix 已經(jīng)內(nèi)置 dotenv 使用使用起來非常方便。

OPENAI_API_KEY = "your api key"
PROXY_URL = "your api proxy url"

一個(gè)是 api key, 注意不要提交到 git 上, remix 創(chuàng)建項(xiàng)目默認(rèn)將 .env 文件中記錄到 .gitignore 文件中??墒褂?.env.example 文件給個(gè)示例提到 git 上。

定義 chat 路由

  • /app/routes/chat.tsx 文件即可,注意是用作 api 不要返回一個(gè)默認(rèn)的函數(shù),然后對(duì)外暴露一個(gè) loader 函數(shù),用于處理當(dāng)前路由 get 方法請(qǐng)求。下面是一個(gè)簡單的代碼實(shí)現(xiàn):
async function runCompletion(messages: any) {
  const response = await fetch(
    "https://api.openai-proxy.com/v1/chat/completions",
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        Authorization: "Bearer " + process.env.OPENAI_API_KEY,
      },
      body: JSON.stringify({
        model: "gpt-3.5-turbo",
        messages: [{ role: "user", content: messages }],
      }),
    }
  ).then((res) => res.json())
  return await response.choices[0].message.content;
}
export async function loader({ request }: any) {
  const url = new URL(request.url);
  const text = url.searchParams.get("text")!;
  return runCompletion(text);
}

啟動(dòng) Remix 服務(wù)開始與 ChatGPT 對(duì)話

pnpm dev

默認(rèn)在 3000 端口打開,下面我們?cè)L問 http://localhost:3000/fetch?text=吃了嗎 開始與 Chat-GPT 開始友好問答:

問題二:

問題就不再提了,大家肯定開始各種方式與 AI 對(duì)話了。因?yàn)?API 現(xiàn)在是送的 5 刀,每一個(gè)字都是要計(jì)算 token, 并且也有時(shí)常限制。

這里對(duì) chatapt api 的參數(shù)就不做解讀了,選擇哪種模型合適,就不再解讀。本文的主要目的,就是使用 Remix 對(duì)接服務(wù)。

小結(jié)

搞對(duì)接服務(wù)雖然不是難事,但是也沒有想象中的簡單。這是第一次對(duì)接這類接口。喜歡 Remix 的可以參考一下。

以上就是ChatGPT與Remix Api服務(wù)在瀏覽器url地址中對(duì)話詳解的詳細(xì)內(nèi)容,更多關(guān)于ChatGPT對(duì)話Remix Api的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 最新Adobe?2022全新上線?Adobe?2022永久免費(fèi)使用教程

    最新Adobe?2022全新上線?Adobe?2022永久免費(fèi)使用教程

    目前adobe2022的配置要求CPU至少是四核,運(yùn)行內(nèi)存至少是16GB,只支持windows10系統(tǒng),版本號(hào)是1809以及更高的版本,下面跟隨小編看下最新Adobe?2022全新上線?Adobe?2022永久免費(fèi)使用教程,感興趣的朋友一起看看吧
    2021-12-12
  • 申請(qǐng)Jetbrains系列軟件無限期免費(fèi)用的方法

    申請(qǐng)Jetbrains系列軟件無限期免費(fèi)用的方法

    這篇文章主要介紹了如何申請(qǐng)Jetbrains系列軟件無限期免費(fèi)用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 一文讀懂吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)概念

    一文讀懂吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)概念

    這篇文章主要介紹了吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)概念,在開發(fā)中需要先搞懂這些基礎(chǔ)知識(shí),才能更好運(yùn)用,需要的朋友可以參考下
    2020-07-07
  • Iris 環(huán)境搭建詳細(xì)教程(最新版Go&IDEA&IrisV12)

    Iris 環(huán)境搭建詳細(xì)教程(最新版Go&IDEA&IrisV12)

    這篇文章主要介紹了Iris 環(huán)境搭建(最新版Go&IDEA&IrisV12),本文通過示例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • lambda 表達(dá)式導(dǎo)致 Arthas 無法 redefine 的問題

    lambda 表達(dá)式導(dǎo)致 Arthas 無法 redefine 的問題

    這篇文章主要介紹了lambda 表達(dá)式導(dǎo)致 Arthas 無法 redefine 的問題,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 網(wǎng)站搜索框使用微信掃碼功能

    網(wǎng)站搜索框使用微信掃碼功能

    客戶要求可以直接識(shí)別標(biāo)簽二維碼對(duì)某些儀器設(shè)備進(jìn)行管理,類似于淘寶搜索框可以直接拍照搜索商品一樣。接下來通過本文給大家分享網(wǎng)站搜索框使用微信掃碼功能,需要的朋友可以參考下
    2019-08-08
  • bower 強(qiáng)大的管理web包管理工具

    bower 強(qiáng)大的管理web包管理工具

    bower是twitter的又一個(gè)開源項(xiàng)目,使用nodejs開發(fā),用于web包管理。如果越來越多得開源項(xiàng)目都托管在github上,bower只需要將github上項(xiàng)目加上一個(gè)配置文件既可以使用bower方式使用安裝包
    2013-12-12
  • Ceph分布式存儲(chǔ)集群Pool資源池簡介及使用小結(jié)

    Ceph分布式存儲(chǔ)集群Pool資源池簡介及使用小結(jié)

    這篇文章主要介紹了Ceph分布式存儲(chǔ)集群Pool資源池的概念以及使用,Pool資源池是Ceph存儲(chǔ)數(shù)據(jù)的邏輯分區(qū),起到Namespace命名空間的作用,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-06-06
  • IE條件語句 IE hack大全

    IE條件語句 IE hack大全

    條件注釋只有在IE瀏覽器被支持,因此僅適用于IE的特殊指令。從IE5起都支持
    2012-05-05
  • 微信公眾平臺(tái)開發(fā)——群發(fā)信息

    微信公眾平臺(tái)開發(fā)——群發(fā)信息

    本文主要介紹微信公眾平臺(tái)開發(fā)群發(fā)信息,這里整理了詳細(xì)的資料來說明微信公共平臺(tái)群發(fā)信息的流程,有需要的小伙伴可以參考下
    2016-09-09

最新評(píng)論