前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ChatGLM-6B 安装试用

ChatGLM-6B 安装试用

作者头像
Michael阿明
发布2023-04-24 10:41:14
9620
发布2023-04-24 10:41:14
举报
文章被收录于专栏:Michael阿明学习之路

地址: https://github.com/THUDM/ChatGLM-6B https://huggingface.co/THUDM/chatglm-6b

代码语言:javascript
复制
git clone https://github.com/THUDM/ChatGLM-6B
conda create -n chatglm python=3.8
conda activate chatglm
cd ChatGLM-6B/
pip install -r requirements.txt

试用以下代码,下载模型 https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/

代码语言:javascript
复制
import requests
url_ = 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-0000{i}-of-00008.bin&dl=1'
save_path_ = 'pytorch_model-0000{i}-of-00008.bin'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
for i in range(1, 9):
    url = url_.format(i=i)
    save_path = save_path_.format(i=i)
    res = requests.get(url, headers=headers)
    with open(save_path, 'wb') as file:
    	file.write(res.content)
    	print(f'finish download {i}')

其余文件从 huggingface 下载

在这里插入图片描述
在这里插入图片描述

vim cli_demo.py 修改模型下载的路径

在这里插入图片描述
在这里插入图片描述

demo试用

代码语言:javascript
复制
python cli_demo.py
代码语言:javascript
复制
(chatglm) [web@bdp-measure3 ChatGLM-6B]$ python cli_demo.py 
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a configuration with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████| 8/8 [00:27<00:00,  3.49s/it]
欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序

用户:

加载完模型后 GPU 使用情况

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
用户:你好,我中午想吃鱼香肉丝,我现在有一条鱼,我应该怎么做这道菜?

ChatGLM-6B:鱼香肉丝是一道经典的川菜,需要注意以下几点:

材料:

- 瘦猪肉(切丝):200克
- 青椒(切丝):1个
- 红椒(切丝):1个
- 葱姜蒜(切末):适量
- 料酒:适量
- 生抽:适量
- 盐:适量
- 糖:适量
- 醋:适量
- 淀粉:适量
- 食用油:适量

做法:

1. 将猪肉丝用盐、料酒和淀粉拌匀腌制10分钟左右;

2. 热锅凉油,将腌制好的猪肉丝煸炒至变色捞出备用;

3. 锅中留底油,加入葱姜蒜末爆香;

4. 加入青红椒丝煸炒;

5. 加入适量的生抽、糖、醋和水,烧开后加入炒好的猪肉丝;

6. 用水淀粉勾芡,翻炒均匀即可。

希望这个简单的步骤能帮助你制作出美味的鱼香肉丝。祝你用餐愉快!
在这里插入图片描述
在这里插入图片描述

在生成答案的过程中,GPU显存使用在一直上涨。

代码语言:javascript
复制
用户:我没有猪肉这个食材,我可以用鸡肉代替吗?做出来好吃吗?

ChatGLM-6B:可以用鸡肉代替猪肉做鱼香肉丝,鸡肉的口感和味道与猪肉相似,也比较容易制作出嫩滑的口感。以下是使用鸡肉做鱼香肉丝的简易做法:

材料:
- 鸡胸肉(切丝):200克
- 青椒(切丝):1个
- 红椒(切丝):1个
- 胡萝卜(切丝):1根
- 葱姜蒜(切末):适量
- 料酒:适量
- 盐:适量
- 糖:适量
- 生抽:适量
- 醋:适量
- 淀粉:适量
- 食用油:适量

做法:

1. 将鸡胸肉丝用盐、料酒和淀粉拌匀腌制10分钟左右;

2. 热锅凉油,将腌制好的鸡肉丝放入锅中煸炒至变色捞出备用;

3. 热锅再加入一些油,放入葱姜蒜末爆香;

4. 加入胡萝卜丝和青红椒丝煸炒;

5. 加入适量的盐、糖、生抽和醋翻炒均匀;

6. 将炒好的鸡肉丝加入翻炒均匀;

7. 最后加入适量的水,焖煮5分钟左右,直到汤汁浓稠即可。

鸡肉版的鱼香肉丝和传统版的基本相似,但可能会略微缺少猪肉的一些口感和香味,不过可以根据自己的口味进行微调,比如加入适量的辣椒或者豆瓣酱来提升口感和味道。祝你做出一道美味的鸡肉鱼香肉丝!

模型记忆了上下文的 菜名

代码语言:javascript
复制
用户:你可以帮我解方程吗?x+y=1, x+2y=0,求x,y

ChatGLM-6B:首先,将第二个方程除以2,得到:

x + 2y = 0 / 2

化简后得到:

x = -2y

将第一个方程中的 x 替换为 -2y,得到:

-2y + y = 1

化简后得到:

y = 1 - 2y

将 y = 1 - 2y 代入第一个方程,得到:

x + (1 - 2)y = 1

化简后得到:

x + 1 = 1

解得:

x = 0

因此,方程组的解为 x = 0,y = 1。

解方程的答案是错的,模型不擅长数学问题

代码语言:javascript
复制
用户:我有一个孩子,我刚怎么教他做减法,还有带括号的减法呢,请说的有童趣一些,简单易懂

