LLM大语言模型(典型ChatGPT)入门指南
文章目录
- 一、基础概念学习篇
- 1.1 langchain视频学习笔记
- 1.2 Finetune LLM视频学习笔记
- 二、实践篇
- 2.1 预先下载模型:
- 2.2 LangChain
- 2.3 Colab demo
- 2.3 text-generation-webui
- 三、国内项目实践langchain-chatchat
一、基础概念学习篇
1.1 langchain视频学习笔记
langchain是基于LLM的一套解决方案,包括对文本问答等功能
参考视频(吴恩达大神团队的):https://www.bilibili.com/video/BV1pz4y1e7T9/?p=1&vd_source=82b50e78f6d8c4b40bd90af87f9a980b
- 整理流程
问题和参考知识(来自文本),打包成prompt传入给LLM,然后LLM返回回答完成对文本进行问答
- 概念图
- 嵌入文本流程
- 对于嵌入文本找相似度
- 向量数据库
- 问题出发去向量数据库中匹配多个向量(知识)
1.2 Finetune LLM视频学习笔记
参考:https://www.bilibili.com/video/BV1Rz4y1T7wz?p=8&spm_id_from=pageDriver&vd_source=82b50e78f6d8c4b40bd90af87f9a980b
- Prompt和Finetune的对比
二、实践篇
部署入口:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2
2.1 预先下载模型:
- 各个方式部署的优缺点,在入口链接上也有:
2.2 LangChain
参考链接;https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/wiki/langchain_zh
bash交互式chat:langchain_zh部署
预先下载text2vec-large-chinese向量化模型:https://huggingface.co/GanymedeNil/text2vec-large-chinese/tree/main
链接中的解释:在检索式问答中,LangChain通过问句与文档内容的相似性匹配,来选取文档中与问句最相关的部分作为上下文,与问题组合生成LLM的输入。因此,需要准备一个合适的embedding model用于匹配过程中的文本/问题向量化。
- 部署:
conda create -n langchain3 python=3.8
conda activate langchain3
git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca-2.git
pip install langchain
pip install sentence_transformers==2.2.2
pip install pydantic==1.10.8
pip install faiss-gpu==1.7.1
pip install protobuf
pip install accelerate
python langchain_qa.py --embedding_path /path/to/text2vec-large-chinese --model_path /path/to/chinese-alpaca-2-7b --file_path doc.txt --chain_type refine
2.3 Colab demo
参考链接:https://colab.research.google.com/drive/1yu0eZ3a66by8Zqm883LLtRQrguBAb9MR?usp=sharing
- 部署:
conda create -n colab python=3.8
conda activate colab
# 然后按照链接步骤来即可
git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca-2.git
pip install -r Chinese-LLaMA-Alpaca-2/requirements.txt
pip install gradio
# 下载模型
git clone https://huggingface.co/ziqingyang/chinese-alpaca-2-7b
python Chinese-LLaMA-Alpaca-2/scripts/inference/gradio_demo.py --base_model /content/chinese-alpaca-2-7b --load_in_8bit
- 报错 Could not create share link. Please check your internet
Please check your internet connection. This can happen if your antivirus software blocks the download of this file. You can install manually by following these steps:1. Download this file: https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64
2. Rename the downloaded file to: frpc_linux_amd64_v0.2
3. Move the file to this location: /home/gykj/miniconda3/envs/textgen/lib/python3.11/site-packages/gradio
- 解决方案
如果这个报错,则去https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64下载再重命名frpc_linux_amd64_v0.2再放入/home/gykj/miniconda3/envs/textgen/lib/python3.11/site-packages/gradio内即可。
然后特别注意需要修改权限:
chmod +x /home/gykj/miniconda3/envs/textgen/lib/python3.11/site-packages/gradio/frpc_linux_amd64_v0.2
2.3 text-generation-webui
参考链接:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/wiki/text-generation-webui_zh
- 安装text-generation-webui
参考:https://github.com/oobabooga/text-generation-webui#installation
git clone https://github.com/oobabooga/text-generation-webui.git
cd text-generation-webui
- 用手动安装的方式
conda create -n textgen python=3.11
conda activate textgen
# 我用的cuda11.8 NV:TITAN
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
- 看是否has AVX2
apt install cpuid
cpuid | grep AVX2
然后安装对应reqirements(我这边装这个报错,没走这步,下一步缺少什么安装什么也可,包不多)
然后
python server.py
缺什么pip install什么就可以。
- 运行
参考:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/wiki/text-generation-webui_zh
- 准备模型权重
>>> ls models/chinese-alpaca-2-7b
config.json
generation_config.json
pytorch_model-00001-of-00002.bin
pytorch_model-00002-of-00002.bin
pytorch_model.bin.index.json
special_tokens_map.json
tokenizer_config.json
tokenizer.json
tokenizer.model
- 加载命令:
python server.py --model chinese-alpaca-2-7b --chat --share
也可以是:
python server.py --model /home/gykj/thomascai/models/chinese-alpaca-2-13b --chat --share
- 报错
Please check your internet connection. This can happen if your antivirus software blocks the download of this file. You can install manually by following these steps:4. Download this file: https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64
5. Rename the downloaded file to: frpc_linux_amd64_v0.2
6. Move the file to this location: /home/gykj/miniconda3/envs/textgen/lib/python3.11/site-packages/gradio
- 解决方案
如果这个报错,则去https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64下载再重命名frpc_linux_amd64_v0.2再放入/home/gykj/miniconda3/envs/textgen/lib/python3.11/site-packages/gradio内即可。
然后特别注意需要修改权限:
sudo chmod +x /home/gykj/miniconda3/envs/textgen/lib/python3.11/site-packages/gradio/frpc_linux_amd64_v0.2
三、国内项目实践langchain-chatchat
比较好用的国内项目
按照
https://github.com/chatchat-space/Langchain-Chatchat/wiki/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%83%A8%E7%BD%B2
的本地部署环境安装即可,记得预先下载好模型,放在对应位置
有专门的wiki,比较详细,如有问题,可以讨论,他们也有群,也可以加群讨论~
整理资料不易,请一键三连支持,感谢~
∼ O n e p e r s o n g o f a s t e r , a g r o u p o f p e o p l e c a n g o f u r t h e r ∼ \sim_{One\ person\ go\ faster,\ a\ group\ of\ people\ can\ go\ further}\sim ∼One person go faster, a group of people can go further∼
相关文章:

