ChatGPT学python——制作自己的AI模型(一)初步了解
前言

「作者主页」:雪碧有白泡泡
「个人网站」:雪碧的个人网站
「推荐专栏」:
★java一站式服务 ★
★前端炫酷代码分享
★ ★ uniapp-从构建到提升★
★ 从0到英雄,vue成神之路★
★ 解决算法,一个专栏就够了★
★ 架构咱们从0说★
★ 数据流通的精妙之道★

文章目录
- 前言
- 引言
- Chatgpt简介
- ChatGPT是什么
- ChatGPT的原理
- ChatGPT能做什么
- 用ChatGPT学Python
- 讲解知识点
- 示例一
- 示例二
- 编写代码
- 调试debug
- 小结
引言
通过【ChatGPT学puthon】我们可以掌握
- 了解ChatGPT的原理,用法以及应用场景
- 利用ChatGPT辅助python的学习和开发
- 掌握如何在自己的程序中接入ChatGPT

Chatgpt简介
在使用ChatGPT之前,我们先来了解一下关于它的一些基本信息
ChatGPT是什么
ChatGPT是由OpenAI公司于2022年11月推出的一个个基于大型语言模型的人工智能聊天机器人应用
关于它的更多情况,我们就直接让它来自我介绍吧
ChatGPT是一个基于Transformer模型的聊天生成模型,由OpenAI开发。它是GPT(GenerativePre-trained Transformer)系列模型的一部分,旨在进行自然语言交互和对话生成。
GPT模型使用了Transformer架构,这是一种基于自注意力机制的深度神经网络模型。通过预训练大规模的语料库数据,GPT模型可以学习到语言的统计结构和语义表示,并且能够生成连贯、有逻辑性的文本。
ChatGPT是针对对话任务进行微调的GPT模型变体。与传统的单向语言模型不同,ChatGPT被设计用于生成有上下文依赖的回复,使其更适合进行对话和聊天交互。通过与用户的迭代交互,ChatGPT可以理解用户输入并产生连贯的响应。
需要注意的是,作为一个AI模型,ChatGPT具有其局限性。它的回答是基于已有的训练数据和模型的理解,可能存在错误或不准确的情况。此外,ChatGPT没有真实的理解能力,它只是根据模式匹配和训练数据生成回答。
ChatGPT的原理
因为ChatGPT具备检索信息和智能生成人类语言的能力,再加上它内部有庞大的知识资料库。所以,当人们需要查找某些信息时,可以直接问ChatGPT询问,而无法像过去一样通过网络搜索,查找文献等方式得到答案,这很可能会颠覆当前的搜索引擎,成为人们获取信息的新方式
下面同样用 ChatGPT来了解一下自身的实现原理
ChatGPT是一种基于深度学习的自然语言处理模型,其原理主要基于一种称为转换器(Transformer)的神经网络架构。下面是ChatGPT的主要原理:
转换器(Transformer)架构:ChatGPT使用了转换器作为其核心模型架构。转换器主要由编码器和解码器组成,它们都由多个堆叠的自注意力机制与前馈神经网络层组成。
自注意力机制(Self-Attention):自注意力机制是转换器中的关键组件。它允许模型在输入序列中的每个位置上对其他位置进行加权聚合,以获取全局上下文信息。通过计算查询、键和值之间的相关性来实现这种加权聚合。
预训练与微调:ChatGPT使用了预训练和微调两个阶段。在预训练阶段,模型通过大规模的无监督数据集进行训练,以学习语言的统计模式和语义信息。在微调阶段,模型会在特定的任务上进行有监督的训练,如对话生成,以使模型更好地适应特定任务的要求。
生成策略:ChatGPT使用了基于概率分布的采样方法来生成响应。常见的方法包括贪婪搜索(选择概率最高的单词)和束搜索(保留几个最有可能的候选词)。这些生成策略可以平衡生成的多样性和准确性。
序列到序列学习:ChatGPT将对话生成任务建模为一个序列到序列学习问题,其中输入是对话历史(包括先前的对话内容和系统提示),输出是生成的响应。训练过程中使用的目标函数通常是交叉熵损失函数。
上下文编码:为了处理上下文信息,ChatGPT通过将对话历史进行编码来获得表示。可以使用不同的编码策略,如简单的拼接或使用特定的分隔符进行分割。
总的来说,ChatGPT利用深度学习技术和转换器架构来从大规模数据中学习语言模式,并通过预训练和微调来适应特定的对话生成任务。它通过自注意力机制实现全局上下文建模,并使用生成策略来生成适当的响应。
ChatGPT能做什么
我们来问问ChatGPT自身能做些什么呢
ChatGPT 可以应用于多种场景,包括但不限于以下几个方面:
客户服务:ChatGPT 可以扮演虚拟客服代表的角色,回答用户的问题、提供支持和解决常见问题。它可以处理一系列常见的客户询问,为用户提供即时帮助。
智能助理:ChatGPT 可以被用作个人助理,回答日常生活中的问题,例如天气查询、日历安排、提醒事项等。它可以与用户进行对话,并提供所需的信息和指导。
教育辅助:ChatGPT 可以用于教育领域,作为学习伙伴和知识咨询工具。它可以回答学生的问题,解释概念,提供学习资源和建议。
内容生成:ChatGPT 可以用于生成各种类型的内容,如新闻文章、博客帖子、故事情节等。它可以根据用户的输入或特定要求来生成相关的文本内容。
社交互动:ChatGPT 可以在社交媒体平台上与用户进行互动,回答问题、提供建议、参与讨论等。它可以模拟人类对话,增加用户参与度和互动体验。
请注意,尽管 ChatGPT 可以在许多场景中发挥作用,但它仍然是一个 AI
模型,存在一些限制。在处理重要或敏感信息时,确保适当的安全措施和人工审核过程是至关重要的。
用ChatGPT学Python
ChatGPT的能力远不止对于语言文字的处理,它甚至可以对代码进行理解和生成,这得益于它丰富的知识库和它背后强大的神经网络系统
讲解知识点
是用ChatGPT辅助Python学习的最直接的方式,就是让它对Python的知识点进行讲解
示例一
讲解python的基础语法
-
注释:
在Python中,使用井号(#)表示单行注释,用于在代码中添加注释说明。例如:# 这是一个单行注释若要添加多行注释,可以使用三引号(‘’’ ‘’')或三个双引号(“”" “”")。例如:
''' 这是一个多行注释 可以写入多行内容 ''' -
变量与数据类型:
在Python中,您可以直接声明变量并为其赋值,不需要指定其数据类型。# 声明变量并赋值 message = "Hello, World!" number = 42 pi = 3.14# 打印变量的值 print(message) print(number) print(pi) -
输入与输出:
使用print()函数可以将数据输出到终端。使用input()函数获取用户输入。# 获取用户输入 name = input("请输入您的名字: ")# 输出欢迎消息 print("你好," + name + "!") -
条件语句:
使用if语句执行条件判断。根据条件的真假,决定执行不同的代码块。# 条件判断示例 x = 10if x > 0:print("x 是正数") elif x < 0:print("x 是负数") else:print("x 是零") -
循环语句:
使用for循环和while循环可以重复执行一段代码块。# for 循环示例 fruits = ["apple", "banana", "orange"]for fruit in fruits:print(fruit)# while 循环示例 count = 0while count < 5:print("Count:", count)count += 1 -
函数:
使用def关键字定义函数,并在需要时调用函数。# 定义函数 def greet(name):print("Hello, " + name + "!")# 调用函数 greet("Alice") greet("Bob")
示例二
讲解python的正则表达式
下面是一些常用的正则表达式操作:
- 导入
re模块:
import re
- 匹配模式:
re.match(pattern, string):尝试从字符串的起始位置匹配模式。re.search(pattern, string):扫描整个字符串查找匹配模式。re.findall(pattern, string):返回字符串中所有匹配模式的非重叠列表。re.finditer(pattern, string):返回一个迭代器,包含所有匹配模式的迭代对象。
例如,以下是一个简单的例子,演示如何使用正则表达式来查找数字:
import restring = "I have 3 apples and 5 oranges."
pattern = r'\d+'result = re.findall(pattern, string)
print(result) # 输出: ['3', '5']
- 替换模式:
re.sub(pattern, replacement, string):将匹配模式的所有出现替换为指定的字符串。
以下是一个替换的例子,将字符串中的所有空格替换为逗号:
import restring = "Hello World!"
pattern = r'\s+'
replacement = ','result = re.sub(pattern, replacement, string)
print(result) # 输出: "Hello,World!"
- 分割字符串:
re.split(pattern, string):根据匹配模式分割字符串,并返回分割后的子字符串列表。
以下是一个例子,使用正则表达式将字符串按照非字母字符分割为单词列表:
import restring = "Hello, World! How are you?"
pattern = r'\W+' # 非字母字符result = re.split(pattern, string)
print(result) # 输出: ['Hello', 'World', 'How', 'are', 'you']
编写代码
除了讲解知识点以外,ChatGPT可以直接提供代码片段帮助我们学习
下面让ChatGPT给出“猜数字”的游戏pythono代码
import randomdef guess_number():secret_number = random.randint(1, 100)attempts = 0while True:user_guess = int(input("请输入一个数字(1-100):"))attempts += 1if user_guess < secret_number:print("太小了,请再试一次!")elif user_guess > secret_number:print("太大了,请再试一次!")else:print(f"恭喜你,你猜对了!答案是{secret_number}。你用了{attempts}次尝试。")breakguess_number()
运行一下:完全正确

调试debug
我们在学习过程中,会遇到许多无法发现的debug,我们可以交给ChatGPT进行改正或者优化,这时我们就要准备一段错误代码,并交给ChatGPT进行优化改正
例如
好的,以下是一个常见的 Python 错误代码和对应的修正方法:
错误代码:
python print("Hello, World!'错误信息:
SyntaxError: EOL while scanning string literal修正方法: 上述错误是因为 print 语句中的字符串没有正确关闭引号。在这种情况下,您可以通过添加缺失的引号来修复该错误。
修正后的代码:
python print("Hello, World!")修正后的代码中,我补全了最后一个引号,确保字符串被正确地闭合。这样就解决了 SyntaxError 错误。
小结
通过以上例子可以看出,ChatGPT可以在学习python中起到很大辅助作用,相当于有了一个专属的智能助教,让学习者事半功倍,因为特殊原因,很多人可能无法访问ChatGPT,我给出一个AI网站镜像让大家体验一下更好的学习python
点击链接

相关文章:
ChatGPT学python——制作自己的AI模型(一)初步了解
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄,vue成神之路★ ★ 解决算法,一个专栏就够了★ ★ 架…...
多赛道出海案例,亚马逊云科技为企业提供全新解决方案实现高速增长
数字化浪潮之下,中国企业的全球化步伐明显提速。从“借帆出海”到“生而全球化”,中国企业实现了从低端制造出口,向技术创新和品牌先导的升级。为助力中国企业业务高效出海,亚马逊云科技于2023年6月9日在深圳大中华喜来登酒店举办…...
异步消息传递技术 JMS AMQP MQTT
广泛使用的三种异步消息传递技术:JMS AMQP MQTT JMS AMQP MQTT JMS(Java Message Service):一个类似JDBC的规范,提供了与消息服务相关的API接口 JMS消息模型: P2P 点对点模型:消息发到一个队…...
利用Python实现汉译英的三种方法
一、前言 有道翻译API(主要推荐) 百度翻译API(需要申请key与密钥,每月100万免费字符) 谷歌翻译API(需要梯子,而且不稳定,不推荐) 二、代码 1、判断文本是否存在中文…...
磁盘均衡器:HDFS Disk Balancer
HDFS Disk Balancer 背景产生的问题以及解决方法 hdfs disk balancer简介HDFS Disk Balancer功能数据传播报告 HDFS Disk Balancer开启相关命令 背景 相比较于个人PC,服务器一般可以通过挂载多块磁盘来扩大单机的存储能力在Hadoop HDFS中,DataNode负责最…...
蔚小理新势力互联网造车在CAN FD硬件主框架及后装控制方案开发
在国内,新势力造车影响已经非常之大,整个造车大潮中,新整车企业蔚来汽车、小鹏汽车、理想汽车无一例外选择了CAN FD作为主要的车载通信总线,特斯拉推出了引领汽车EE架构集中化的趋势,即使在车载以太网EE架构快速发展的…...
左叶子之和
404. 左叶子之和 简单(有点意思 第一次我也写错了 先自己递归去写 如果不行看答案 我感觉还是蛮不错的) 示例 1: 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15…...
Java版知识付费平台免费搭建 Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台qt
Java版知识付费源码 Spring CloudSpring BootMybatisuniapp前后端分离实现知识付费平台 提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含:录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署,免费售…...
LeetCode343. 整数拆分
343. 整数拆分 文章目录 [343. 整数拆分](https://leetcode.cn/problems/integer-break/)一、题目二、题解方法一:动态规划方法改良 一、题目 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整…...
单机,集群和分布式概念
单机的局限性: 1.受限于硬件资源,单机所能承受的用户并发量太少; 2.一个系统有多个模块,任意模块的修改都会导致整个项目代码重新编译、部署; 3.系统中,有些模块是CPU密集型,有些模块是I/O密…...
小目标检测(1)——大恒(DaHeng)相机操作与控制编程
文章目录 引言正文相关开发库的介绍编程准备配置引用头文件GalaxyIncludes.h配置lib文件 具体编程过程初始化和反初始化枚举设备开关设备 属性控制属性控制器种类 图像采集控制和图像处理采单帧回调采集图像处理流对象属性控制 获取设备事件获取掉线事件通知 样例程序分析补充&…...
异步实现邮件发送
目录 问题描述: 问题分析: 问题解决: 分析总结: 问题描述: 在写接口的时候,遇到一个问题,前端要求直接返回结果再去运行其他代码。 问题分析: 因为经费紧张,本次使用…...
【Redis】内存数据库Redis进阶(Redis分片集群)
目录 分布式缓存 Redis 四大问题搭建Redis分片集群分片原理散列插槽(插槽原理)集群伸缩需求设定配置集群伸缩 故障转移自动故障转移手动故障转移 RedisTemplate访问分片集群 分布式缓存 Redis 四大问题 基于 Redis 集群解决单机 Redis 存在的四大问题&a…...
替代LT8711龙讯替代RTD2172 CS5265中文规格书4K60HZ转接线 设计Type-C转HDMI2.0高清投屏方案
龙迅LT8711是一款Type-C/DP1.2 to HDMI2.0方案芯片,北京集睿致远(ASL)推出的CS5265可以完全代替LT8711UX,封装尺寸比LT8711UX小的同时,CS5265的芯片集成度高,内置MCU,内置lLDO等,CS5…...
HCIA-datacom数通题库和录播视频资料
HCIA-Datacom,是华为数通认证的初级考试,培训与认证具备数通基础通用知识和技能水平的工程师,只是入门了解数通的一些基础通用知识,适用于小白了解和学习数通知识点起点。 个人建议还是有必要考的,如果在企业考试考试…...
优思学院|质量工程师应具备什么能力?
质量工程师是一个需要耐心、细心、坚持态度、沟通能力、协调能力的工作,更需要持续学习强化自身的专业知识。 质量工程师负责审核、客户投诉的调查、过程的改进以达到质量之提升,他們也必须要预警生产线风险、质量异常,并且协调不同的部門一…...
数据分析 VS 数据可视化:决战时刻
数据分析和数据可视化是数据科学领域中两个重要的组成部分,很多人不明白两者之间的关系,会误认为是一个东西,其实不然。本文就带大家简单了解一下它们的区别与联系吧! 数据分析是指通过收集、处理和解释数据来获取有关特定问题或…...
Vue3中无法为el-tree-select设置反选问题分析
环境:Vue3.2、Element Plus 问题:子组件 setting.vue > 弹窗组件 Dialog > 树选择组件el-tree-select ,无法设置默认选中项 default-checked-keys 场景:在一个后台系统的列表页,选中一行数据,点击设置…...
Redis - 缓存持久化
Redis 的缓存持久化有两种技术 : RDB 和 AOF RDB Redis 的数据快照 简单说就是将缓存中的所有数据都记录到磁盘中,当Redis发生故障的时候,只需读取快照文件,就可恢复数据 相应的命令是 save 和 bgsave ,这两个命名…...
Pandas进阶修炼120题-第三期(金融数据处理,51-80题)
目录 往期内容:第一期:Pandas基础(1-20题)第二期:Pandas数据处理(21-50题) 第三期 金融数据处理51.使用绝对路径读取本地Excel数据方法一:双反斜杠绝对路径方法二:r 拓展…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...



