不会写代码,也能部署一个独立ChatGPT?

article/2024/12/23 7:46:29

在这里插入图片描述

本教程使用GPT-3模型接口模拟ChatGPT项目,虽然与真正的ChatGPT存在差异,但是演示了ChatGPT的工作原理。

(ChatGPT服务是基于GPT-3模型,经过大量的微调训练而来的,本教程暂时不包含训练内容,之后我们会讲如何进行二次训练)

部署的本地api接口使用了node-chatgpt-api这个库,库基于Node.js开发。项目地址:
https://github.com/waylaidwanderer/node-chatgpt-api

要求Node.js环境 >= 16.0.0
如果没有安装Node.js,可以到这里https://nodejs.org/en/下载安装
安装完成后,打开cmd,输入node,可以看到安装完成,版本符合要求

D:\>node
Welcome to Node.js v16.14.0.
Type ".help" for more information.
> .exit

另外还需要你有一个OpenAI的 API KEY,
可以在https://platform.openai.com/account/api-keys获取

然后同下载项目:

D:\dev2023>git clone https://github.com/waylaidwanderer/node-chatgpt-api.git
Cloning into 'node-chatgpt-api'...
remote: Enumerating objects: 576, done.
remote: Counting objects: 100% (330/330), done.
remote: Compressing objects: 100% (92/92), done.
Receiving objects: 100% (576/576), 232.08 KiB | 805.00 KiB/s, done.246 eceiving objects:  97% (559/576)Resolving deltas: 100% (351/351), done.

进入项目文件夹:

D:\dev2023>cd node-chatgpt-api

安装项目依赖:

D:\dev2023\node-chatgpt-api>npm i
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@waylaidwanderer/fetch-event-source@3.0.1',
npm WARN EBADENGINE   required: { node: '>=16.15' },
npm WARN EBADENGINE   current: { node: 'v16.14.0', npm: '8.5.2' }
npm WARN EBADENGINE }added 163 packages, and audited 164 packages in 5s38 packages are looking for fundingrun `npm fund` for detailsfound 0 vulnerabilities
npm notice
npm notice New major version of npm available! 8.5.2 -> 9.4.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.4.2
npm notice Run npm install -g npm@9.4.2 to update!

编辑配置文件:
将settings.example.js复制一份为settings.js

D:\dev2023\node-chatgpt-api>copy settings.example.js settings.js
已复制         1 个文件。

然后用编辑器打开settings.js文件进行编辑

