文章目录
一、 前言
国产大模型有很多,比如文心一言、通义千问、星火、MOSS 和 ChatGLM 等等,但现在明确可以部署在本地并且开放 api 的只有 MOOS 和 ChatGLM。MOOS 由于需要的 GPU 显存过大(不量化的情况下需要80GB,多轮对话还是会爆显存),但 ChatGLM 可以在笔记本电脑部署(int4版本只需要6GB显存即可)。所以本文采用ChatGLM 与 ChatGPT 做对比,看看国产模型的优点和缺点。
会在选取本教程的各个方面进行对比,最后会总结 ChatGPT 与 ChatGLM 各自的优缺点。
二、ChatGLM 环境配置
ChatGLM 的环境配置可以参考 DataWhale 的这篇文章:ChatGLM-6B 本地部署指南!
部署好了之后,运行项目中的api.py
文件即可。下面是使用 ChatGLM 的 api 封装的类似 ChatGPT 一样的get_completion
函数,只需要传进去 ChatGPT 参数即可。
import requests
import json
如果你没有 openai 的 key 的话,部署好 chatglm-6B 之后,使用此函数也可以学完整个课程,加油~
def get_completion(prompt):
headers = {'Content-Type': 'application/json'}
data = {"prompt": prompt, "history": []}
response = requests.post(url='http://127.0.0.1:8000', headers=headers, data=json.dumps(data))
return response.json()['response']
get_completion("你好")
输出结果
你好 !我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
三、ChatGPT 环境配置
本教程使用 OpenAI 所开放的 ChatGPT API,因此你需要首先拥有一个 ChatGPT 的 API_KEY(也可以直接访问官方网址在线测试),然后需要安装 openai 的第三方库。
首先需要安装所需第三方库:
openai
pip install openai
dotenv
pip install -U python-dotenv
导入系统环境变量
# 将自己的 API-KEY 导入系统环境变量
!export OPENAI_API_KEY='api-key'
import openai
import os
from dotenv import load_dotenv, find_dotenv
# 导入第三方库
_ = load_dotenv(find_dotenv())
# 读取系统中的环境变量
openai.api_key = os.getenv('OPENAI_API_KEY')
# 设置 API_KEY
封装一个函数
def get_completion_gpt(prompt, model="gpt-3.5-turbo", temperature=0):
messages = [{"role": "user", "content": prompt}]
response = openai.ChatCompletion.create(
model=model,
messages=messages,
temperature=temperature, # 值越低则输出文本随机性越低
)
return response.choices[0].message["content"]
get_completion_gpt('你好')
输出结果
你好!有什么我可以帮助你的吗?
四、文本理解
1. 有步骤的文本
# 有步骤的文本
text_1 = f"""
泡一杯茶很容易。首先,需要把水烧开。\
在等待期间,拿一个杯子并把茶包放进去。\
一旦水足够热,就把它倒在茶包上。\
等待一会儿,让茶叶浸泡。几分钟后,取出茶包。\
如果你愿意,可以加一些糖或牛奶调味。\
就这样,你可以享受一杯美味的茶了。
"""
prompt = f"""
您将获得由三个引号括起来的文本。\
如果它包含一系列的指令,则需要按照以下格式重新编写这些指令:
第一步 - ...
第二步 - …
…
第N步 - …
如果文本中不包含一系列的指令,则直接写“未提供步骤”。"
\"\"\"{text_1}\"\"\"
"""
response = get_completion_glm(prompt)
print(response)
chatglm 的输出结果
第一步: 把水烧开
第二步: 把茶包放入杯子中
第三步: 等待水足够热
第四步: 倒在茶包上
第五步: 等待茶叶浸泡
第六步: 取出茶包
第七步: 如果喜欢,可以加一些糖或牛奶
第八步: 搅拌均匀
第九步: 享用美味的茶未提供步骤
response = get_completion_gpt(prompt)
print(response)
chatgpt 的输出结果
第一步 - 把水烧开。
第二步 - 拿一个杯子并把茶包放进去。
第三步 - 把热水倒在茶包上。
第四步 - 等待几分钟,让茶叶浸泡。
第五步 - 取出茶包。
第六步 - 如果你愿意,可以加一些糖或牛奶调味。
第七步 - 就这样,你可以享受一杯美味的茶了。
注:这里可以看出,提供的文本是有步骤的文本。chatglm 给出了步骤,但在最后说了未提供步骤
。但 chatgpt 给出步骤,而且步骤要比 chatglm 的完整,而且回答正确。
2. 无步骤的文本
# 无步骤的文本
text_2 = f"""
今天阳光明媚,鸟儿在歌唱。\
这是一个去公园散步的美好日子。\
鲜花盛开,树枝在微风中轻轻摇曳。\
人们外出享受着这美好的天气,有些人在野餐,有些人在玩游戏或者在草地上放松。\
这是一个完美的日子,可以在户外度过并欣赏大自然的美景。
"""
prompt = f"""
您将获得由三个引号括起来的文本。\
如果它包含一系列的指令,则需要按照以下格式重新编写这些指令:
第一步 - ...
第二步 - …
…
第N步 - …
如果文本中不包含一系列的指令,则直接写“未提供步骤”。"
\"\"\"{text_2}\"\"\"
"""
response = get_completion_glm(prompt)
print(response)
chatglm 的输出结果
第一步: 去公园散步
第二步: 欣赏鲜花和树枝
第三步: 感受微风
第四步: 放松身心
第五步: 野餐或玩游戏
第六步: 感受大自然的美丽未提供步骤。
response = get_completion_gpt(prompt)
print(response)
chatgpt 的输出结果
未提供步骤。
注: 提供的是一个无步骤文本,但 chatglm 回答了一个步骤,在最后说了无步骤,这跟上面的有步骤文本回答几乎一样。chatgpt 则是直接给出未提供步骤
的回答。
3. 提供少量示例的文本
prompt = f"""
你的任务是以一致的风格回答问题。
<孩子>: 教我耐心。
<祖父母>: 挖出最深峡谷的河流源于一处不起眼的泉眼;最宏伟的交响乐从单一的音符开始;最复杂的挂毯以一根孤独的线开始编织。
<孩子>: 教我韧性。
"""
response = get_completion_glm(prompt)
print(response)
chatglm 的输出结果
韧性是一种强大的品质,可以帮助人们在挑战中保持冷静和坚韧。以下是一些培养韧性的方法:
- 接受挑战并做好准备:韧性需要面对挑战并克服困难。要培养韧性,需要先准备好接受挑战,并采取必要的措施来解决问题。
- 学会放松:当我们感到紧张和焦虑时,可能会失去韧性。学会放松自己,可以帮助缓解压力和焦虑,从而提高韧性。
- 培养自我意识:韧性需要了解自己的弱点和优点,并积极改善自己。学会关注自己的情绪和行为,并努力改善自己的韧性。
- 学习沟通技巧:沟通是影响韧性的重要因素。学习有效的沟通技巧,可以帮助更好地表达自己的意见和想法,同时也可以帮助更好地理解他人的观点。
- 坚持锻炼和健康饮食:锻炼和健康饮食可以帮助保持身体健康和精神健康,从而提高韧性。
希望这些方法可以帮助培养韧性。
response = get_completion_gpt(prompt)
print(response)
chatgpt 的输出结果
<祖父母>: 韧性就像是一棵树,它需要经历风吹雨打、日晒风干,才能成长得更加坚强。所以,当你遇到挫折和困难时,不要轻易放弃,要坚持下去,相信自己的能力和潜力,最终你会成为一棵茁壮成长的大树。
注: 让你模仿,没让你超越啊!可以看出 chatglm 的回答与提供的少量示例文本几乎毫无关系,而 chatgpt 则是按照提供的示例模型续写。chatgpt 秒杀 chatglm。
请稍等,后续内容持续更新 …
零基础入门AI大模型
今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
有需要的小伙伴,可以点击下方链接免费领取【保证100%免费
】
1.学习路线图
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
(都打包成一块的了,不能一一展开,总共300多集)
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
5.免费获取
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码或者点击以下链接都可以免费领取【保证100%免费】