bca 发表于 2023-4-8 12:11:47

ChatGPT 从入门到精通

ChatGPT 从入门到精通

本文是由 ChatGPT 自动生成的。

ChatGPT 是一款基于大数据训练的高智能问答机器人,由 OpenAI 公司开发。ChatGPT 能够理解自然语言,回答用户的问题,并提供自然语言处理、机器翻译、智能客服等服务,让用户更方便快捷的处理自然语言相关问题。

历史

人工智能技术的初期发展阶段,机器人只能完成简单的任务,掌握基础的语言理解和表达。随着技术的进步和应用场景的扩大,人们开始要求机器人能够像人类一样进行复杂的语言交流。因此,OpenAI 公司的工程师发起了“问答 AI”项目,旨在让机器人能够进行自然语言理解和分析。

为了能够实现这个目标,OpenAI 公司采用了自然语言处理、深度学习等技术,制作并选择了一个庞大的数据集作为训练样本,让 ChatGPT 学习从而掌握语言规律和逻辑思维。这个数据集包含的语言数据来源极为广泛,从维基百科到医疗数据都有涉及。经过大量的训练和调试,ChatGPT 成功地实现了对自然语言的理解和分析,并成为一个可以跨领域、跨语种的全能型机器人。

优势

ChatGPT 的优势主要表现在以下几个方面:

全面和实用的知识库:ChatGPT 掌握的知识和信息资源非常广泛,可以应用于不同的领域和行业。

方便快捷的应用:用户只需在 ChatGPT 平台输入问题,机器人就可以自动搜索相关数据并回答问题。

自然语言处理技术:ChatGPT 采用先进的自然语言处理技术,能够理解和分析自然语言。

自适应性:ChatGPT 会根据用户反馈和交互行为进行自我调节和学习,不断提升自己的回答准确度和实用性。

场景应用

ChatGPT 可以广泛应用于各种场景中,包括教育、医疗、金融、旅游等等。以下是一些典型的应用场景:

教育领域

ChatGPT 可以为学生提供课程相关的问答、作业解答等信息,帮助学生更好的理解知识和掌握技能。此外,ChatGPT 中还集成了部分英语学习工具,用户可以通过对话方式提高英语水平。

医疗领域

ChatGPT 可以为医生提供诊断辅助,提供最新的医学信息和诊疗建议,帮助医生做出准确的诊断和治疗计划。

金融领域

ChatGPT 可以为用户提供最新的金融市场咨询和投资建议,包括有关财务规划和理财策略的具体建议,使用户更准确、更迅速地做出投资决策。

旅游领域

ChatGPT 可以为旅游行业提供客户服务支持,解答用户的旅游疑问,帮助用户规划旅游行程,提供有关旅游目的地的信息和服务。

总结

随着人工智能技术的快速发展,ChatGPT 在帮助用户理解和分析自然语言方面成为了非常重要的工具。ChatGPT 可以广泛应用于不同的领域和行业,为用户提供全面和实用的信息服务。作为一款全能型问答机器人,ChatGPT 肩负着为用户提供更优质的服务体验的使命。

注册 ChatGPT

使用接码平台注册 ChatGPT/OpenAI 账号。ChatGPT/OpenAI 不支持国内手机注册,本文介绍如何使用接码平台注册 ChatGPT/OpenAI 账号。

准备
[*]代理。要求是韩国,日本,印度,新加坡,美国这些国家的地址。香港或台湾的代理不行。
[*]国外手机号码,如果没有国外手机号码,可以使用接码平台。推荐一个 sms-activate.org
[*]准备一个浏览器
​第一步: 接验证码打开接码平台 sms-activate.org,注册一个账号。
https://chatgpt.denohub.com/img/sms-sigup-1.png
然后充值余额
https://chatgpt.denohub.com/img/sms-signup-2.png




