最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

引言

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

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

彎路

寫一個簡單的 ChatGPT 服務(wù)鍵值不要太簡單,但是我們在上面也走了一些彎路。

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

最早的思路 1

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

思路2

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

思路3

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

思路4

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

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

pnpm dlx create-remix@latest chat-app

定義 .env 文件

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

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

一個是 api key, 注意不要提交到 git 上, remix 創(chuàng)建項目默認將 .env 文件中記錄到 .gitignore 文件中。可使用 .env.example 文件給個示例提到 git 上。

定義 chat 路由

  • /app/routes/chat.tsx 文件即可,注意是用作 api 不要返回一個默認的函數(shù),然后對外暴露一個 loader 函數(shù),用于處理當前路由 get 方法請求。下面是一個簡單的代碼實現(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);
}

啟動 Remix 服務(wù)開始與 ChatGPT 對話

pnpm dev

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

問題二:

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

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

小結(jié)

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

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

相關(guān)文章

  • 適合后臺管理系統(tǒng)開發(fā)的12個前端框架(小結(jié))

    適合后臺管理系統(tǒng)開發(fā)的12個前端框架(小結(jié))

    當你寫項目的時候,如何快速的完成一個項目的搭建,這個時候就需要借助到一些模板了,前端開發(fā)的一個好處就是,各類UI模板都是相當?shù)凝R全的,本文就介紹幾個前端框架,感興趣的可以了解一下
    2021-06-06
  • 在本地快速部署deepseek的操作指南(3分鐘極速部署)

    在本地快速部署deepseek的操作指南(3分鐘極速部署)

    這篇文章介紹了如何在本地快速部署Deepseek模型,包括下載、安裝、運行和測試,文中通過圖文結(jié)合的方式講解的非常詳細,對大家本地快速部署deepseek有一定的幫助,需要的朋友可以參考下
    2025-02-02
  • Deepin20安裝開發(fā)環(huán)境的超詳細教程

    Deepin20安裝開發(fā)環(huán)境的超詳細教程

    這篇文章主要介紹了Deepin20安裝開發(fā)環(huán)境的步驟詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • asp php 清空access mysql mssql數(shù)據(jù)庫的代碼

    asp php 清空access mysql mssql數(shù)據(jù)庫的代碼

    php清空mysql asp情況access或mssql
    2008-12-12
  • VS2019中scanf返回值被忽略的問題及其解決方法

    VS2019中scanf返回值被忽略的問題及其解決方法

    這篇文章主要介紹了VS2019中scanf返回值被忽略的問題及其解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • TIOBE編程語言排行榜前20的語言入門書籍推薦

    TIOBE編程語言排行榜前20的語言入門書籍推薦

    這篇文章主要為大家推薦了TIOBE編程語言排行榜前20的語言入門書籍,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 超實用Internet Download Manager(IDM)破解注冊碼,全版本通用

    超實用Internet Download Manager(IDM)破解注冊碼,全版本通用

    IDM下載器是一個十分好用的文件下載工具。IDM下載器它能夠幫助你提升5倍的下載速度,強大的續(xù)傳功能,讓你不再擔心因網(wǎng)絡(luò)問題、計算機宕機、停電等原因所造成的數(shù)據(jù)不全問題,下面小編給大家?guī)砹薎nternet Download Manager(IDM)破解注冊碼,感興趣的朋友參考下吧
    2023-01-01
  • 本地搭建DeepSeek-R1、WebUI的完整過程及訪問

    本地搭建DeepSeek-R1、WebUI的完整過程及訪問

    這篇文章主要介紹了本地搭建DeepSeek-R1、WebUI的完整過程及訪問的相關(guān)資料,DeepSeek-R1是一個開源的人工智能平臺,主要用于大語言模型的本地部署和管理,通過Docker和Ollama工具,用戶可以在自己的服務(wù)器上運行DeepSeek-R1,并通過WebUI交互和測試,需要的朋友可以參考下
    2025-02-02
  • Typora配置PicGo時提示Failed?to?fetch的問題解決(typora圖像問題)

    Typora配置PicGo時提示Failed?to?fetch的問題解決(typora圖像問題)

    這篇文章主要介紹了Typora配置PicGo時提示Failed?to?fetch的問題解決(typora圖像問題),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • git倉庫遷移的方法步驟

    git倉庫遷移的方法步驟

    將 Git 倉庫遷移到新倉庫是一項常見任務(wù),通常包括復(fù)制整個歷史記錄、分支和標簽,本文就來介紹一下git倉庫遷移的方法步驟,感興趣的可以了解一下
    2024-08-08

最新評論

广水市| 新安县| 当阳市| 和林格尔县| 山西省| 古蔺县| 库车县| 阜康市| 博野县| 应用必备| 淮安市| 邵武市| 威海市| 喜德县| 彭州市| 四川省| 罗定市| 潼关县| 连州市| 玉树县| 彰化市| 萨迦县| 温宿县| 乐业县| 莱州市| 北宁市| 乌鲁木齐市| 定兴县| 垣曲县| 南丹县| 石台县| 鸡泽县| 饶阳县| 南澳县| 延寿县| 独山县| 洞头县| 宜川县| 婺源县| 呼图壁县| 托克逊县|