关于ChatGPT的一些闲扯淡(1)
这篇写的有点迟了,前者子ChatGPT正火的时候,懒病发作一直拖延。今天对ChatGPT做一个简单的讨论,也是把学习的心得和大家分享一下。
首先什么是GPT,英文全称是Generative Pretrained Transformers (生成式预训练转换器)。GPT是一个预先训练好的,用生成的方式,把输入文字转化成输出文字的转换器。
这个转换的过程,有点完形填空,或是根据提示写一篇800字作文的意思。
GPT并不是横空出世的新鲜玩意,它已经经历了数代的演进,从GPT-1,GPT-2,GPT-3一直到现在最新的GPT-4。
那么GPT是如何工作的呢?一般认为至少需要两步。
- 一个训练好的模型(Model)
- 来自用户输入的提示(Prompt)
如下图的举例,用户输入的提示“Translate Hello to Spanish”,经过OpenAI预训练好的模型转换后,生成出文字“Hola”。

可能小伙伴会有疑问,Prompt在上面这个流程中,起到了哪些作用呢?大体上有三点:
- 由用户输入给到模型(Model)
- 指导模型(Model)如何生成Competions
- 提供上下文(Context)让模型(Model)更精确地输出
下面就是一个代码示例中的Prompt,首先定义了模型(Model)的角色上下文(Context),给定了输出的数量要求,以及语言的要求。
var system =
"""
You are a professional .NET programmer.
When you answer .NET questions, you always give examples.
You will speak in Chinese.
""";
上面这个提示(Prompt)其实还不完整,它只给出了上下文(Context),却没有对GPT提出问题或安排任务。
一个完整的提示(Prompt)的结构包含两部分:
- 上下文(Context)
- 问题或任务(Query / Task)
private string System { get; set; } = @"You are an AI assistant that helps people find information.";
private string Prompt { get; set; } = "明天的天气如何?";
上面是一个完整的提示(Prompt),但并不是一个高质量的提示(Prompt)。高质量的提示具有以下几点:
- 清晰且具体
- 给定输出的样例
- 提供有价值的上下文(Context)
上面这种模糊不明确的提示,会导致ChatGPT向你询问具体的地区……

所以一个清晰且具体的提示,至少要包含查询天气的地区,如果能给定输出的样例就更好了。

如果再提供有价值的上下文,回答又会变得不一样。

看过了提示(Prompt),让我们再来了解一下完成(Completions)。其实这里翻译成“补完”感觉更贴切。Completions是由GPT这样的模型根据提示生成的响应或者说结果。
所以GPT干的事情,总结下来就是:
模型(Model)根据人类给出的提示(Prompt),进行补完(Completions)。
所以GPT的原型应该是凌波丽?(大雾)