ChatGLM-6B:���孩子做减法是一种很有童趣的事情,下面是一些有趣味的方法,可以让孩子更容易理解和掌握减法:

1. 用游戏的方式进行减法练习:可以和孩子玩“减法游戏”,例如,让孩子数1到10,然后你告诉他们,如果你看到这个数字减去他们的数字,哪个数字最小(或最大)就消失了。这个游戏可以帮助孩子理解减法的概念,并且让他们在游戏中体验到成就感。

2. 利用图形进行减法练习:可以和孩子一起绘制一些图形,例如正方形、圆形、三角形等等。然后让孩子尝试用这些图形减去另一个图形,例如让孩子把圆形减去三角形,看看得到的结果是什么。这种方法可以帮助孩子理解减法的概念,并且让他们通过绘制图形来体验到数学的乐趣。

3. 利用游戏和谜语进行减法练习:可以和孩子一起玩一些减法谜语和游戏,例如让孩子猜一个数字,然后你告诉他们,这个数字减去他们的猜测结果,哪个数字最小(或最大)就消失了。这种方法可以帮助孩子在游戏中掌握减法的概念,并且让他们体验到乐趣和成就感。

对于带括号的减法,可以使用类似于上述的方法进行练习,例如:

- 让孩子数1到10,然后告诉他们,如果你看到这个数字减去括号中的数值(例如5减去4),哪个数字括号里的数值最小(或最大)就消失了。
- 绘制一些图形,例如正方形、圆形、三角形等等。然后让孩子尝试用这些图形减去另一个图形,例如让孩子把圆形减去三角形,看看得到的结果是什么。
- 玩一些减法谜语和游戏,例如让孩子猜一个数字,然后你告诉他们,这个数字减去括号中的数值(例如5减去4),哪个数字括号里的数值最小(或最大)就消失了。
代码语言:javascript
复制
用户:chatgpt用到了哪些神经网络结构 chatgpt用到了哪些神经网络结构

ChatGLM-6B:ChatGPT 是由 OpenAI 于 2022 年 11 月推出的一个人工智能聊天机器人程序,其架构使用了多个神经网络结构,包括:

1. Transformer 模型:Transformer 是用于自然语言处理的一种神经网络模型, ChatGPT 使用了 Transformer 模型来对输入的文本数据进行建模,并输出回复。

2. 递归神经网络 (RNN):RNN 是一种能够处理序列数据的神经网络结构,ChatGPT 中的 RNN 用来对输入的文本数据进行时序建模,从而能够更好地理解用户输入的上下文信息。

3. 卷积神经网络 (CNN):CNN 是一种用于图像识别的神经网络结构,ChatGPT 中的 CNN 用来对图像数据进行特征提取,从而也能够对文本数据进行特征提取。

4. 自注意力机制 (self-attention mechanism):自注意力机制是一种能够对序列数据进行有效建模的神经网络结构,ChatGPT 中的自注意力机制用来对回复进行有效加权,以便更好地理解用户反馈。

除此之外,ChatGPT 还使用了其他一些神经网络结构,例如转换器 (Transformer 变种)、长短时记忆网络 (LSTM)、门控循环单元 (GRU) 等,以便更好地处理自然语言处理和序列数据相关的任务。

写代码

代码语言:javascript
复制
用户:如你能帮我写一个python版本的快速排序代码吗?

ChatGLM-6B:当然可以!以下是Python快速排序的实现代码:

def quicksort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        left = []
        right = []
        for i in range(1, len(arr)):
            if arr[i] < pivot:
                left.append(arr[i])
            else:
                right.append(arr[i])
        return quicksort(left) + [pivot] + quicksort(right)


这个实现中,首先判断传入的数组长度是否小于等于1,如果是,则直接返回该数组,因为这种情况下快速排序无法使用。否则,选择数组的第一个元素作为基准点(pivot),并将数组分成两部分:左边的部分的所有元素都小于基准点,右边的部分的所有元素都大于基准点。然后,对左右两部分分别进行快速排序,并将排序后的元素合并起来,以得到未排序的数组。

你可以像这样使用这个函数:

arr = [3, 6, 1, 8, 4, 2, 9, 7, 5]
sorted_arr = quicksort(arr)
print(sorted_arr)

这将输出 `[1, 2, 3, 4, 5, 6, 7, 8, 9]`,即原数组经过快速排序后的的结果。

输出的结果是正确的

代码语言:javascript
复制
用户:你能帮我写一个react版本的web表单页面吗?用来收集用户的调查问卷。

ChatGLM-6B:当然可以!以下是一个使用 React 编写的简单表单页面,可以收集用户的调查问卷。

首先,我们需要创建一个名为问卷表单的组件,它包含一个输入框和一个提交按钮。在组件的 props 中,我们可以传递一个调查问卷的问题列表和选项列表,用于在表单中填写问卷信息和选择选项。

接下来,我们可以在组件的 state 中保存表单中填写的信息,并在组件的生命周期方法中处理表单的提交和显示。


import React, { useState } from 'react';