别充太多钱,1 块钱就够了。
一次验证码的费用大概是 11 卢布,折合人民币差不多是 1 块钱,不过只能充美金,可以选择对你任何方便方式。支持支付宝。
充值完成可能需要等一会,就先放着,直接进行下一步。
​第二步: 注册 OpenAI打开 OpenAI 网址,和一般的网站一样,注册一个账号。
有一些人会在这里遇到一个问题,会出现说不能在当前国家服务的提示。
https://chatgpt.denohub.com/img/openai-nan.png
一般出现这种问题,就是因为你的代理没有全局,或者位置不对。香港或中国的的代理是 100% 无法通过的。
有时候换了代理,还是不行,这时候就需要下面的解决方式。
​解决地区问题先把代理切换到任何合适的地区。
打开浏览器的 DevTools,可以使用快捷键 F12,或者右键点击页面,选择 检查。
输入以下代码,然后回车。
window.localStorage.removeItem(Object.keys(window.localStorage).find(i=>i.startsWith('@@auth0spajs')))刷新页面。如果你的代理没问题,就可以看到正常工作的注册页面了。
​输入手机号码下一步是输入手机号码,这里需要使用接码平台的号码。
https://chatgpt.denohub.com/img/oenai-signup-phone.png
这里选的是韩国,这是因为我们使用韩国的代理。但是我们最好选择印度,因为印度的最便宜。然后到我们的接码网站上去。在左侧搜索 OpenAi,然后点击印度。
https://chatgpt.denohub.com/img/openai-signup-sms-2.png
点击”小黄车”。
https://chatgpt.denohub.com/img/openai-signup-sms-3.png
然后我们复制这个号码,粘贴过去。然后我们点击发送验证码就完成了。
等一会网站会提示验证码,我们复制粘贴。
​第三步: 使用 ChatGPT注册完后,打开 ChatGPT 网站去登陆。

绑定虚拟信用卡

支持 USDT 充值的虚拟信用卡 Depay使用 OpenAI/ChatGPT 的 API 进行开发需要绑定信用卡。但是 OpenAI 不支持国内的信用卡,所以需要绑定一个支持 USDT 充值的虚拟信用卡。
但并不是所有的虚拟信用卡都支持 OpenAI,所以需要选择支持能够成功绑定的虚拟信用卡。
本文推荐一个可以绑定 OpenAI/ChatGPT 的虚拟信用卡提供商 Depay。
https://chatgpt.denohub.com/img/payment-card.png

注意事项很多人是第一次使用虚拟信用卡,所以可能会遇到一些问题,这里列出一些常见的问题和解决方法。避免踩坑。

[*]Depay 仅支持 USDT 充值和内部转账,USDT 是一个虚拟数字货币,和美元的对应关系是 1:1,所以 USDT 充值和美元充值是一样的。
[*]Depay 需要进行 KYC 认证(实名认证),可以用身份证或者护照,网站上说几分钟就可以完成(我等了一个多小时才认证成功)。
[*]Depay 也可以不用实名认证,但需要额外缴 10 美元的开卡费。(建议做一下实名认证)
[*]开通虚拟卡后最低充值 5 美元才能激活,不同级别的卡片开卡费用不一样。
[*]使用 USDT 给 Depay 充值,官方会收取 1 美元的手续费(真黑)。
​注册 Depay注册地址:https://depay.depay.one,邀请码: 612481
可以使用邮箱或者手机号注册,注册后根据提示下载 APP 后才能进行下一步操作。大致有三个步骤“注册 - KYC认证(实名认证) - 充值并开卡”
https://chatgpt.denohub.com/img/depay-register.png
​开卡完成 KYC 认证后就可以开通卡片了,不同类型的卡片月费和充值费手续费不一样。开卡是免费的。
在 Depay 钱包中,找到 USDT,然后兑换为 USD,再往信用卡里面充值 USD 即可进行消费。
必须要充值后才能完成卡片激活,开通的卡片就是 MasterCard 的虚拟信用卡,卡段是 531993 开头,有效期三年,可以成功绑定 OpenAI/ChatGPT。
​充值玩过虚拟币的肯定都知道 USDT,Depay 在充值的时候会给出一个 TRC20 的钱包地址,直接往这个地址充值即可,最低 5$,手续费 1$。
如何购买 USDT 币网上有很多教程,这里不再赘述。
​信用卡被拒信用卡被拒可能有以下几个原因:

[*]你的信用卡确实不支持,比 Depay 的虚拟信用卡的号段被 OpenAI/ChatGPT 拒绝。可以尝试更换虚拟信用卡,Depay 支持申请多张。
[*]你的网络环境被 Stripe 风控,挂全局代理 + 浏览器无痕模式再试,总之挂代理和不挂代理都试一下
[*]全局代理 + 浏览器无痕模式 + 更换 IP 失败次数超过 3-5 次,不建议继续尝试,这种情况可以考虑更换 ChatGPT 账号 + 无痕 + 更换梯子重新订阅试试。
概念/术语

本文介绍了一些开发 OpenAI/ChatGPT 过程中常用的术语和概念。在 OpenAI 的开发过程中,程序员需要理解一些核心概念。本文将介绍一些开发 OpenAI/ChatGPT 过程中常用的术语和概念。