今天和各位小伙伴进行了GPT的一些闲扯淡,下一篇我们来学习ChatGPT又是个啥。
欢迎各位大佬批评指正。
以下链接,是MS Learn上Windows开发的入门课程,单个课程三十分钟到60分钟不等,想要补充基础知识的同学点这里:
开始使用 Visual Studio 开发 Windows 10 应用
关于ChatGPT的一些闲扯淡(1)的更多相关文章
- 闲扯淡json格式与对象
在这里推荐使用http://json.tongxiehui.net/ 这个在线解析jso格式 JSON 语法是 JavaScript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保 ...
- 闲扯淡笔记 - Web的历史
这里的Web指的是万维网,就是World Wide Web. 文档和静态资源 通过URL组织 Tim Berners Lee (TimBL) 于1989发明这个概念,这丫55年出生,和我父亲一般大. ...
- Javascript Function()中的降龙十八掌
原文地址:http://tutorialzine.com/2014/08/what-does-this-function-do/ 下面列出十八个JS function,看你知道这些函数是干嘛用的,你能 ...
- 日志分析 第一章 ELK介绍
1 ELK各组件介绍? ELK Stack是elasticsearch.logstash.kibana是三个开源软件的组合, fielbeat是一个轻量级日志收集工具,类似于Linux系统中tail ...
- AndroidDriver原理初步--Android自动化测试学习历程
章节:自动化基础篇——AndroidDriver原理初步(第六讲) 主要讲解内容及笔记: 一.AndroidDriver核心原理 对上图的解析: PC端的端口通过adb,将android版的Remot ...
- C#利用WinForm调用WebServices实现增删改查
实习导师要求做一个项目,用Winform调用WebServices实现增删改查的功能.写下这篇博客,当做是这个项目的总结.如果您有什么建议,可以给我留言.欢迎指正. 1.首先,我接到这个项目的时候,根 ...
- springboot项目实现批量新增功能
这个困扰我一整天东西,终于解决了. 首先是mybatis中的批量新增sql语句. 注意:这里我给的是我需要新增的字段,你们改成你们需要的字段. <insert id="insertBa ...
- Claude:除ChatGPT外的另一种选择
前言 Claude 是 Anthropic 开发的人工智能产品.Anthropic 是由 11 名前 OpenAI 员工于 2022 年创立的人工智能公司,旨在构建安全.可解释和有益于人类的人工智能系 ...
- html5吹牛扯淡篇,闲话内容。
09年提出对媒体查询的草案,到今天的广泛运用,w3c带我们走进了个性化定制的殿堂.这些之所以会被认可会被写进世界级标准,因为他越来越适应广大用户的需求,需求就像一条锁链带动或者牵引整个互联网开发工作. ...
- POI获取excel单元格红色字体,淡蓝色前景色的内容
如果是Microsoft Excel 97-2003 工作表 (.xls) if(31 == cell.getCellStyle().getFillForegroundColor()) //判断单元格 ...
随机推荐
- 新出的Alist云盘视频助手,真的香还是假的香?
作为某云盘的重度使用者和长期受虐者,前段时间无意中看到一款新出的网盘工具,叫Alist云盘视频助手,不同于一般的网盘工具,它不是面向网盘数据下载的,它面向的是网盘视频文件隐私保护,大白话就是:加密网盘 ...
- django时区问题的解决
django时区问题的解决 更新时间:2021年05月18日 09:37:58 作者:Silent丿丶黑羽 我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,我 ...
- 【GiraKoo】Android系统版本代号一览
Android系统版本代号一览 Version CodeName API 时间 13.0 Tiramisu 33 2022.08 12.0 Snow Cone 31,32 2021.10 11.0 R ...
- Kubernetes(k8s)定时任务:CronJob
目录 一.系统环境 二.前言 三.Kubernetes CronJob简介 四.kubernetes CronJob和Linux crontab对比 五.CronJob表达式语法 六.创建CronJo ...
- Bioconductor 中的 R 包安装教程
Bioconductor 是一个基于 R 语言的生物信息软件包,主要用于生物数据的注释.分析.统计.以及可视化(http://www.bioconductor.org). 总所周知,Bioconduc ...
- undefined reference to错误的解决方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/cserchen/article/deta ...
- 用声明式宏解析 Rust 语法
在上一篇 Rust 声明式宏中的 Metavariables 有哪些 的基础上, 今天尝试解析一下 Rust 中的几种 item.我们知道一个 crate 是由 item 组成的,每一个 fn str ...
- 记录部署Datax、Datax-web 过程碰到的问题
我的第一篇博客 datax在网络上部署的文档有很多,这里不重复阐述,只描述过程中碰到的些许问题,记录下来. 1. 1 ERROR RetryUtil - Exception when calling ...
- 2023-06-26:在大小为 n x n 的网格 grid 上,每个单元格都有一盏灯,最初灯都处于 关闭 状态 给你一个由灯的位置组成的二维数组 lamps 其中 lamps[i] = [rowi,
2023-06-26:在大小为 n x n 的网格 grid 上,每个单元格都有一盏灯,最初灯都处于 关闭 状态 给你一个由灯的位置组成的二维数组 lamps 其中 lamps[i] = [rowi, ...
- 一次与 ChatGPT 的 .NET 面试问答
以常用问题来面试机器人,机器人是否能够合格 1. 您能描述一下您曾经在.NET项目中集成硬件设备的经历吗?这个过程是怎样的,您面临了哪些挑战? GPT 回答:当我在.NET项目中集成硬件设备时,我首先 ...