位置: IT常识 - 正文

从零开始,国内实现调用Open Ai(从零开始作者)

编辑:rootadmin
从零开始,国内实现调用Open Ai

推荐整理分享从零开始,国内实现调用Open Ai(从零开始作者),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:从 零开始,从零开始最近 小说,从零开始的中国,《从零开始》,从零开始国器,《从零开始》,从零开始的中国,《从零开始》,内容如对您有帮助,希望把文章链接给更多的朋友!

前言:

这是一个简单的思路,部分参考来自GPT-4。

实际可以直接参考本人主页的另一篇

《宝塔快速反代openai官方的API接口,实现国内直接使用GPT》。

目录:

目录

一:获取API

二:网页制作

三:配置:安装必要的库

四 :处理与GPT API的交互

五 :使用代理服务器来实现调用API

1.搭建一个基于Node.js的简单代理服务器:

2.使用第三方代理服务:

 结尾


一:获取API。

这里就不细说,不会的看这篇《申请普通GPT-4账号等待GPT-4 API开放的过程》或者私信我。

二:网页制作

设计一个网页界面:为了让用户能够与GPT交互,你需要创建一个简单的网页界面,包括一个输入框(用于用户输入问题)和一个显示区域(用于展示ChatGPT的回答)。

        创建一个基本的HTML文件,添加输入框、按钮和显示结果的区域。

<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ChatGPT示例</title> <link rel="stylesheet" href="styles.css"></head><body> <div class="container"> <h1>ChatGPT 示例</h1> <textarea id="input-text" placeholder="请输入您的问题..."></textarea> <button id="submit-button">发送</button> <div id="output-text"></div> </div> <script src="script.js"></script></body></html>

         创建一个CSS文件(例如:styles.css)来美化你的网页。