Prompt
Prompt 是 Chatgpt 的重要功能之一,指的是预设的输入提示,可以让用户根据提示进行输入,从而引导 Chatgpt 生成更加符合用户需求的回复。
举例来说,比如当用户想要和 Chatgpt 进行一次日常闲聊的时候,可以使用一些通用的 Prompt,如“你想聊什么呢?”、“今天有什么想说的吗?”等等。当用户输入了相应的文本后,Chatgpt 就会根据预设的输入提示生成类似于“嗯,其实最近我也有些烦恼,你有什么好的建议吗?”“哦,原来你是喜欢这种类型的电影啊,那我推荐给你一部……”等回复。
除此之外,Prompt 还可以通过不同的关键词,预测用户下一步会说出什么,引导 Chatgpt 更准确地理解用户的需求,生成更贴近用户胃口的回复。比如一个关于旅游的 Prompt,“你想去哪里旅游呢?”输入的是“海滨城市”,Chatgpt 就可能根据“海滨城市”的关键词,生成与沙滩度假、船出海岛等内容有关的回复。
总的来说,Prompt 是 Chatgpt 中非常实用的一项功能,可以帮助机器人更好地与用户互动,提升用户体验。
​Token

Tokens 是将一段文本拆分成的单个单词、标点符号或其他语言单位的术语。
在 Chatgpt 中,Token 可以是单词或字符块。例如,hamburger 这个单词被分成了 ham、bur 和 ger 三个 Token,而像 pear 这样的短而常见的单词则是一个 Token。许多 Token 以空格开头,例如 hello 和bye。
在 API 请求中处理的 Token 数量取决于输入和输出的长度。粗略的经验法则是,对于英文文本,1 个标记约等于 4 个字符或 0.75 个单词。
OpenAI 官方提供了一个在线分词工具,根据工具提供的分词结果看,1 个中文词语会分解为 2/3 个 Token。
Hello World 的分词结果:2 个 Token,11 个字符。
Hello World
你好世界的分词结果:8 个 Token,4 个字符。
��������
我本以为是 2 个 Token,或者是 4 个 Token,没想到居然是 8 个 Token。所以使用中文的时候一定要注意。
我用 API 试了一下,发送 你好世界,输出 \n\n你好,世界!,Token 信息:
接口响应


{"id": "chatcmpl-6w************************AjQ","object": "chat.completion","created": 1679369744,"model": "gpt-3.5-turbo-0301","usage": {      "prompt_tokens": 12,      "completion_tokens": 8,      "total_tokens": 20},"choices": [    {      "message": {      "role": "assistant",      "content": "\n\n你好,世界!"      },      "finish_reason": "stop",      "index": 0    }]}

对于这个结果,我不是很明白。为什么 prompt_tokens 是 12,completion_tokens 是 8,这个结果是怎么算出来的?
​Model

OpenAI 致力于开发各种先进的深度学习模型,以解决人工智能领域的各种挑战。这些模型适用于不同的应用场景,如自然语言处理、计算机视觉、游戏AI等,并已在多个实用案例中取得了显著的成效。
目前,在 OpenAI 的众多模型中,最为知名的莫过于GPT-3(Generative Pre-trained Transformer 3)。该模型基于 Transformer 架构构建,是当前最先进、最强大的自然语言处理模型之一。它通过大规模的数据预训练,在吸收了大量的语料库信息后,能够达到极高的自然语言理解和生成能力。GPT-3 不仅可以完成常见的NLP任务,如理解语义、生成对话、自动翻译等,还能够创作文本和生成代码等高级应用。

入门指南

第一段代码下面代码来自官方文档,使用了 openai 这个 npm 包,这个包是官方提供的,可以直接使用。
hello.js


const { Configuration, OpenAIApi } = require("openai");const configuration = new Configuration({apiKey: process.env.OPENAI_API_KEY,});const openai = new OpenAIApi(configuration);const completion = await openai.createChatCompletion({model: "gpt-3.5-turbo",messages: [{role: "user", content: "Hello world"}],});console.log(completion.data.choices.message);

这段代码什么意思呢?
在之前的章节中,我们已经成功注册了 ChatGPT 和 OpenAI 的账号,现在我们可以使用它们了。打开 ChatGPT,输入下面内容:
ChatGPT 输入

解释一下这段代码:const { Configuration, OpenAIApi } = require("openai");const configuration = new Configuration({apiKey: process.env.OPENAI_API_KEY,});const openai = new OpenAIApi(configuration);const completion = await openai.createChatCompletion({model: "gpt-3.5-turbo",messages: [{role: "user", content: "Hello world"}],});console.log(completion.data.choices.message);