LLM大语言模型(典型ChatGPT)入门指南
文章目录 一、基础概念学习篇1.1 langchain视频学习笔记1.2 Finetune LLM视频学习笔记 二、实践篇2.1 预先下载模型:2.2 LangChain2.3 Colab demo2.3 text-generation-webui 三、国内项目实践langchain-chatchat 一、基础概念学习篇 1.1 langchain视频学习笔记 lan…...

Spring IOC - Bean的生命周期之实例化
在Spring启动流程文章中讲到,容器的初始化是从refresh方法开始的,其在初始化的过程中会调用finishBeanFactoryInitialization方法。 而在该方法中则会调用DefaultListableBeanFactory#preInstantiateSingletons方法,该方法的核心作用是初始化…...
前端 BUG 总结
文章目录 CSS 样式1、Chrome 89 版本期不再支持 /deep/,请勿使用嵌套 /deep/2、圆角按钮 button 点击后出现矩形框线3、怪异模式4、border 1 像素在手机上显示问题5、文本溢出问题 JavaScript 脚本1、移动端点击穿透2、使用parseInt时必须补全第二个参数 radix3、有…...

【蓝桥杯软件赛 零基础备赛20周】第3周——填空题
报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 文章目录 00. 2023年第14届参赛数据0. 上一周答疑1. 填空…...

Pytorch自动混合精度的计算:torch.cuda.amp.autocast
1 autocast介绍 1.1 什么是AMP? 默认情况下,大多数深度学习框架都采用32位浮点算法进行训练。2017年,NVIDIA研究了一种用于混合精度训练的方法,该方法在训练网络时将单精度(FP32)与半精度(FP16)结合在一起ÿ…...

一文看懂香港优才计划和高才通计划的区别和优势?如何选?
一文看懂香港优才计划和高才通计划的区别和优势?如何选? 为什么很多人都渴望有个香港身份? 英文这里和内地文化相近,语言相通,同时税率较低、没有外汇管制,有稳定金融体制和良好的营商环境,诸多…...

