前语

最近ChatGPT好火,也发明了很多优秀的使用

于是乎,我也想出一篇教程,带领我们打造一款免费 ChatGPT 使用。


准备工作


▼ 搭建免费服务器 ▼

薅免费服务器,引荐注册Vercel

快速搭建公网免费 ChatGPT 应用

▼ 搭建免费数据库

引荐注册supabase

快速搭建公网免费 ChatGPT 应用

▼ 下载使用源码

下载项目模板,或许我们能够fork到自己的github进行修改


布置使用


▼ 创立数据库 ▼

注册完supabase之后,初始化sql,项目中supabase\migrations\20230406025118_init.sql

快速搭建公网免费 ChatGPT 应用

快速搭建公网免费 ChatGPT 应用

▼ 创立使用 ▼

最快的方法直接引用我的项目

创立使用

快速搭建公网免费 ChatGPT 应用

选择使用

快速搭建公网免费 ChatGPT 应用

快速搭建公网免费 ChatGPT 应用

导入你的使用代码

快速搭建公网免费 ChatGPT 应用

点击布置即可

快速搭建公网免费 ChatGPT 应用

装备openAI token key变量

快速搭建公网免费 ChatGPT 应用

装备supabase变量

快速搭建公网免费 ChatGPT 应用

快速搭建公网免费 ChatGPT 应用

装备之后,重新布置一下使用

快速搭建公网免费 ChatGPT 应用

优化答案

为什么还要做这一步呢?由于用户一般会提问题都会很简单,所以可能会导致答案会很简单。

那怎么处理呢?

扩展!我们能够尽可能地给ChatGPT提供更多的关键词,让他的答案更加丰富。

完成方法:在项目中 /pages/docs/xxxx.mdx 创立markdown文件,发明相关的内容

完成原理

构建时

项目布置的时候,generate-embeddings.ts 里面的逻辑会解析mdx文件内容 插入到 nods_page、nods_page_section 表中。

embedding 字段存储了一大串的数字,这个是经过恳求ChatGPT解析得到向量数据(PS:可自行学习一下向量搜索,这个我也没深入了解)

快速搭建公网免费 ChatGPT 应用

插入是的数据如下:

快速搭建公网免费 ChatGPT 应用

快速搭建公网免费 ChatGPT 应用

运行时
  1. 用户建议恳求的时候,同样是经过恳求ChatGPT embeddings接口得到向量数据,然后和nods_page_section表中的embedding 字段进行匹配;
  2. 在过程2中得相关的关键词之后,经过组装数据,建议ChatGPT completions 会话接口;
  3. 给用户返回答案。

快速搭建公网免费 ChatGPT 应用

体验

好了,布置成功,此时我们能够经过拜访 interview-ai.vercel.app

快速搭建公网免费 ChatGPT 应用

界面如下

快速搭建公网免费 ChatGPT 应用

快速搭建公网免费 ChatGPT 应用

本地开发

  • cp .env.example .env
  • 在新创立的.env文件中设置OPENAI_KEY
# 装置pnpm
npm install -g pnpm@7.32.0
# 装置next
npm install next --registry=https://registry.npmmirror.com
# 装置项目依靠包
npm install --registry=https://registry.npmmirror.com
# 发动项目
pnpm dev

PS:本地开发会有一些小问题,openAI 接口需要署理,本地是无法直接恳求,需要改造一下代码走署理才行。

总结

Vercel 虽然是国外的服务器,但国内拜访还是挺快的,并且布置也很方便,主要是免费!!!

能够凭借开发模板快速构建AI使用