ChatGPT 会返回下面内容:

下面内容由 ChatGPT 自动生成
ChatGPT 输出

这段代码使用 OpenAI 的 JavaScript 客户端库来调用 OpenAI API,对消息进行自然语言处理。以下是每行代码的解释:1. `const { Configuration, OpenAIApi } = require("openai");`    引入 OpenAI 的 JavaScript 客户端库中的 `Configuration` 和 `OpenAIApi` 类,以便可以使用 OpenAI API。2. `const configuration = new Configuration({ apiKey: process.env.OPENAI_API_KEY, });`    创建了一个 OpenAI Configuration 实例,该实例包含用于调用 OpenAI API 的 apiKey 信息。其中,apiKey 存储在环境变量 OPENAI_API_KEY 中。3. `const openai = new OpenAIApi(configuration);`    通过上一步创建的 `Configuration` 实例,创建了一个连到 OpenAI API 的 `OpenAIApi` 实例(即客户端)。4. `const completion = await openai.createChatCompletion({ model: "gpt-3.5-turbo", messages: [{role: "user", content: "Hello world"}], });`    调用 `openai.createChatCompletion()` 方法,创建一个聊天完成请求,该方法的参数对象包含以下信息:    - `model`:指定使用的模型。    -` messages`:一个包含角色和内容字段的数组,表示一组指示请求意图的消息。    `createChatCompletion()` 方法返回一个带有 OpenAI API 的响应的 `Promise`。`await` 关键字将等待新 `Promise` 解决后继续执行代码。5. `console.log(completion.data.choices.message);`    输出调用 OpenAI API 的响应文本,文本内容在响应的 `choices` 属性中,而在此次调用中只有一个选择。而 `completion.data.choices.message` 是响应文本的实际内容。

​概述通过 OpenAI Chat API,你可以使用 gpt-3.5-turbo 和 gpt-4 创建自己的应用程序来执行以下操作:

[*]撰写电子邮件或其他文本
[*]编写 Python/Nodejs/Deno 代码
[*]回答问题
[*]创建聊天机器人
[*]在软件中提供自然语言接口
[*]翻译语言
你还可以在 OpenAI Playground 中尝试各种聊天参数和格式。
​说明聊天模型以一系列消息作为输入,并返回由模型生成的消息作为输出。
尽管聊天格式使多轮对话变得容易,但它同样适用于没有任何对话的单轮任务。一个 API 调用的示例如下:
chat.js


import { Configuration, OpenAIApi } from "openai";const configuration = new Configuration({apiKey: process.env.OPENAI_API_KEY,});const openai = new OpenAIApi(configuration);const completion = await openai.createChatCompletion({model: "gpt-3.5-turbo",messages: [    { role: "system", content: "你是一个非常实用的 AI 助手" },    { role: "user", content: "2022世界杯在哪儿举行?" },    { role: "assistant", content: "2022年世界杯将在卡塔尔举行。" },    { role: "user", content: "冠军是谁?" },],});console.log(completion.data.choices);

messages 参数是 createChatCompletion 方法中最重要的参数,该参数包含多个消息对象。每个消息都有一个角色,可以是 system、user、assistant 中的任意一个。

[*]user:代表用户发送的消息,即用户输入的问题或者指令。在上述代码中,第二个和第四个消息都是 user 类型的。
[*]assistant:代表聊天机器人通过调用 AI 算法给出的回答或者响应。在上述代码中,第三个消息就是一个 assistant 类型的消息。
[*]system:代表系统或者客户端通过代码发出的消息。系统消息的目的是给 assistant 提供进一步的指导或者指示,从而让 assistant 作出更好的响应。
一个聊天记录以 system 类型的消息开始,接着是交替的 user 和 assistant 类型的消息。system 类型的消息可以帮助设置 assistant 的行为,指导它应该如何回答用户的问题,例如上述示例中的系统消息”你是一个非常实用的 AI 助手”就告诉 assistant 自己是一个实用的助手。
整个消息列表可以非常短,只有一个消息,也可以非常长,占据数页。
在聊天机器人交互中,聊天历史记录也很重要,因为用户的指令可能需要引用之前的消息信息。在上述代码示例中,用户的最后一个问题“冠军是谁?”只有在之前的消息中提到2022年世界杯时才有意义。
由于机器学习模型没有以前请求的记忆,因此必须通过对话提供所有相关信息。如果一个对话不能适合模型 Token 限制内,就需要做一些缩短处理。

https://chatgpt.denohub.com/





页: [1]
查看完整版本: ChatGPT 从入门到精通