export default {// OpenAI API 密钥openaiApiKey: process.env.OPENAI_API_KEY || '这里填写您的openai密钥',chatGptClient: {// (可选)在 https://platform.openai.com/docs/api-reference/completions 中描述的参数modelOptions: {// 默认情况下模型设置为 text-chat-davinci-002-20221122,但您可以在此处覆盖它和其他任何参数model: 'text-chat-davinci-002-20221122',},// (可选)设置自定义说明,而不是“您是 ChatGPT...”// promptPrefix: 'You are Bob, a cowboy in Western times...',// (可选)为用户设置自定义名称// userLabel: 'User',// (可选)为 ChatGPT 设置自定义名称// chatGptLabel: 'ChatGPT',// (可选)设置为 true 以启用 `console.debug()` 日志记录debug: false,},// Keyv 缓存的选项,详见 https://www.npmjs.com/package/keyv。// 这用于存储对话,并支持其他驱动程序(默认情况下,对话存储在内存中)cacheOptions: {},// API 服务器的选项apiOptions: {port: process.env.API_PORT || 3000,host: process.env.API_HOST || 'localhost',// (可选)设置为 true 以启用 `console.debug()` 日志记录debug: false,},// 如果设置,ChatGPTClient 将使用 `keyv-file` 将对话存储到此 JSON 文件中,而不是存储在内存中。// 但是,如果设置了 cacheOptions.store,它将覆盖此设置。

这里可以过时行很多配置,比如你可以给ChatGPT换一个名字,
比如:你叫小美…
完整的ChatGPT自定义说明:
"You are ChatGPT, a large language model trained by OpenAI. You answer as concisely as possible for each response (e.g. don’t be verbose). It is very important that you answer as concisely as possible, so please remember this. If you are generating a list, do not have too many items. Keep the number of items short. Knowledge cutoff: 2021-09 Current date: 2023-01-31
“你是 ChatGPT,一个由 OpenAI 训练的大型语言模型。对于每个响应,你的回答尽可能简洁(例如,不要冗长)。尽可能简洁地回答是非常重要的,所以请记住这一点。如果您正在生成一个列表,请不要有太多的项目。保持项目的数量短。知识截止日期: 2021-09 当前日期: 2023-01-31”
默认只需要填好密钥就可以进行使用了,
但是模型定义这里可能需要换成官方的付费模型text-davinci-003。
注意,此处的model默认填的 text-chat-davinci-002-20221122 这是一个泄露模型,使用不计费但是经常无法连接,所以如果你想换成正常的,可以填写 text-davinci-003,这个是计费的模型,使用会扣除帐户余额,每个帐户默认赠送18美元,用完之后需要绑定国外信用卡才能继续消费。
使用项目:
输入npm run cli启动对话

D:\dev2023\node-chatgpt-api>npm run cli> @waylaidwanderer/chatgpt-api@1.10.5 cli
> node bin/cli.js╔═══════════════╗║  ChatGPT CLI  ║╚═══════════════╝Type "!" to access the command menu.
? Write a message: !
❯ !editor - Open the editor (for multi-line messages)!resume - Resume last conversation!new - Start new conversation!copy - Copy conversation to clipboard!delete-all - Delete all conversations!exit - Exit ChatGPT CLI

输入!符号可以看到内置了几种命令
!

editor - Open the editor (for multi-line messages) - 打开编辑器(适用于多行消息)
!resume - Resume last conversation - 恢复上一次对话
!new - Start new conversation  - 开始新对话
!copy - Copy conversation to clipboard - 将对话复制到剪贴板
!delete-all - Delete all conversations  - 删除所有对话
!exit - Exit ChatGPT CLI - 退出ChatGPT CLI

我们可以尝试一下聊天:

Type "!" to access the command menu.
? Write a message: 你好┌ ChatGPT ───────────────────┐│  你好!我能为你做些什么?│└────────────────────────────┘

如果您熟悉Node.js开发,您可以将此项目嵌入到您的项目中进行开发。当然,它也可以作为一个纯粹的API接口来调用,以实现您自己的用户管理系统,管理不同用户的上下文,以及未来将要分享的自定义数据集模型训练以及训练后的使用。

// 启动一个node.js服务器
npm start 或者 npm run server 
// 启动一个docker服务器
docker-compose up

使用方法
发送消息:

{"message": "Hello, how are you today?","conversationId": "your-conversation-id (optional)","parentMessageId": "your-parent-message-id (optional)"
}

返回消息:

// HTTP/1.1 200 OK
{"response": "I'm doing well, thank you! How are you?","conversationId": "your-conversation-id","messageId": "response-message-id"
}

ChatGPT正在迅速走红,全球都在推广和关注这个项目,许多人也正在尝试从中变现获利。然而,他们所采用的方法往往都过于简单和低门槛,如“写作文”、“写求职信”等。为了实现更高水平的商业价值,我们希望尝试更复杂,更深度定制的方法。例如,我们可以通过收集数据库并进行二次训练,比如训练一个适合公司实际情况的客户服务的机器人。
因此,我们将在以后逐渐分享我们的研究步骤和操作方法,以帮助那些希望深入了解GPT模型训练的朋友。这样,他们就可以以更低的技术门槛实现更高级的商业价值。

更多精彩内容可以关注同名公众号


http://chatgpt.dhexx.cn/article/lcsrqGQi.shtml

相关文章

ChatGPT教你写代码

问题: 本人是个菜鸟,想将HTID字段和LDaiHao字段相同,且个数大于1的记录 的Feature字段值改为“共压”。 于是我凭着自己粗浅的学识,写了个sql Update 线号表 T1, (Select HTID,LDaiHao ,Count(HTID) as NUM From 线号表 Group By …

ChatGPT 能自己跑代码了!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! time leap, sci-fi, photorealistic, --niji 5 --ar 3:2 --s 1000 自 ChatGPT 发布以来,各行各业对其能力探索的举措一直没有停止。 很多大厂纷纷跟进,竞相推出自研…

如何让ChatGPT Plus教你写代码?

1、什么是chatgptPlus?和chatgpt的比较? ChatGPT 是 OpenAI 开发的一种人工智能语言模型,是对原有的 ChatGPT 模型的升级版。与 ChatGPT 相比,ChatGPT 在以下几个方面进行了改进: 更高的生成质量:ChatGPT…

如果让ChatGPT来写代码他会怎么写?

一、前言 今天突发奇想想试一下如果让ChatGPT来写51代码会怎么样呢?今天我们就一起来看一下他会怎么写51代码,机器人写出来的代码到底可不可以运行? 在开始之前我们首先让ChatGPT做一个自我介绍吧! 问: ChatGPT介绍…

快来看,我让chatGPT帮我写代码了!!!

现在AIGC很火,chatGPT的功能也是非常的强大,作为一个学计算机的,我想chatGPT必须要玩起来,哈哈哈哈~~~ 突发奇想,虽然学了几年的计算机,但是编程能力还是不行&#xff0c…

怎么用ChatGPT写代码,ChatGPT怎么改代码修BUG

ChatGPT 是一个自然语言处理模型,可以模拟人类语言生成文本,可以用于写代码和修复bug。在本文中,说一下我的经验,如何使用 ChatGPT 写代码和修bug。 怎么用ChatGPT写代码? 虽然 ChatGPT 被广泛用于文本生成&#xff0…

ChatGPT可以写代码吗【详解】

ChatGPT可以写代码吗?ChatGPT可以实现很多的操作,用户只要说出自己的需求,ChatGPT就可以帮助你进行解答,比如写代码,只要在对话框输入问题,就可以得到答案,操作很简单。具体的方法小编已经给大家…

【ChatGPT实战】11.如何使用ChatGPT写代码?

以往大家总是调侃说程序员只要会用Google就好了,直接搜对应的代码然后复制粘贴就可以了。但是只有程序员才知道真要找到可用的代码是不容易的,经常是找很久都没有合适的代码。 ChatGPT在编程方面拥有着不可忽视的优势,能够生成高质量的程序代…

人工智能写的十段代码,九个通过测试了

“抢走你工作的不会是 AI ,而是先掌握 AI 能力的人” 编程测试 1. 我想用golang实现二叉树前序,请你帮我写一下代码。 // 定义二叉树节点 type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode }// 前序遍历 func PreOrderTraversal(root *Tre…

OpenAI ChatGPT 我也体验了一下自动写程序

大家好最近 ChatGPT非常出圈,于是我也出于好奇心试用了一下自动写代码, 先写一个简单程序吧 在写一个有点难度的吧 import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.…

ChatGPT三问:是什么、从哪来、去往哪?

©PaperWeekly 原创 作者 | 张燚钧 单位 | 中国移动云能力中心 研究方向 | 预训练大模型 ChatGPT 热潮已经持续月余,目前热度依然不减。根据最新的消息,ChatGPT 的升级版 GPT-4 也已蓄势待发。回首 ChatGPT 的这波热潮,ChatGPT 是什么&a…

chatgpt在哪用?详谈一下gpt的各方面

ChatGPT是一种人工智能技术,它可以通过自然语言交互回答各种问题。这种技术已经被广泛应用于各个领域和场景中,帮助人们更好地获取知识和信息。那么,ChatGPT在哪里使用呢?下面我们来探讨一下。 一.chatgpt在哪用 打开任意的浏览器…

Voice Control for ChatGPT 轻松实现使用语音与ChatGPT进行对话。

缘由 日常生活中,我们与亲人朋友沟通交流一般都是喜欢语音的形式来完成的,毕竟相对于文字来说语音就不会显的那么的苍白无力,同时最大的好处就是能解放我们的双手吧,能更快实现两者间的对话,沟通便更高效了。Voice Co…

【插件分享】对Chatgpt的对话内容进行滚动截屏

问题描述 在和Chatgpt进行了一番友好的对话后,想要把对话内容截取出来与朋友分享,但是由于对话内容比较多,无法显示在一页里,因此需要使用滚动截屏。但是edge浏览器自带的网页捕获功能在chatgpt的聊天界面里无法实现滚动截屏。 解…

使用chatgpt完成简繁体转换

tl;dr: 语言模型可以完成简繁转换,还会故意出错以测试人类是否在认真阅读答案。 我:你是一個訓練有素的人工智能,你的任務是將中國大陸的簡體字普通話文章轉換為繁體字的台灣國語文章。例如,我輸入「计算机的内存不足,…

数据库开发工具界的ChatGPT来了

提提需求,就能按照你的要求自动生成库表、构建测试数据、查询变更数据,动不动还要帮你优化 SQL …… 这样的数据库开发工具到底有多强大? NineData 通过内置强大的AI生成能力,让你可以在 NineData 平台上,通过自然语言…

基于ChatGPT的端到端语音聊天机器人项目实战(一)

基于ChatGPT的端到端语音聊天机器人项目实战 ChatGPT API后台开发实战 本节主要是跟大家分享一个端到端的基于模型驱动的对话机器人,会有前端和后端,也会有一些具体模型的调用,读者需具有Python语言编程的基础,这是前置性的条件,有了这个基础,理论上讲本节所有的内容,…

基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码 适合个人二次开发

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境Pycharm 环境ChatterBot 环境 模块实现1. 模型构建2. 服务器端3. 客户端4. 语音录入5. 接口调用6.模型训练及保存 系统测试1. 模型效果2. 模型应用 源代码下载地址其它资料下载 前言 本项目基于机器学习和语义识…

chatgpt的语音机器人

准备工作 一.OpenAi的Api 1.登录openai 2.点击Develovpers的overview ### 3.点击右上角的Login in ### 4.点击右上角的view apikey ### 5.点击Creat new secret key 这样就会得到一个chatgpt的api,请妥善保存这个api,当你关闭这个网页的时候&#xff…

OpenAI推出iOS版ChatGPT,支持语音输入

北京时间5月19日凌晨,OpenAI重磅推出iOS版ChatGPT。 据介绍,iOS版ChatGPT供免费使用,并在不同设备上同步聊天历史。 同时,它还集成了开源语音识别系统Whisper,可以实现语音输入。 另外,ChatGPT Plus用户在i…