模型本身清华的 (ChatGLM3),为的是对中文支持友好,其余便是我也很看好它,毕竟一贯在优化自己的模型,提升模型的质量。

如果根本环境没有支配好可以参考我上篇文章《Ubuntu 22.04 Tesla V100s显卡驱动,CUDA,cuDNN,MiniCONDA3 环境的安装》。

ChatGLM3 (ChatGLM3-6B)

项目地址

https://github.com/THUDM/ChatGLM3

大模型是很吃CPU和显卡的,以是,要不有一个好的CPU,要不有一块好的显卡,显卡只管即便13G+,内存基本要32GB+。

离线AI聊天清华大年夜模型ChatGLM3本地搭建

清华大模型分为三种(ChatGLM3-6B-Base,ChatGLM3-6B,ChatGLM3-6B-32K)

从上图也可以看到,ChatGLM3-6B-32K的话是最高配的模型,而ChatGLM3-6B-Base是最低配的模型。

一样平常会选择 ChatGLM3-6B普通模型来利用,当然,如果配置高,可以用32K的,会更好。

ChatGLM3 支配

如果不能访问github,那么就不随意马虎下载资源了,紧张是资源也比较大,可以自己想办法。

ChatGLM3 项目git clone

很大略一句命令就下载下来了。

git clone https://github.com/THUDM/ChatGLM3

实行完,就下载完毕了

但是,默认里面是没有模型的,只有自带的大略的谈天项目以及干系的接口示例项目,还得连续下载模型。

ChatGLM3-6B 模型下载

当然,如果你自己不下载这些模型,这些模型就会在运行的时候自动下载(网络不好的话会影相应用体验,以是,建议提前下载)

模型下载供应了两个地址来下载,第一个不可以,那就选择第二个。

打开地址后,创造这个文件还挺大,而且还是 git项目的办法来进行展现的。

个中 LFS那种可以直接点击然后,保存的办法来下载,也可以用git命令来下载。

git lfs install

须要 git增加 lfs 的功能,才能直接下载这么大的文件

git clone https://huggingface.co/THUDM/chatglm3-6b

或者

git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

下载完毕后,就有很多文件

看一下大小 11.6GB ,还挺大的

项目配置和支配

把下载的做事直接放到须要运行的地方 然后,实行上节的python 环境管理

conda create --name chatglm3 python=3.10conda activate chatglm3

然后,进入到主项目中,开始配置一些环境

cd ChatGLM3

第一步是要安装python 的依赖包

pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple

它会自己安装一些依赖包,很快就安装完了

也可以查询自己安装了什么包

pip list //查看安装了什么包pip show openai // 查看包安装到了哪里

当然,我也是按照 README.md 里面的支配办法来支配的,详细以README.md为准。

修正配置

可以看到,实际上我们可以运行8种案例。

1. 根本例子(cli_demo , web_demo_streamlit )

2. 综合例子(谈天,工具,代码阐明)

3. 根本模型微调

4. 谈天模型微调

5. 类似于langchain的案例

6. openai接口的案例

7. TensorRT-LLM推理支配

8. 工具调用

目前,只有第二种的综合例子,是比较有趣的,就以它为案例进行配置修正。

composite_demo

看到,这个demo下还有requirements.txt 文件,我们把他给安装了

pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple

演示中利用 Code Interpreter 还须要安装 Jupyter 内核:

pip install ipykernel -i https://mirror.sjtu.edu.cn/pypi/web/simpleipython kernel install --name chatglm3 --user

接着修正client.py里面的配置信息

修正里面的模型地址为你的模型地址即可,我这边直接写了个绝对路径。

然后,实行以下命令启动做事

streamlit run main.py

正常情形下,掌握台会涌现以下信息

而网页会涌现以下信息

左侧就像OpenAI那种的参数细节的调度,右侧是三种不同的利用办法选择。

效果展示对话模式

输入你是谁,它就输自动的输出信息,速率还挺快。

而掌握台也会显示你输入的信息以及返回的信息。

根据这个问题可以看到,这个模型,虽然对中文的支持度很高,但是,也掺杂一些英文信息。

工具模式

工具模式,须要自己先定义工具,我这边没有定义,有兴趣的可以整一下。

以下是自带的工具进行的演示:

我调用了一个查询景象的工具(tool_registry.py) 文件可以看到 get_weather的代码

@register_tooldef get_weather( city_name: Annotated[str, 'The name of the city to be queried', True],) -> str: \公众\"大众\公众 Get the current weather for `city_name` \"大众\"大众\公众if not isinstance(city_name, str): raise TypeError(\"大众City name must be a string\"大众) key_selection = {\"大众current_condition\公众: [\"大众temp_C\"大众, \公众FeelsLikeC\"大众, \"大众humidity\公众, \"大众weatherDesc\公众, \"大众observation_time\"大众], } import requeststry: resp = requests.get(f\"大众https://wttr.in/{city_name}?format=j1\公众) resp.raise_for_status() resp = resp.json() ret = {k: {_v: resp[k][0][_v] for _v in v} for k, v in key_selection.items()} except: import traceback ret = \公众Error encountered while fetching weather data!\n\"大众 + traceback.format_exc()return str(ret)代码阐明器模式

我考试测验了良久也没有得到以下的效果。

可能是我的打开姿势不对,我只能获取这样的。

但是,给出的代码,还是很合理的,看着就能实行。

感兴趣的可以参考

https://zhipu-ai.feishu.cn/wiki/VdYWwcZfmiNBnlkwYf1cqytcngf非常:

如果没有修正配置就会涌现这个问题,当然,如果网络好的话,它会自己去安装。

总结

至此 ChatGLM3就演示完了,效果还是不错的说。
比之前版本好太多了,我还会连续关注它的。

它也可以通过Web api的办法,自己搞个前端进行展现。

总体来讲,清华ChatGLM3-6B大模型对中文支持度还是蛮高的。

参考资料地址

《清华ChatGLM3 ChatGLM3-6B 大模型》https://github.com/THUDM/ChatGLM3

一键三连呦!
,感谢大佬的支持,您的支持便是我的动力!