function问卷表单() {
  const [问题的答案, set问题的答案] = useState([]);
  const [问题的答案List, set问题的答案List] = useState([]);
  const [问卷调查, set问卷调查] = useState([]);

  const handleSubmit = (event) => {
    event.preventDefault();
    // 将填写的信息保存到数据库或文件系统中
    set问卷调查(问卷调查.concat([问题的答案,问题的答案List,问题的答案List]))
  }

  return (
    <form onSubmit={handleSubmit}>
      <div>
        <label htmlFor="question-1">问题 1</label>
        <input type="text" id="question-1" name="question" value={问题的答案[0]} onChange={e => set问题的答案(e.target.value)} />
      </div>
      <div>
        <label htmlFor="answer-1">答案 1</label>
        <select id="answer-1" name="answer" value={问题的答案[1]} onChange={e => set问题的答案List(问题的答案List.concat([e.target.value,问题的答案[0]]))} />
      </div>
      <div>
        <label htmlFor="question-2">问题 2</label>
        <input type="text" id="question-2" name="question" value={问题的答案[2]} onChange={e => set问题的答案(e.target.value)} />
      </div>
      <div>
        <label htmlFor="answer-2">答案 2</label>
        <select id="answer-2" name="answer" value={问题的答案[3]} onChange={e => set问题的答案List(问题的答案List.concat([e.target.value,问题的答案[1]]))} />
      </div>
      <div>
        <button type="submit">提交</button>
      </div>
    </form>
  );
}

export default问卷表单;


最后,我们可以在组件的渲染函数中显示表单,并在用户点击提交按钮时将表单数据保存到数据库或文件系统中。

import React from 'react';
import axios from 'axios';

function App() {
  return (
    <div>
      <问卷表单 />
    </div>
  );
}

export default App;


希望这可以帮助你创建一个 React 版本的 Web 表单页面!

不懂前端,不好判断正确与否

代码语言:javascript
复制
用户:大模型时代,我们应普应该怎样跟上技术的发展,学习哪些知识

ChatGLM-6B:大模型时代,我们应普应该怎样跟上技术的发展,学习哪些知识,可以参考下述建议:
1. 学习机器学习和深度学习的基础知识:了解机器学习和深度学习的基本概念、算法和工具,包括监督学习、无监督学习、强化学习等等,这些知识对于理解大模型的实现和应用非常重要。
2. 掌握数据科学和数据处理的技能:大模型需要大量的数据来训练,因此需要掌握数据预处理、数据清洗、数据可视化等技能,以及如何使用深度学习框架来处理和可视化数据。
3. 学习计算机视觉和图像处理:大模型在计算机视觉和图像处理领域也有广泛的应用,因此需要了解计算机视觉的基础知识、图像处理的基础知识以及相关的技术,如卷积神经网络、循环神经网络等。
4. 熟悉自然语言处理:自然语言处理是大模型在自然语言领域应用的重要技术,因此需要了解自然语言处理的基础知识、相关算法和工具,如词向量、序列标注、文本分类等。
5. 关注最新的研究进展和行业趋势:关注机器学习和深度学习领域的研究进展和行业趋势,了解最新的算法和应用,可以帮助跟上技术的发展。
大模型时代需要掌握多个领域的知识和技能,因此需要不断学习和更新自己的知识,保持对新技术的关注和了解。
代码语言:javascript
复制
用户:你好,你会继续升级吗?

ChatGLM-6B:你好!作为一个人工智能语言模型,我是通过在大量数据的训练中度过来学习和改进自己的。我的开发者们会持续地对我进行维护和更新,以确保我能够更好地为用户提供服务。因此,我会继续升级,并不断提高自己的技能和能力。

用户:好的谢谢你

ChatGLM-6B:不客气,如果有任何其他问题或需要帮助,请随时向我提问。

我说谢谢之后,GPU显存占用降到12613MB,识别到对话结束,应该是清空了上下文。

那我再把上面的 我没有猪肉这个食材,我可以用鸡肉代替吗?做出来好吃吗? 不带上下文问一下

代码语言:javascript
复制
用户:我没有猪肉这个食材,我可以用鸡肉代替吗?做出来好吃吗?

ChatGLM-6B:没有猪肉,可以用鸡肉代替。鸡肉是一种营养丰富、味道不错的食材,可以用来制作各种菜肴。以下是一些可以用鸡肉代替猪肉的做法:

1. 鸡肉炒饭:将鸡肉切成小块,和米饭一起炒,口感香脆,营养丰富。

2. 鸡肉三明治:将鸡肉切成小块,和面包屑、蔬菜和酱料一起拌匀,制成三明治,口感丰富,味道好。

3. 鸡肉沙拉:将鸡肉切成小块,和蔬菜、沙拉酱一起拌匀,制成沙拉,口感清爽,营养丰富。

4. 鸡肉汤:将鸡肉切成小块,和蔬菜、汤料一起煮,制成汤,口感鲜美,营养丰富。

当然,用鸡肉代替猪肉也可以做出各种美味的菜肴。只要选择合适的食材和调味料,都可以制作出比猪肉更加美味的菜肴。

他没有回答鱼香肉丝相关的做法。是清空了上下文。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档