• LLM大语言模型(典型ChatGPT)入门指南


    一、基础概念学习篇

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 报错 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 解决方案

    如果这个报错,则去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
    
    • 1

    2.3 text-generation-webui

    参考链接:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/wiki/text-generation-webui_zh

    1. 安装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
    
    • 1
    • 2
    • 用手动安装的方式
      [图片]
    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
    
    • 1
    • 2
    • 3
    • 4
    • 看是否has AVX2
    apt install cpuid
    cpuid | grep AVX2
    
    • 1
    • 2

    然后安装对应reqirements(我这边装这个报错,没走这步,下一步缺少什么安装什么也可,包不多)

    [图片]

    然后

    python server.py
    
    • 1

    缺什么pip install什么就可以。

    1. 运行

    参考: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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 加载命令:
    python server.py --model chinese-alpaca-2-7b --chat --share
    
    • 1

    也可以是:

    python server.py --model /home/gykj/thomascai/models/chinese-alpaca-2-13b --chat --share
    
    • 1
    • 报错
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 解决方案

    如果这个报错,则去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
    
    • 1

    三、国内项目实践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

  • 相关阅读:
    【DeepLearning 8】Self-Attention自注意力神经网络
    [Linux打怪升级之路]-冯诺依曼体系结构和对操作系统的认识
    【力扣10天SQL入门】Day2
    虚拟内存、虚拟地址空间和物理地址空间(内存管理)
    leetcode-99.恢复二叉搜索树
    高级架构师_Redis_第4章Redis 发布与订阅+事务+lua脚本+ 慢查询日志+监视器
    详细讲解 —— 多线程(二)Thread类及常见方法(Java EE初阶)
    Java面向对象知识详解——三大基本特征
    leetcode94.二叉树的中序遍历
    SpringBoot整合easyexcel实现Excl导入导出
  • 原文地址:https://blog.csdn.net/ThomasCai001/article/details/134371599