DTC Network旗下代币DSTC大蒜头即将上线,市场热度飙升
全球数字资产领导者DTC Network宣布其代币DSTC(大蒜头)即将于近期上线,引发市场广泛关注。DTC Network以其创新性的区块链技术和多维度的网络构建,致力于打造一个融合Web3.0、元宇宙和DAPP应用的去中心化聚合公共平台,…...

高通SDX12:ASoC 音频框架浅析
一、简介 ASoC–ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。 本文基于高通SDX12平台,对ASoC框架做一个分析。 二、整体框架 1. 硬件层面 嵌入式Linux设备的Audio subsystem可以划分为Machine(板…...

国际化:i18n
什么是国际化? 国际化也称作i18n,其来源是英文单词 internationalization的首末字符和n,18为中间的字符数。由于软件发行可能面向多个国家,对于不同国家的用户,软件显示不同语言的过程就是国际化。通常来讲࿰…...

【机器学习5】无监督学习聚类
相比于监督学习, 非监督学习的输入数据没有标签信息, 需要通过算法模型来挖掘数据内在的结构和模式。 非监督学习主要包含两大类学习方法: 数据聚类和特征变量关联。 1 K均值聚类及优化及改进模型 1.1 K-means 聚类是在事先并不知道任何样…...

风景照片不够清晰锐利,四招帮你轻松解决
我们大家在拍摄风景照的时候都希望能够拍摄出清晰锐利的照片。可能会有人问:“什么是锐利?”我们可以从锐度来给大家简单解说下。锐度是反映图片平面清晰度和图像边缘对比度的一个参数。锐度较高的画面,微小的细节部分也会表现得很清晰&#…...

List中的迭代器实现【C++】
List中的迭代器实现【C】 一. list的结构二. 迭代器的区别三. 迭代器的实现i. 类的设计ii. 重载iii. !重载iiii. begin()iiiii. end()iiiii. operator* 四.测试五. const迭代器的实现i. 实现ii 优化实现 六. 整体代码 一. list的结构 其实按照习惯来说,应该要专门出…...

VB.NET三层之用户查询窗体
目录 前言: 过程: UI层代码展示: BLL层代码展示: DAL层代码展示: 查询用户效果图: 总结: 前言: 想要对用户进行查询,需要用到控件DataGrideView,通过代码的形式将数据库表中的数据显示在DataGrideview控件中,不用对DatGridView控件…...

Django之路由层
文章目录 路由匹配语法路由配置注意事项转换器注册自定义转化器 无名分组和有名分组无名分组有名分组 反向解析简介普通反向解析无名分组、有名分组之反向解析 路由分发简介为什么要用路由分发?路由分发实现 伪静态的概念名称空间虚拟环境什么是虚拟环境?…...

【06】VirtualService高级流量功能
5.3 weight 部署demoapp v10和v11版本 --- apiVersion: apps/v1 kind: Deployment metadata:labels:app: demoappv10version: v1.0name: demoappv10 spec:progressDeadlineSeconds: 600replicas: 3selector:matchLabels:app: demoappversion: v1.0template:metadata:labels:app…...
322. 零钱兑换
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...

【大模型-第一篇】在阿里云上部署ChatGLM3
前言 好久没写博客了,最近大模型盛行,尤其是ChatGLM3上线,所以想部署试验一下。 本篇只是第一篇,仅仅只是部署而已,没有FINETUNE、没有Langchain更没有外挂知识库,所以从申请资源——>开通虚机——>…...
2023-11-14 mysql-主从复制-相关文档
摘要: 2023-11-14 mysql-主从复制-相关文档 官方文档: MySQL :: MySQL 8.0 Reference Manual :: 17 Replication MySQL :: MySQL 8.0 Reference Manual :: 18 Group Replication 相关参数: mysql> show variables like %repl%; +-----------------------------------------…...

ios 对话框 弹框,输入对话框 普通对话框
1 普通对话框 UIAlertController* alert [UIAlertController alertControllerWithTitle:"a" message:"alert12222fdsfs" pr…...

(论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
文献阅读笔记(分层卷积特征) 简介 题目 Hierarchical Convolutional Features for Visual Tracking 作者 Chao Ma, Jia-Bin Huang, Xiaokang Yang and Ming-Hsuan Yang 原文链接 arxiv.org/pdf/1707.03816.pdf 关键词 Hierarchical convolution…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...