body { font-family: Arial, sans-serif; background-color: #f2f2f2;}.container { width: 80%; margin: 0 auto; text-align: center; background-color: #ffffff; padding: 20px; border-radius: 10px;}textarea { width: 100%; height: 100px; padding: 10px; resize: none; margin-bottom: 10px;}button { padding: 10px 20px; background-color: #007bff; color: white; border: none; border-radius: 5px; cursor: pointer;}#output-text { margin-top: 20px; text-align: left;}三.安装必要的库:确保已安装axios库,用于在JavaScript中发起HTTP请求。你可以通过npm或者在HTML文件中引入CDN链接来安装。

        如果你使用npm:

npm install axios

        如果你在HTML文件中引入CDN链接:

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>四 创建一个JavaScript文件(例如:script.js)来处理与 GPT-API的交互。document.getElementById("submit-button").addEventListener("click", async () => { const inputText = document.getElementById("input-text").value; const outputText = document.getElementById("output-text"); if (inputText) { const response = await fetchChatGPTResponse(inputText); outputText.innerHTML = response; } else { outputText.innerHTML = "请输入问题。"; }});async function fetchChatGPTResponse(inputText) { const api_key = "your_api_key_here"; const api_url = "https://api.openai.com/v1/engines/davinci-codex/completions"; const prompt = `请回答以下问题:\n问题:${inputText}\n回答:`; const response = await fetch(api_url, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${api_key}` }, body: JSON.stringify({ prompt: prompt, max_tokens: 100, n: 1, stop: null, temperature: 1, }), }); const data = await response.json(); return data.choices[0].text.trim();}

 注意:记得用你自己的API密钥替换your_api_key_here。

五 ,因为在国内是无法直接调用的,你需要使用代理服务器来实现调用API。

在这里,我将向你展示如何搭建一个基于Node.js的简单代理服务器,并提供一个使用第三方代理服务的示例。

1.搭建一个基于Node.js的简单代理服务器:从零开始,国内实现调用Open Ai(从零开始作者)

首先,确保你已经安装了Node.js。接下来,按照以下步骤创建一个代理服务器:

a. 创建一个新的文件夹,例如命名为proxy-server,然后在文件夹中运行npm init,按照提示创建一个package.json文件。

b. 安装所需的依赖项:express和http-proxy-middleware。运行以下命令:

npm install express http-proxy-middlewarec. 在proxy-server文件夹中创建一个名为app.js的文件,并添加以下代码:const express = require("express");const { createProxyMiddleware } = require("http-proxy-middleware");const app = express();const port = process.env.PORT || 3000;app.use(express.json());app.post("/", (req, res) => { const targetURL = req.headers["target-url"]; if (!targetURL) { res.status(400).send("Target-URL header is missing."); return; } delete req.headers["target-url"]; app.use( "/", createProxyMiddleware({ target: targetURL, changeOrigin: true, pathRewrite: { "^/": "" }, onProxyReq: (proxyReq, req) => { Object.assign(proxyReq.headers, req.headers); }, }) ); res.sendStatus(200);});app.listen(port, () => { console.log(`Proxy server is running at http://localhost:${port}`);});

d. 保存文件并在proxy-server文件夹中运行node app.js。现在你的代理服务器已经在本地运行了。

你可以将此代理服务器部署到云服务提供商,如腾讯云、阿里云或其他类似的服务。

2.使用第三方代理服务:

这里以ProxyCrawl作为示例,

ProxyCrawl是一个提供代理服务的第三方公司。你可以在它们的官方网站上注册并获取API密钥。

在注册并获取API密钥后,你可以修改你的script.js文件,使用ProxyCrawl服务。将fetchChatGPTResponse函数修改为:

async function fetchChatGPTResponse(inputText) { const api_key = "your_chatgpt_api_key_here"; const api_url = "https://api.openai.com/v1/engines/davinci-codex/completions"; const apify_proxy_username = "auto"; const apify_proxy_password = "your_apify_api_key_here"; const proxy_url = "http://proxy.apify.com:8000"; const prompt = `请回答以下问题:\n问题:${inputText}\n回答:`; const response = await fetch(proxy_url, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${api_key}`, "Proxy-Authorization": `Basic ${btoa(`${apify_proxy_username}:${apify_proxy_password}`)}` }, body: JSON.stringify({ prompt: prompt, max_tokens: 100, n: 1, stop: null, temperature: 1, }), }); const data = await response.json(); return data.choices[0].text.trim();}

请确保将your_chatgpt_api_key_here替换为你的GPT API密钥,将your_apify_api_key_here替换为你的Apify API密钥。

现在,你已经修改了script.js文件,可以使用Apify代理服务访问GPT API。

示例二:

这里以使用第三方代理服务"Apify"为例。首先,你需要访问Apify官网(https://apify.com/)在注册并获取API密钥后,修改script.js文件中的fetchChatGPTResponse函数,使用Apify代理服务:

在注册并获取API密钥后,修改script.js文件中的fetchChatGPTResponse函数,使用Apify代理服务:

async function fetchChatGPTResponse(inputText) { const api_key = "your_chatgpt_api_key_here"; const api_url = "https://api.openai.com/v1/engines/davinci-codex/completions"; const apify_proxy_username = "auto"; const apify_proxy_password = "your_apify_api_key_here"; const proxy_url = "http://proxy.apify.com:8000"; const prompt = `请回答以下问题:\n问题:${inputText}\n回答:`; const response = await fetch(proxy_url, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${api_key}`, "Proxy-Authorization": `Basic ${btoa(`${apify_proxy_username}:${apify_proxy_password}`)}` }, body: JSON.stringify({ prompt: prompt, max_tokens: 100, n: 1, stop: null, temperature: 1, }), }); const data = await response.json(); return data.choices[0].text.trim();}

请确保将your_chatgpt_api_key_here替换为你的ChatGPT API密钥,将your_apify_api_key_here替换为你的Apify API密钥。

现在,你已经修改了script.js文件,可以使用Apify代理服务访问ChatGPT API。

注意:在使用Apify或其他第三方代理服务时,请注意了解其服务条款、隐私政策以及可能产生的费用。

 结尾:

这只是一个简单的思路,具体问题具体分析,88~

本文链接地址:https://www.jiuchutong.com/zhishi/299106.html 转载请保留说明!

上一篇:pytorch 多GPU并行训练代码讲解(pytorch多块gpu)

下一篇:【vue2】近期bug收集与整理02(vue-bus)

  • 小米平板5附赠键盘吗(小米平板5晒单赠礼)

    小米平板5附赠键盘吗(小米平板5晒单赠礼)

  • 2016最简单的赚钱方法(2016赚钱最快的方法)

    2016最简单的赚钱方法(2016赚钱最快的方法)

  • ipad 2021款是第几代(ipad 2021款是第几代笔)

    ipad 2021款是第几代(ipad 2021款是第几代笔)

  • 苹果相机录像功能不见了(苹果相机录像功能怎么没了)

    苹果相机录像功能不见了(苹果相机录像功能怎么没了)

  • 知乎怎么复制不了文字(知乎怎么复制不了)

    知乎怎么复制不了文字(知乎怎么复制不了)

  • 苹果手机摄像头下面发热是怎么回事(苹果手机摄像头一直抖动是什么原因)

    苹果手机摄像头下面发热是怎么回事(苹果手机摄像头一直抖动是什么原因)

  • vivo手机如何安装高危软件(vivo手机如何安装2个微信)

    vivo手机如何安装高危软件(vivo手机如何安装2个微信)

  • 华为nova6有息屏时钟吗(华为手机nova6有没有灭屏显示)

    华为nova6有息屏时钟吗(华为手机nova6有没有灭屏显示)

  • 微信圈子怎么变现(微信圈子怎么换头像)

    微信圈子怎么变现(微信圈子怎么换头像)

  • 微信验证码频繁多久恢复(微信验证码频繁了 要多久才可以)

    微信验证码频繁多久恢复(微信验证码频繁了 要多久才可以)

  • qq显示手机在线是什么意思(qq显示手机在线和wifi在线有区别吗)

    qq显示手机在线是什么意思(qq显示手机在线和wifi在线有区别吗)

  • 红米note5是全屏手机吗(红米note5全屏下面白条怎么关闭)

    红米note5是全屏手机吗(红米note5全屏下面白条怎么关闭)

  • 6splus支持多少w充电(6sp支持多少瓦)

    6splus支持多少w充电(6sp支持多少瓦)

  • 怎么查看下单时的备注(怎么查看下单时购买记录)

    怎么查看下单时的备注(怎么查看下单时购买记录)

  • 手机剪图怎么剪切(手机上怎么剪图片步骤)

    手机剪图怎么剪切(手机上怎么剪图片步骤)

  • 微信收款限制怎么解除(微信收款限制怎么人脸识别)

    微信收款限制怎么解除(微信收款限制怎么人脸识别)

  • 拉黑了对方能发信息吗(拉黑了对方能发信息给对方吗)

    拉黑了对方能发信息吗(拉黑了对方能发信息给对方吗)

  • 苹果手机11是5g吗(苹果12是5g手机吗)

    苹果手机11是5g吗(苹果12是5g手机吗)

  • 无线ap是干什么用的(无线ap功能是什么意思)

    无线ap是干什么用的(无线ap功能是什么意思)

  • vivo存储卡怎么装(vivo手机存储卡怎么用)

    vivo存储卡怎么装(vivo手机存储卡怎么用)

  • 微微电话呼叫失败是什么原因(微微电话呼叫失败是什么意思)

    微微电话呼叫失败是什么原因(微微电话呼叫失败是什么意思)

  • 抖音淘宝怎么弄的(抖音添加淘宝教程)

    抖音淘宝怎么弄的(抖音添加淘宝教程)

  • 华为手机智能遥控被删了如何恢复(华为手机智能遥控在哪里打开)

    华为手机智能遥控被删了如何恢复(华为手机智能遥控在哪里打开)

  • 微信发不了动图吗(微信发不了动图是怎么回事)

    微信发不了动图吗(微信发不了动图是怎么回事)

  • 滴滴快车包括空调费吗(滴滴快车包括空车吗)

    滴滴快车包括空调费吗(滴滴快车包括空车吗)

  • 如何恢复Win10系统Windows Defender隔离的文件(怎么恢复系统win10)

    如何恢复Win10系统Windows Defender隔离的文件(怎么恢复系统win10)

  • dmsetup命令  管理硬盘映射器(dmsetup remove_all 会不会清掉数据)

    dmsetup命令 管理硬盘映射器(dmsetup remove_all 会不会清掉数据)

  • 税前扣除项目主要内容?
  • 固定资产的进项税额可以抵扣吗
  • 分派现金股利需要缴税吗
  • 综合保税区内企业
  • 附加税退回分录
  • 纳税人在什么情况下可以延期申报
  • 企业合并有几种
  • 资产减值确定计量原则包括哪些
  • 合同印花税用不用计提
  • 损益类账户的会计要素有哪些
  • 购买的发票进项税和成本怎么转出
  • 安装设备领用自产产品按成本还是计税价格
  • 固定资产按月折旧了,还能一次折旧么
  • 润滑油消费税征税环节
  • 自产农产品加工后仍属于附注的农产品,免税吗?
  • 公户收到的款都要确定收入吗
  • 销售使用固定资产账务怎么处理
  • 当月费用没结账的能先预估计提吗?
  • 房地产企业汇算清缴报表
  • 不交增值税当月还需要计提税金吗?
  • 公司增值税发票有限额吗
  • 发票一定要房东开的才能报销吗?
  • 金税控系统发票打印设置
  • 三证合一地税号查询
  • 企业的主营业务收入
  • 营业执照办下来多久能在网上查到
  • 行政单位提现预算会计处理
  • win10网络带宽
  • 期间费用属于间接生产费用吗
  • 苹果推送最新系统怎么弄
  • 临时用工怎样做账
  • upload靶场搭建
  • 企业通讯费管理办法
  • 招待费计入哪里
  • 代销商品受托方怎么做账
  • 微芯片技术
  • 企业会计准则存在的问题怎么写
  • 企业所得税年报截止日期2023
  • 浅谈php的排列组合
  • php读取文件
  • 周末闲暇时光是什么意思
  • 上月未记账,本月不能记账
  • 个体工商户可以给自己交社保吗
  • 申报完成后怎么处理
  • 向境外企业支付咨询费
  • 销项税大于进项税当月交税吗
  • 织梦常用调用标签
  • 帝国cms移动端
  • 作废的增值税普通发票怎么处理
  • 固定资产处置需要交税吗?
  • 银行退回服务费怎么写分录
  • 收到客户回款 应收账款减少还是增多
  • 支付兼职人员工资会计处理
  • 描述企业会计准则中对固定资产的具体规定
  • 来料加工的特点包括
  • 应收账款是净额列示吗
  • 如何解决windows10数据放到国外进行处理
  • fedora最新版本
  • win7系统设置wifi热点
  • Win7系统设置屏保密码
  • u盘启动安装xp系统教程
  • win7如何ghost
  • xp系统咋样
  • 自动登录xp系统怎么办
  • Android GLSurfaceView.Renderer
  • android中常用的adapter不包括
  • 开发流程和步骤
  • python 技巧总结
  • javaweb开发技术有哪些
  • Unity3D游戏开发标准教程
  • Unity3D游戏开发pdf
  • python数据操作
  • JavaScript事件类型中UI事件详解
  • js 进阶
  • 开发区税务局咨询电话
  • 税务数字证书密码修改失败
  • 年应税销售额超过小规模纳税人标准的企业
  • 北医三院预约号最晚几点取
  • 大专学费减免多少
  • 300万加币在加拿大能过什么样生活?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设