位置: IT常识 - 正文

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

发布时间:2024-01-17
从零开始,国内实现调用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)

  • vivo origin怎么换主题(vivo origin怎么换壁纸)

    vivo origin怎么换主题(vivo origin怎么换壁纸)

  • 苹果海拔测量仪在哪里(苹果海拔测量仪在哪里15.4)

    苹果海拔测量仪在哪里(苹果海拔测量仪在哪里15.4)

  • OPPO手机如何取消点屏放大(oppo手机如何取出手机卡)

    OPPO手机如何取消点屏放大(oppo手机如何取出手机卡)

  • vivo的滚动字幕如何设置(vivo滚动字幕怎么弄)

    vivo的滚动字幕如何设置(vivo滚动字幕怎么弄)

  • 手机保修期多长时间(华为手机保修期多长)

    手机保修期多长时间(华为手机保修期多长)

  • 为什么抖音私信没回复就没了(为什么抖音私信发出去别人看不到)

    为什么抖音私信没回复就没了(为什么抖音私信发出去别人看不到)

  • 微信读书能否多个手机登录(微信读书能否多个账号)

    微信读书能否多个手机登录(微信读书能否多个账号)

  • 开了勿扰模式为什么还有电话(开了勿扰模式为什么电话还能打进来)

    开了勿扰模式为什么还有电话(开了勿扰模式为什么电话还能打进来)

  • 1mbps等于多少kbps(视频码率1mbps等于多少kbps)

    1mbps等于多少kbps(视频码率1mbps等于多少kbps)

  • 11promax支持5g吗(11promax支持5G吗)

    11promax支持5g吗(11promax支持5G吗)

  • 视频家庭网支持几个人同时在线沟通(家庭支持网络)

    视频家庭网支持几个人同时在线沟通(家庭支持网络)

  • 来电应急防护服务是什么意思(来电应急防护服务能收到短信吗)

    来电应急防护服务是什么意思(来电应急防护服务能收到短信吗)

  • 易考通客户端打不开(易考通打不开怎么办)

    易考通客户端打不开(易考通打不开怎么办)

  • 平板能用word文档吗(平板可以有word文档)

    平板能用word文档吗(平板可以有word文档)

  • qq的聊天记录可以保存多久(qq的聊天记录可以作为证据吗)

    qq的聊天记录可以保存多久(qq的聊天记录可以作为证据吗)

  • 苹果8p卡贴机能要吗(苹果8p卡贴机能升级系统吗)

    苹果8p卡贴机能要吗(苹果8p卡贴机能升级系统吗)

  • 有锁机黑白名单关闭(有锁机黑白名单off)

    有锁机黑白名单关闭(有锁机黑白名单off)

  • 苹果手机外屏坏了内屏也要一起换吗(苹果手机外屏坏了是什么样子)

    苹果手机外屏坏了内屏也要一起换吗(苹果手机外屏坏了是什么样子)

  • 苹果11标准配件有哪些(iphone11标准配件)

    苹果11标准配件有哪些(iphone11标准配件)

  • 一加7T怎么设置屏幕颜色模式(一加7t怎么设置呼叫转移)

    一加7T怎么设置屏幕颜色模式(一加7t怎么设置呼叫转移)

  • 如何在iwatch上用keep(如何在iwatch上用nfc)

    如何在iwatch上用keep(如何在iwatch上用nfc)

  • iphone11美版和港版区别(苹果11国行美版港版)

    iphone11美版和港版区别(苹果11国行美版港版)

  • 华为9plus怎么截屏(华为9plus怎么截长屏)

    华为9plus怎么截屏(华为9plus怎么截长屏)

  • 微信名片上的电话号码怎么删除(微信名片上的电话号码不是自己的)

    微信名片上的电话号码怎么删除(微信名片上的电话号码不是自己的)

  • 拼多多到货会提醒吗(拼多多到货会提醒收货吗)

    拼多多到货会提醒吗(拼多多到货会提醒收货吗)

  • 最贵的GameBoy是什么(最贵的游戏宣传片)

    最贵的GameBoy是什么(最贵的游戏宣传片)

  • 哪些收据可以入帐
  • 餐饮业小规模开发票开什么
  • 期末留抵增值税在哪个科目
  • 税控盘必须一直插着吗
  • 维修汽车费用
  • 境外企业转让非居民企业
  • 城市维护建设税属于什么科目
  • 核算会计科目职工薪酬的范围
  • 人防工程被出售,谁承担责任
  • 签订代销合同的人有没有退货权
  • 个税手续费返还政策最新规定2023
  • 本季度盈利可以当季弥补以前亏损吗
  • 材料款付款流程
  • 余利宝怎样
  • 收到工程施工进度款如何记账
  • 施工单位购买材料与设计不符
  • 印花税计入税金及附加什么时候开始
  • 企业所得税核定征收怎么计算
  • 个人年终奖如何交税
  • 从租计征的房产税减半政策
  • 支付车辆保险费及车船税会计科目
  • 购买材料物资入账需哪些原始凭证?
  • 专票私人能开吗?
  • 油漆的消费税
  • 个人综合所得适用什么税率?
  • 组成计税价格用来算什么
  • 餐费专用发票怎么抵扣
  • 媒体文件不能播放
  • 现在我们来看看windows中的新增内容
  • 电脑打开文件夹选项
  • 社保挂靠会计处理
  • 苹果电脑字体文件怎么拖出来
  • 偿还债券本金和利息
  • 制造企业的印花税税率
  • lscpu命令 显示CPU架构信息
  • 运输客票属于什么发票
  • 出差餐补属于福利费吗
  • 出口生产型企业
  • 开源php 系统
  • js变量作用范围
  • mysql命令的常用参数包括什么
  • 银行存款对账方法
  • sqlserver数据库和mysql区别
  • 金税四期对企业影响
  • 普通发票的税费计入应交税费吗
  • 出口货物关税完税价格包括哪些
  • 短期借款的账务处理例题
  • 非正常损失的进项税额可以转出吗
  • 购买的固定资产退货怎么做账
  • 无偿捐赠产品会计分录
  • 社保小微企业优惠政策
  • 在建工程待摊支出结转
  • 提取备用金怎么做账务处理
  • 弃置费用摊销为什么在贷方增加
  • 股东分红需要
  • 企业如何开户流程
  • 酒店酒水成本核算表
  • 多收客户购置税怎么处理
  • 金税盘发票全额抵扣如何做账
  • 会计核算方法包括
  • 内部资金管理实施细则
  • sql server 还原数据库后显示为备用只读
  • xp系统玩英雄联盟出现win32
  • ubuntu如何安装
  • win7系统怎么用键盘开机
  • 软件无法卸载怎么办,安装的软件卸载不了怎么办
  • win7系统怎么修改开机密码
  • c#多线程应用
  • mac vscode opengl
  • 网页设计css文字居中
  • nodejs图片合成
  • xcopy /s /e
  • sql服务3417
  • 利用pm2部署多个设备
  • jquery瀑布流代码
  • javascript获取html元素的方法
  • 登录电子税务局显示时间错误如果解决
  • 江苏省税务局土地增值税清算公告
  • 增值税纳税申报时间
  • 天津生育津贴如何查询申请进度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号