当说到抢先的人工智能研究机构,OpenAI 人工智能公司肯定是其间之一。作为全球最闻名的 AI 研究机构之一,OpenAI 的效果和奉献不可谓不深远。它在天然语言处理和生成范畴的 GPT 系列模型(GPT-1、GPT-2、GPT-3)尤为出色,引领了该范畴的开展。
假如还不清楚怎样注册运用 GPT 的同学,无妨看看这篇《(建议保藏)ChatGPT 被锁中国区 ip ?别慌,看这篇ChatGPT & OpenAI 注册运用指北》。
咱们好,我是祯民。最近 ChatGPT 对各个范畴都形成了不小的冲击,咱们或多或少都现已和 ChatGPT 对话过,并且也得到了不少答案和成果,信任对它的才干也有了较为明晰的认知。
当然这篇文章的要点并不是怎样注册运用 ChatGPT 或是怎样建立一个自己的 ChatGPT 服务,在许多同学的形象里,ChatGPT 是一个人工智能的模型,能够经过谈天的方法得到一些答案。这个并不是一个全面的认知,它能做到的工作也远不及此。
经过 GPT 模型 , 能够批量智能并且自动化地完结各行各业的作业。在这篇文章中,咱们就将来学习 GPT 的高阶玩法 — 依据GPT模型开发自动化运用, 经过这篇文章的学习,咱们将对 GPT 模型产生一个开始的认知,并且具有运用 GPT 模型运用到自己需求的方向的根本开发才干,构成整个 AI 运用维度的架构思维。本文将从以下几个大方向展开这部分的学习:
- GPT 模型篇:经过这部分的学习,咱们将对 GPT 模型具有一个相对明晰的认知,并且了解怎样依据自己的运用场景灵活选用模型。实践上,咱们运用的 ChatGPT 仅仅其间的一种模型,即 GPT-3.5-turbo 模型。
- GPT 接入篇:这部分咱们将结合实践的比如来介绍 GPT 模型的接入,包括流获取、流式接入等高阶玩法。
- GPT 运用篇:这部分我会依据我最近开发 GPT 模型的 vscode 自动化测验插件 GPT Unit Test,来详细分析整个计划是怎样规划的,并延伸到其他方向应该怎样展开详细的 AI 运用。
全文干货许多,建议保藏深读! 本文虽会以技能视角展开,可是并没有较深的技能门槛,非技能同学也能够重视,其间的 AI 运用思路信任会对优异的你有纷歧样的启示,在这个范畴,主意远比技能要更有价值。
GPT 模型篇
初识 — 什么是 GPT 模型?
GPT (Generative Pre-trained Transformer) 模型是一种依据 Transformer 结构的预练习语言模型,由 OpenAI 人工智能公司开发。它表现出色的原因是它能够在大规划文本数据上进行预练习,并依据使命进行微调,然后在多种天然语言处理使命上取得优异的成果。
GPT 模型是在大规划语料库上进行练习的。在预练习阶段,它会学习构建语句的根本结构、单词之间的关系、语句的文法和语法等等。在对其进行微调后,它能够完结比如对话生成、文本摘要、机器翻译、命名实体辨认等使命。
简略来说,GPT 是一种预练习算法模型,在它的根底上,存在一些变体,具有更大的预练习规划和数据集,使得它的天然语言才干更强,咱们一向运用 ChatGPT 便是其间的一种变体。
由于这个性质,GPT 也能够被了解为是一系列预练习模型的统称,这些变体其实咱们也能够称它们为 GPT 模型。经过这样的描绘,信任咱们也能够了解,GPT 模型的才干来自于许多数据集的重复预练习,不同的变体之间的差异也与练习的次数、规划和数据集休戚相关。
差异 — GPT-3 , GPT-3.5, GPT-4 模型之间有什么差异?
InstructGPT(2022 年 1 月)是一系列 GPT-3 模型(包括 text-davinci-001、text-davinci-002 和 text-davinci-003)统称,于GPT-3比较,它的最大不同是针对人类指令(reinforcement learning with human feedback, RLHF)进行了微调 ; InstructGPT 产生的错觉更少,更真实,但它在生成的多样性或许说创意上相对更差,由于它们试图在“对齐”的前提下,将人类偏好/价值观硬塞进原始数据模型中。
ChatGPT(2022 年 11 月)更进一步。 为了练习 ChatGPT,OpenAI 对 InstructGPT 对话模型进行了微调(马斯克在Twitter上指出openai 运用了Twitter 数据), 这种微调在必定程度上也是能够的, 差异在于运用的policy and reward model
在了解了什么是 GPT 模型后,咱们来看一下它的变体。当然除了 GPT-3, GPT-3.5, GPT-4 以外还有 GPT-2,GPT-2的才干在各方面都比较差,也不适宜微调,这儿就不展现描绘了。
首要咱们需求了解 GPT-3, GPT-3.5, GPT-4 都是具有对人类指令做出根本有用反馈的模型:
- GPT-3 模型也称 davinci 模型,它虽然具有根底的呼应才干,可是发明性比较差,在逻辑构造方面也比较难构成有规则或许说逻辑紧密的答复,所以一般来说,项意图运用(即 GPT 模型 的接入)咱们并不会直接选用 GPT-3 模型,更多是用于模型微调,来产生适宜事务的变体。
- GPT-3.5 模型是在 GPT-3 模型的根底上微调的产品,比较之下,它具有更强的语言逻辑组织才干和发明力,也是现在运用范围比较广的 GPT 模型。
- GPT-4 模型在 GPT-3.5 模型上供给了更具有实效性的数据集来进行微调,在时效性、发明力上都有必定的提升,缺点是还没有彻底揭露,需求体会名额,或许接入微软供给的 azure gpt 模型运用。
明晰认知 — 最近大火的 ChatGPT 运用的是哪种模型?
那么咱们平常常用 web ChatGPT 运用的是哪种模型呢?一般来说,运用的都是 GPT-3.5 模型,即 gpt-3.5-turbo 和 gpt-3.5-turbo-0301 这两种模型。
上文咱们也说到 GPT-3 模型一般是不会直接用来运用的,而 GPT-3.5 模型是在 GPT-3 模型根底上做出的更具发明力的模型,也是最根本适宜运用直接运用的模型。至于 GPT-4 模型现在还没有直接推广,需求和企业签订协议,或许拿到体会名额后才干测验。(不过现在我试验下来的效果,个人感觉,GPT-4 和 GPT-3.5 并没有太大差异)
咱们在看完 GPT 接入篇后也能够测验接入一下 GPT-3 模型试试效果,比较现在的答案实体,GPT-3 的答案更像是信息的堆砌,所以这也是 GPT-3 模型一般是作为其他模型母体的原因。
思路确定 — 运用阶段,咱们应该挑选哪种模型?
假如你的运用比较轻量,没有过多的事务布景或是技能壁垒(即没办法在外网查阅到),那么能够直接接入 GPT-3.5 及以上模型。
反之,假如你的运用需求了解事务布景,或许存在一些自研的才干,构成了技能壁垒,又或许是在时效性上有更高的要求,那么则需求以 GPT-3 模型为母体,进行微调。
微调的文档能够参阅platform.openai.com/docs/api-re… ,这儿不再赘述,需求留意的是,请提前准备好和你事务布景、技能才干相关的练习数据,微调的效果与数据集的完好度和逻辑牢靠性强相关。
GPT 接入篇
迈出第一步 — GPT 模型的接入 ?
信任咱们在上面的学习中,应该现已对 GPT 模型有了一个较为明晰的认知,事实上,GPT 模型供给能够为运用接入的才干,咱们能够依照自己主意为自己的事务接入 GPT,并依据它批量完结一些工程化的工作。
当然这儿说到的自动化才干,绝不仅仅是 ChatGPT 这种 web 谈天这么简略, 经过对实践事务场景的通用性问题总结以及规则性成果处理,咱们彻底能够做到自动化完结一些工程化的工作,比如测验,代码优化等等,这个便是后话了,咱们会在运用篇详细介绍。
GPT 模型供给了 fetch 和 npm 包两种方法接入,当然这两种接入方法底层都是相同的,npm 包能够了解为是依据 fetch 逻辑的 nodejs 包装。接下来,我会结合实践的比如来给咱们详细解说 GPT 模型的接入以及实践事务接入运用中必须处理的一系列问题。
GPT 模型接入 — fetch
GPT 模型能够经过接口的方法来完结接入,上面咱们说到 GPT-3 模型有许多变体,别离用于不同职业方向,比如 图片、谈天等,详细的文档咱们能够参阅 platform.openai.com/docs/api-re…
下面咱们将以谈天模型的接入展开介绍,这个是咱们运用中最常用的模型(即使不是用来做谈天室),它的成果更具有逻辑性,简单总结出通用性问题并会集处理, 咱们来看下面的比如
const messages = "Once upon a time";
const apiKey = "<INSERT_YOUR_API_KEY_HERE>"; // OpenAI API 授权密钥
const apiUrl = "https://api.openai.com/v1/chat/completions";
const headers = {
"Content-Type": "application/json",
Authorization: `Bearer ${apiKey}`,
};
const data = {
messages,
max_tokens: 5,
};
const options = {
method: "POST",
headers,
body: JSON.stringify(data),
};
fetch(apiUrl, options)
.then((res) => res.json())
.then((json) => console.log(json))
.catch((err) => console.error(err));
在上面的比如中,咱们完结了一个简略的 fetch 方法的接入,其间 apiurl 即是 chatgpt 模型的接入地址,咱们需求获取到 openAPI KEY 并作为鉴权传入 headers 中,其间 openAPI Key 能够从 openAI 账号中生成,是一个用户信息鉴权 key,运用进程将会耗费 openAI 的额度,咱们能够到 platform.openai.com/account/api… 生成。
data 的部分是 openAI 供给给咱们的参数,能够进行一些自定义的装备,咱们需求重视的有下面这些参数:
- model:文本生成器运用的模型,即 GPT-3.5及以上 模型
- messages:文本生成器的输入,表明您要向 API 提出的问题或问题描绘。
- temperature:操控生成的文本的随机性。值越高,生成的文本越具有发明性和想象力。当然并不是越高越好,值越高,答案存在过错的或许性也越高,需求依据事务场景灵活调整,默以为 0.7。
- max_tokens:生成文本的最大长度,以 token 数量为单位。默以为 150,最大为 2048。
- top_p:操控模型多个单词的权重。取值范围从 0 到 1,默以为 1.0。
- n:恳求 API 生成的新文本的数量。默以为 1。
- stop:假如生成的文本包含以下恣意一个字符串,即停止文本生成进程。默以为一个空数组 []。
- presence_penalty:生成文本时削减呈现重复子串。若设置,则模型测验消除两个现已重复呈现的词语间的文本。默以为 0.0。
- frequency_penalty:在生成文本时惩罚运用过于频频的单词。较高的值有助于进步生成文本的多样性,但或许会导致生成文本的不连贯性等问题。默以为 0.0。
需求额定留意的是,该模型输入(即 messages)最大为 4096 token,这儿 token 的单位指的是天然语言处理范畴中的最小语言单位,能够了解成小于等于1个单词,而输出(即max_tokens)最大为 2048 token。
也便是说假如问题过大,或许说答复过大,都将会形成内容的切断,常规的调用并不能无约束地问答,当然这个也是有解法的,咱们会在下文中流相关部分详细介绍。
GPT 模型接入 — npm 包
除 fetch 调用外,咱们还能够经过 npm 包的方法完结接入,当然底层都是用 fetch 链接,咱们需求装置一下 npm 包的依靠。
npm install openai --save
咱们来结合比如看看详细应该怎样经过 npm 接入 GPT 模型
const openai = require("openai");
const prompt = "Once upon a time";
const apiKey = "<INSERT_YOUR_API_KEY_HERE>"; // OpenAI API 授权密钥
openai.api_key = apiKey;
const parameters = {
model: 'text-davinci-003',
prompt,
max_tokens: 5,
};
openai.Completion.create(parameters)
.then((response) => console.log(response))
.catch((err) => console.error(err));
不过需求留意的一点是,fetch 中咱们举例调用的 chatgpt 模型,即 gpt-3.5-turbo 及以上模型,而 npm 包不需求填 fetch 链接,假如想调用了 davinci 模型(即 gpt-3),参数需求有一些调整,需求将 messages 换成 promt,由于 davinci 底层调用的链接其实是 api.openai.com/v1/completi…
假如用的是 gpt-3.5-turbo 及以上模型, 那么 parameters 中的问题描绘参数请用 messages。
流获取 — 怎样处理 max_tokens 答案切断的问题?
在上文中,咱们有说到 gpt 输出的成果长度由一个参数 max_tokens 约束,最大为 2048。可是在实践的事务场景中,咱们不或许确保咱们需求的答案必定只在 2048 内,一个或许切断的答案咱们是没办法进行有用规则地提取咱们需求的内容然后做一些工作的。
这个问题很头疼,可是是有解法的,咱们来看下面这段示例
/**
* 问询 openai 问题
* @param question
* @returns
*/
const openApiAsk = async (question: string) => {
const openApiKey = 'test'; // your openApi key
// 以流的方法接入
const responseStream = await axios({
method: 'POST',
url: openAIURL,
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${openApiKey}`,
},
data: JSON.stringify({
model: 'gpt-3.5-turbo',
messages: [{ role: "user", content: question }],
max_tokens: 2048,
temperature: vscode.workspace.getConfiguration().get('chatgptUiUnitTest.temperature')
}),
responseType: 'stream'
});
return responseStream;
};
// 处理文件流
const question = "hello openai";
const resultStream = await openApiAsk(question);
const fileStream = fs.createWriteStream('test.txt');
resultStream.data.pipe(fileStream);
fileStream.on('close', () => {
fs.readFile('test.txt', (err, data) => {
fs.writeFile('test.txt', data.toString(), (err) => {
// 二次处理, do something
});
});
});
在上面的比如中,咱们在恳求中补充了一个呼应类型,即 responseType:stream
,这将使得 openai 的呼应将由一个固定的成果,调整为文件流。在后面的逻辑中,咱们创建了一个可写流,接纳这个可读流,并将内容完好写入到文件中。
流是一种处理读写文件、网络通信或任何端到端信息交换的有用方法。流的独特之处在于,它不像传统的程序那样一次将一个文件读入内存,而是逐块读取数据、处理其内容,而不是将其悉数保存在内存中。这也是为什么经过这种方法能够打破 max_tokens 长度约束的原因,由于咱们并不是一次性拿到悉数的答案,而是逐步写入。
流式接入 — 怎样打破输入的约束(ChatGPT 完结原理)?
上文中咱们有说到,除了输出有 2048 token 的约束外,不仅如此输入也是有的,咱们的输入不能超过 4096 token,否则就会被 openAI 回绝。事实上,在真实的事务场景,假如触及代码,这个约束是很简单被超过的,那么这个问题咱们能够怎样解呢?
咱们能够选用相同的思路,树立流,并经过 webSocket 坚持一个耐久化衔接,咱们知道 gpt 的问题在长衔接的状况下是能够保有上下文的,经过拆解咱们的问题,将一个大问题分解为多个小字符串输入给 gpt,然后到达打破输入约束的意图,咱们来看下面这段示例代码。
const WebSocket = require('ws');
const ws = new WebSocket('wss://api.openai.com/v1/chat/completions');
let buffer = '';
ws.onopen = function() {
ws.send(JSON.stringify({
"model": "gpt-3.5-turbo",
"messages": "test",
"temperature":0.5,
"max_tokens":1024,
"n":1,
"stream":true
}));
};
ws.onmessage = function(event) {
if (typeof event.data === 'string') {
buffer += event.data;
let lines = buffer.split('\n');
if (lines.length > 1) {
console.log(lines[0]);
buffer = lines[lines.length - 1];
}
}
};
ws.onerror = function(event) {
console.error(event);
};
process.stdin.on('data', (data) => {
let message = data.toString().trim();
ws.send(message);
console.log('You: ' + message);
});
function terminate() {
console.log('WebSocket disconnected.');
process.exit();
}
ws.onclose = function(event) {
console.error(`WebSocket closed with code: ${event.code}`);
terminate();
};
process.on('SIGINT', function() {
console.log('\nClosing WebSocket...');
ws.close();
});
process.on('unhandledRejection', function(reason, p) {
console.error(`Unhandled Rejection at: ${p}. Reason: ${reason}`);
terminate();
});
在上面的示例中,咱们用 websocket 树立了一个耐久化衔接,需求留意的是,参数中咱们为它敞开 stream: true,这个参数将呼应数据流式回来,这样能够在运用 WebSocket 或其他无状况通信协议时,实时处理生成的呼应文本,这样就能够在需求长期持续对话时节约恳求时刻和开销,并使对话进程更加天然连贯。
看完这部分信任咱们会有一个额定的收成, web chatgpt 是怎样完结的?是的,也是选用这种方法,用 websocket 树立耐久化衔接,持续输入取得答案。
GPT运用篇
抛砖引玉 — 依据 GPT 模型的自动化测验 vscode 插件(GPT Unit Test)
在完结上面的学习后,信任咱们对 GPT 模型和它的接入都有了开始的认知,或许现已对做一个自己的运用跃跃欲试了,在这儿想提示一下咱们:
由于 GPT 模型本质上是一个练习集模型,这意味着你问它的一切问题,都会上传到外部,留意隐私和数据安全是很重要的工作,一些内部或许公司内的代码或许敏感信息不要拿来问 GPT 哦~
咱们言归正传,在运用篇我会以我最近写的一个 demo — “依据 GPT 模型的自动化测验 vscode 插件(GPT Unit Test)” 为咱们解说应该怎样运用 GPT 模型到你感兴趣的方向中,期望对咱们有必定启示。
这个插件现已发布到了 vscode extensions,咱们能够直接装置运用
插件的运用很简略,在装置完结插件后,文件夹和文件的右键目录中会多出一个选项 generate unit test,点击后假如没填写有用 openApi key 会要求填写,鉴权完结后即可自动为需求的文件目录或是文件生成单元测验,当然也支撑 ignore 文件和测验库等装备,详细的咱们能够阅读 readme,其间有更详细的解答。
由于是个 demo,所以或许依然有bug,可是主流程上经过测验是没有问题的,假如你呈现不能运用的情况,或许是以下情况:
- 中国区ip被锁,需求替换虚拟 ip, 由于底层它用的仍是 openAI 的才干
- vscode 的 engines 版别低于 1.77.0,这个需求晋级 vscode 版别
- 输入的 token 约束,测验文件过大,这个 demo 版还没支撑,现在测验下来 300 行上下的文件测验质量仍是很在线的
- 其他的一些问题,这个你能够在谈论区或是依照 readme 中奉献 & issue 的方法联系我,我会赶快答复你
当然这个插件或许不必定会持续迭代,这仅仅我技能建设抽离出来的一个 demo 版别,在隐私性没办法做得更好,所以只适宜 C 端项目(GPT 是揭露的),后续的迭代或许都会以我内部对应的技能建设项目为主(咱们用不了0x0),所以这也是我不敞开奉献的核心原因。
假如是插件主流程阻塞的问题我或许仍是会修的,现在看来没有,首要仍是会依据我的个人时刻来决议(简直没什么个人时刻)。
虽然可是~我想这个插件作为一个 AI 运用方向,用来抛砖引玉我信任会是很好的借鉴,也期待得到更多咱们的反馈。下面咱们就来详细谈谈这个插件是怎样规划的。
场景复原 — GPT Unit Test 是怎样规划 & 与 GPT 模型结合的?
咱们先来看看这个插件的流程图
其实能够看到整个流程是并不杂乱的,除了 openAI 的流式接入外,首要的逻辑都仅仅一些 i/o 操作,并且这边咱们并没有与 GPT 树立耐久化衔接。
由于在这个 case 中,单元测验有一个重要的特色,便是单一准则上体现比较强,在关于一个组件的测验中,我会拆分为 n 个文件,每个文件独立测验,依靠的部分 gpt 则选用 mock 的方法完结,即 A 引用 B, 那么 A 的单测中只确保 B 和 运用 B 调用的内容存在,而 B 的功用则在 B 的用例中跑。
经过上面的拆分,一个组件的测验咱们将不再需求重视全体,GPT Unit Test 的最小粒度就被拆分为了文件,而不是组件或是其他代码集合。接下来只需求依照常规的遍历文件体系,逐步以流的方法写入就行,详细接入的代码在 GPT 接入篇有解说,还不清楚的同学能够回过头看看。
方向调研 — 怎样判断 GPT 模型在某个方向的可行性?
回忆上面的进程,咱们能够发现 AI 的运用技能门槛并不高,相反更高的反而是计划的规划以及你怎样去运用,就像是一个“万能”(偶然会胡说八道)的接口,只需能够找到对应方向的运用规则,就很简单拿到预期的成果,并做一些工作。
这儿帮咱们提取了这个进程真正需求重视的、耗费时刻的三点:
- 牢靠性验证:确保 AI 帮你完结的工作是牢靠的,这个进程需求经过许多 case 比照,将 AI 完结的用例和我写的进行比照,看看谁优谁劣,这儿怎样比照的我就不赘述了,单元测验的部分不是这篇攻略重视的要点。当然终究我得出了结论,AI 写的用例掩盖率、mock 和单一准则都很在线,不亚于我写的。
- 通用性问题的总结:你运用 AI 不仅是处理单个问题,那么在每次处理之后,这些问法之间是否有共通的地方,能否总结出在必定微调后就能够运用的通用性问题,这个进程需求经过重复测验,并补充边际情况的约束。比如 GPT Unit Test 运用的通用性问法便是这个
运用 jest 和 xxx (插件暴露出来给用户装备,暂时供给三个,mocha, enzyme 和 react-testing-library ) 为下面文件掩盖单元测验,要求一切的用例代码写在一同,且掩盖率到达 100%。需求测验的文件途径为 zzz (文件体系里取出来) ,且在单元测验的文件上一级目录,需求运用相对途径完结引用,请留意引用途径。请依据上述要求给出完好可用,具有有用依靠引用的代码。需求掩盖单元测验的文件代码如下 yyy
- 成果是否规则可提取:每次拿到的成果是否存在必定规则,能否依照必定的格局或许套路提取出你需求的内容,这也是为什么我要求 gpt 把一切的用例代码写在一同的原因,经过这种方法我就能运用正则提取出代码块,再进行文件写入,这个相同也是需求经过 case 测验并对通用性问题进行补充的。
假如说,你感兴趣一个方向,并且期望这个方向能够运用 AI 进步效率,或许发明收益价值,那无妨回忆一下这三点,假如这三点都想清楚了,那 GPT 模型在这个方向必定是大有可为的。
你也能够做到!– 将 GPT 模型运用到某个方向的可复刻实践计划
经过上面的学习,信任许多同学心里都现已有了自己的答案,将 GPT 模型运用到某个方向的可复刻实践计划无非便是三点:
- 牢靠性验证
- 通用性问题的总结
- 规则性成果提取
当咱们处理一个大问题的时候,咱们有一个常见的算法思路,便是分治法,经过把大问题拆解为小问题,再逐步将小问题处理,然后到达处理大问题的意图。在将 OpenAI 运用到某个方向的时候,也是相同的道理。
以自动化测验为例,假如我需求使得 OpenAI 能够批量去处理某些场景,那么首要 OpenAI首要要能处理某个比如的自动化测验用例生成,由于一个都不能处理,那就不用去考虑批量或许说更多场景的工作了。
假如每个小问题都逐一处理后,咱们需求考虑的就只剩下比照这些问法中心的共同点与不同点了,经过这个进程,提取出通用性问法便是能够运用到这个方向的关键了。 就和动态规划的动态表达式一样,难的并不是动态规划,而是表达式的提取,当完结这一步 OpenAI 在这个方向的运用就现已完结多半了。
在拿到通用性问法后,至少能够说明这个方向是可行的了,在绝大多数场景下,一个适宜的问法都能够拿到一个比较有规则的答案,咱们经过正则等字符串处理的方法就能拿到终究的成果。假如成果比较多样性,那大概率是由于通用性问题缺乏一些约束。
就比如“为下面文件生成用例,要求掩盖率100%,且当时文件途径为xxx,请运用合理的相对途径引入”远远比“为下面文件生成用例”得到的答案更具有规则性,假如由于成果不够规则,不知道该怎样提取成果,在放弃前无妨试试多加一些约束(即使这些约束在你看来像是废话)
当时这些更像是坐而论道,详细怎样问也要结合实践场景,和许多 case 测验后才干提取出来,无妨斗胆试试,甘愿犯错,也不要什么都不做。不仅是测验,相似代码优化、功能优化、代码迁移重构其实 AI 都能够做到,并且我信任大有可为,至少在这个范畴,主意远比技能要更有价值。
小结
这篇攻略咱们别离就 GPT模型、GPT模型接入、GPT模型运用三个方向结合比如详细学习了 GPT 的高阶玩法 — GPT模型自动化运用,不管是建立一个私服 chatgpt,仍是利用 gpt 的才干完结一些工程化,或许是代码优化的内容,都能够参阅上面的部分,信任大有可为~
仍是那句话,在这个范畴,主意或许远比技能要更有价值,GPT 的运用还远不及此,最近推出的 GPT 克隆人、AutoGPT 都让人眼前一亮。
或许有一天漂泊地球 2 中的数字生命也不再是梦想,假如用 websocket 建立两个 gpt-3,并且经过必定的数据微调让他们扮演两个人,互相对话练习又会产生什么呢?
这个方向有太多能够探索的东西,期望咱们能够不设边界,多去测验,或许真的你便是改变国际的那个人~假如对这方向有疑问或许需求讨论的内容,也欢迎咱们在谈论区与我交流!