教你通过API在本地使用ChatGPT

admin1年前笔记135

前言

首先申明本教程仅限有编程经验的同学才能看懂或者使用,需要准备条件:

1.ChatGPT key,无论是3.5还是4都可以;

2.科学上网的环境-最好US;

3.本地准备好Node环境16以上版本;

4.阿里云账号;


首先我们要登录阿里云账号的后台,然后进入函数FC的界面:

确保你的函数FC权限是开的

函数FC的使用流程在这里不做赘述,请开发的同学自己去阿里云官网文档中心去查看;

地址:help.aliyun.com/document_de…

配置好本地的开发工具之后,直接使用FC的命令:

部署之前检查配置文件的区域一定要选择美国区域:us-west-1

bash复制代码初始化目:s init openai-proxy -d openai-proxy
部署项目:cd openai-proxy && s deploy - y

本地初始化完的项目目录结构是这个样子,如果要改区域可以修改s.yaml:

修改FC节点到美西

当你部署完之后,会出现这样的输出结果:

到这里你的OpenAI,代理服务已经部署成功了,上边的domain是社区提供的免费地址,有可能过期就不能访问了,所以建议配置自己的域名。

请注意,到此这只是代理服务部署成功不等于可以访问像GPT那样的界面了,所以接下来我们还需要配置一个可以对接代理服务的前端聊天窗口;

我这里使用的是开源项目:chatbat-ui ,界面有点以假乱真,哈哈哈;

开源地址:

github.com/mckaywrigle…

是的它长这个样子

官方提供了很多部署方案,有docker k8s 等等,我只是想从本地跑起来使用,所以我把项目download下来之后,通过本地的安装方式启动,主要关键步骤为:

前置步骤,需要配置本地的配置文件:

这里我把我的配置文件放到这里仅供参考

DEFAULT_MODEL=gpt-3.5-turbo
NEXT_PUBLIC_DEFAULT_SYSTEM_PROMPT=You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown.
OPENAI_API_KEY=YOUR_API_KEY


OPENAI_API_HOST=http://openai-proxy.openai-proxy这里是你的代理地址,就是函数FC的domain
# Google
GOOGLE_API_KEY=YOUR_API_KEY
GOOGLE_CSE_ID=YOUR_ENGINE_ID

1、npm install ;
2、npm run dev;


好了到此为止,本地的ChatGPT的前端就启动了,然后你就可以随时随地的使用自己的ChatGPT了。

大家可能担心函数FC的成本问题,这里假如个人用的话可以忽略不计,阿里云的函数FC按量计算,个人的使用量基本可以忽略;

下边是开源项目的本地调试描述,可以作为参考:

Running Locally


1.Clone Repo

git clone https://github.com/mckaywrigley/chatbot-ui.git


2.Install Dependencies

npm i

3.Provide OpenAI API Key

Create a .env.local file in the root of the repo with your OpenAI API Key:

OPENAI_API_KEY=YOUR_KEY

You can set OPENAI_API_HOST where access to the official OpenAI host is restricted or unavailable, allowing users to configure an alternative host for their specific needs.

Additionally, if you have multiple OpenAI Organizations, you can set OPENAI_ORGANIZATION to specify one.

4.Run App

npm run dev


相关文章

ChatGPT一周年,你错过了多少革命性时刻?一图总结2023生成式AI里程碑大事件时间线

ChatGPT一周年,你错过了多少革命性时刻?一图总结2023生成式AI里程碑大事件时间线

2022 年 11 月 30 日,OpenAI 宣布正式推出 ChatGPT。365 天过去,斗转星移,我们一起见证了生成式 AI 的寒武纪大爆发。Generated by DALL·E3这一年来,国...

加密算法史

加密算法史

本文就尝试由古及今,对这种与我们网络生活息息相关的加密算法的发展演变,以及在整个过程中先后出现的集中关键加密算法一一论述,带领大家了解背后这种有趣的算法。加密算法主要作用是把明文变成密文,防止信息泄露...

多主机网络下 Docker Swarm 模式的容器管理

多主机网络下 Docker Swarm 模式的容器管理

本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm 模式对各主机上的容器加以管理。Docker Engine – Swarm 模式在多台主机之上运行 MySQL...

介绍Linux下的 Tun/Tap

介绍Linux下的 Tun/Tap

什么是Tun/TapTAP等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发...

传授Linux配置开机自启动执行脚本秘籍

开机要启动的脚本qidong.sh[root@c69-01 scripts]# vim /server/scripts/qidong.sh [root@c69-01...

MySQL DBA 需要了解一下 InnoDB Online DDL 算法更新

MySQL DBA 需要了解一下 InnoDB Online DDL 算法更新

在 MySQL 8.0.12 中,我们引入了一种新的 DDL 算法,该算法在更改表的定义时不会阻塞表。第一个即时操作是在表格末尾添加一列,这是来自腾讯游戏的贡献。然后在 MySQL...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。