首页 > 其他分享 >langchain-ChatGLM调研

langchain-ChatGLM调研

时间:2023-05-15 14:36:16浏览次数:31  
标签:6b 模型 ChatGLM huggingface langchain chatglm com 调研

https://github.com/imClumsyPanda/langchain-ChatGLM

 

1. 确定显卡规格

lspci | grep -i nvidia

00:07.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2 32GB] (rev a1)

2. 确定显卡运行状况

nvidia-smi

如果有问题,需要先装显卡的驱动

apt search nvidia-driver

根据显卡规格,找到驱动型号,比如是510

apt install  nvidia-driver-510

 

3. 安装依赖

# 拉取仓库
$ git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git

# 进入目录
$ cd langchain-ChatGLM

# 安装依赖
$ pip install -r requirements.txt

 

4. 运行

python cli_demo.py

会自动加载模型文件

主体的流程参考下图,结合本地知识库的,文本生成方案

 代码的逻辑实现上其实很简单,

 

初始化LLM

分两步,加载llm模型和embedding模型

embedding模型是用来将文本转化为词向量的,这里dict中是ernie和text2vec两种

load_model

这里主要使用huggingface的transform模块进行模型加载,

huggingface的这个模块封装的非常好,会自动的根据模型名称去自动下载和加载模型,还能自动选择配套的tokenizer或config

这里供选择的LLM,

"chatyuan": "ClueAI/ChatYuan-large-v2",
"chatglm-6b-int4-qe": "THUDM/chatglm-6b-int4-qe",
"chatglm-6b-int4": "THUDM/chatglm-6b-int4",
"chatglm-6b-int8": "THUDM/chatglm-6b-int8",
"chatglm-6b": "THUDM/chatglm-6b", chatglm的变体主要是量化版,即参数从浮点变成int,牺牲精度降低计算量,可以用cpu跑

Peft是huggingface提供用于Fineture的模块

lora,p-tuning,ChartGLM采用的微调方式

参考,

https://zhuanlan.zhihu.com/p/627642632,大模型微调总结

https://zhuanlan.zhihu.com/p/583022692,P-Tuning】 一种自动学习 prompt pattern 的方法

https://github.com/huggingface/peft huggingface的peft库,包含prefix-tuning,prompt tuning,p-tuning,lora等

 

初始化向量库

用的是Faiss,传入embeddings模型

直接把本地知识库的文本加入就可

 

QA

步骤如下,

在生成prompt的时候,使用如下模板

"""已知信息:
{context}
根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。 问题是:{question}"""

 

标签:6b,模型,ChatGLM,huggingface,langchain,chatglm,com,调研
From: https://www.cnblogs.com/fxjwind/p/17401783.html

相关文章

  • 博客调研
    博客园:√最合适,发文章方便,可以自定义分类简书:√可以立即发布文章,可以自定义文集51cto:×可以自定义分类,但发的文章需要审核oschina:×网站可能有bug,点登录没反应掘金:√可以自己设置专栏,可以立即发布chinaunix:√可以立即发布,页面太古老知乎:×无法自己设置分类segmentfa......
  • 部署ChatGLM6B模型过程
    背景大语言模型的本地化部署尝试步骤下载项目下载页:https://github.com/josStorer/selfhostedAI/releases/tag/v2下载selfhostedAI-chatglm-6b-int4-widoowed-nvidia.7z.001-003压缩包解压后,更新项目:update.bat安装pytorchforgpupipinstalltorch1.13.1+cu117t......
  • ChatGLM-6B本地化部署
    一、硬件要求量化等级最低GPU显存(推理)最低GPU显存(高效参数微调)FP16(无量化)13GB14GBINT88GB9GBINT46GB7GB二、环境要求需先安装git、python三、下载源码1mkdir/gpt2cdgpt3gitclonehttps://github.com/THUDM/ChatGLM-6B.git ......
  • 点云分类相关调研
    点云分类(标注)根据采取的方法和策略可以分为阶层式分类和同时分类方法。阶层式分类就是将任务分为两类:滤波和对象分类。滤波就是将点云分为地面点和非地面点,其中常用的算法有数学形态学算法,坡度滤波算法,不规则三角网渐进加密算法,移动曲面拟合算法和迭代线性最小二乘内插法,布料模拟算......
  • 自动驾驶产业链调研之主机厂、软件方案商、硬件方案商 , 超详细的自动驾驶产业链调研,该
    自动驾驶产业链调研之主机厂、软件方案商、硬件方案商,超详细的自动驾驶产业链调研,该文件主要整理车企、Tier1主机厂、自动驾驶软件方案商、自动驾驶硬件方案商,在以下维度进行的调研整理,包括自动驾驶方面的发展路径、技术方案、技术合作伙伴、调研结论汇总。倘若你是产品经理......
  • 假期做了一项调研:大厂为啥都自研RPC?结果合乎情理!
    大家好,我是冰河~~五一假期过的可真快,今天开始,又要搬砖了。在五一假期当中,冰河做了一项调研,感觉结果还是挺合乎情理的。翻看招聘信息先来看我在某招聘网站上随便搜索了下Java招聘的岗位,看到的招聘信息。可以看到,很多岗位都要求有分布式、微服务相关的开发经验,并且清一色都需......
  • 调研了下 AI 作曲,顺便做了期视频...快进来听歌!
    文|白鹡鸰编|小轶视频|白鹡鸰嗨,大家好!这里是卖萌屋,我是白鹡鸰。今天和大家聊聊人工智能作曲。人工智能在音乐领域的应用已经非常常见了,像听歌识曲、曲风分类、自动扒谱等等,而利用机器来替代人类作曲?这显然也不是新想法了。核心问题只在于:现在这个任务被做到了什么程度?用的......
  • (2023)iOS17开放侧载的网友观点调研
    前言因为欧盟方面的强制措施,不出意外的话,iOS17开始苹果将被迫开放侧载。虽然具体如何开放的细节还不确定,但是这毕竟对苹果,开发者,以及用户都是不小的事情。整理了下网友们(主要是开发者们),对侧载的一系列看法和猜测。因为很多意见是相左的,所以整理成了反面观点和正面观点。反面......
  • Langchain框架 prompt injection注入
    Langchain框架promptinjection注入PromptInjection是一种攻击技术,黑客或恶意攻击者操纵AI模型的输入值,以诱导模型返回非预期的结果Langchain框架LangChain是一个基于大语言模型进行应用开发的框架。所谓大语言模型(LargeLanguageModels,LLMs),是指基于海量语料训练、......
  • 高清录音机市场需求调研分析
    一产品形态其实,录音机的产品形态很多,针对不同的市场,产品形态也不同。有面对消费电子市场的录音棒,录音笔,也有面对娱乐市场的录音机,面对商务市场的录音机。面对金融和保险领域的录音产品,都有不同的形态。可技术都是基本差不多的。无非是音频信号的采集,处理和传输。二用户需求A......