从零搭建出属于自己的大模型

从零搭建出属于自己的大模型

基于本地模型搭建大模型

你好! 这是一个从零开始搭建本地大模型的教程(从建文件夹开始,真正的从零开始),如果你也对大模型感兴趣,那就让我带领你搭建出一个属于自己的“小助理”吧!

一、下载源码和模型并存到到指定文件夹

具体步骤如下:

  1. 创建文件夹存放源码和模型 ,在E盘中创建一个LLM文件夹用来存储源码和模型;

    在这里插入图片描述

  2. 下载源码和模型
    1)如果在Anaconda Powershell Prompt中下载时,可以使用下列语句
    模型下载
    git clone https://huggingface.co/THUDM/chatglm2-6b-32k
    git clone https://huggingface.co/moka-ai/m3e-base
    源码下载
    git clone https://github.com/chatchat-space/Langchain-Chatchat.git;
    (使用Anaconda Powershell Prompt下载时需要进入刚才创建的LLM文件夹,模型下载需要进入到LLM的models文件夹内,如下图表示)
    模型下载
    在这里插入图片描述
    在这里插入图片描述
    源码下载
    在这里插入图片描述
    最后文件夹的效果
    在这里插入图片描述
    在这里插入图片描述
    (注意:此处下载需要安装git,并且下载模型时需要魔法)
    2)可以直接进入网站下载
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3)后台有偿发送
    如果魔法无法下载,可以私信联系我,使用网盘发送,有更好效果的agentlm-13b。
    在这里插入图片描述

二、搭建模型

  1. 创建虚拟环境
    打开Anaconda Powershell Prompt(使用该终端需要下载anaconda)可以使用管理员模式。使用conda create -n llm-chat python=3.10语句(python高于3.8即可)
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

  2. 激活虚拟环境并安装torch
    1)使用conda activate llm-chat激活虚拟环境
    在这里插入图片描述
    2)使用pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118安装torch
    在这里插入图片描述
    在这里插入图片描述

  3. 安装依赖
    1)使用conda install spacy安装spacy库
    在这里插入图片描述
    在这里插入图片描述
    2)进入Langchain-Chatchat目录下使用pip install cchardetpip install accelerate安装cchardet、accelerate库
    在这里插入图片描述
    在这里插入图片描述
    3)使用pip install --upgrade pip更新pip
    在这里插入图片描述
    4)并使用pip install -r requirements.txt下载源码依赖库,这个下载的包很多,需要一点时间,不要着急。
    在这里插入图片描述
    在这里插入图片描述

  4. 修改配置文件
    走到这一步,那么恭喜你马上就要成功了!!!
    1)进入cofigs目录下,使用命令行模式修改文件
    cp .\model_config.py.example .\model_config.py
    cp .\server_config.py.example .\server_config.py
    cp .\basic_config.py.example .\basic_config.py
    cp .\kb_config.py.exmaple .\kb_config.py
    cp .\prompt_config.py.example .\prompt_config.py
    在这里插入图片描述
    在这里插入图片描述
    2)直接用鼠标打开文件夹,复制粘贴重命名(用“1步骤”就无需使用此步骤,跳过该步骤)。
    在这里插入图片描述
    最后效果如下图:
    在这里插入图片描述

  5. 修改端口及路径
    1)打开model_config.py文件,m3e-base和chatglm2-6b-32k的路径修改为我们存放模型的位置,我的是E:/LLM/models/m3e-baseE:/LLM/models/chatglm2-6b-32k
    在这里插入图片描述
    2)修改启动模型,还是在这个文件修改
    在这里插入图片描述
    3)打开server_config,py文件修改服务地址
    在这里插入图片描述

三、模型启动

  1. 最后一步,模型,启动!!!
    在Langchain-Chatchat目录下使用python startup.py -a或者python startup.py --all-webui启动模型。如下图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    接下来就可以玩转属于自己的大模型啦!!!

本教程只是搭建本地大模型,下一篇会基于本次的搭建,然后结合本地知识库进行部署。

  • 15
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
基于TensorFlow Object Detection API搭建自己的物体识别模型的代码如下: 1. 准备工作: - 安装TensorFlow Object Detection API - 准备训练和测试数据集 - 下载预训练的模型权重 2. 导入所需库: ```python import tensorflow as tf from object_detection.utils import dataset_util from object_detection.utils import label_map_util from object_detection.utils import visualization_utils as vis_util ``` 3. 加载label map和模型: ```python PATH_TO_LABELS = 'path_to_label_map.pbtxt' PATH_TO_MODEL = 'path_to_pretrained_model' label_map = label_map_util.load_labelmap(PATH_TO_LABELS) categories = label_map_util.convert_label_map_to_categories(label_map, max_num_classes=90, use_display_name=True) category_index = label_map_util.create_category_index(categories) detection_graph = tf.Graph() with detection_graph.as_default(): od_graph_def = tf.GraphDef() with tf.gfile.GFile(PATH_TO_MODEL, 'rb') as fid: serialized_graph = fid.read() od_graph_def.ParseFromString(serialized_graph) tf.import_graph_def(od_graph_def, name='') ``` 4. 定义函数进行物体识别: ```python def detect_objects(image): with detection_graph.as_default(): with tf.Session(graph=detection_graph) as sess: image_tensor = detection_graph.get_tensor_by_name('image_tensor:0') detection_boxes = detection_graph.get_tensor_by_name('detection_boxes:0') detection_scores = detection_graph.get_tensor_by_name('detection_scores:0') detection_classes = detection_graph.get_tensor_by_name('detection_classes:0') num_detections = detection_graph.get_tensor_by_name('num_detections:0') image_expanded = np.expand_dims(image, axis=0) (boxes, scores, classes, num) = sess.run( [detection_boxes, detection_scores, detection_classes, num_detections], feed_dict={image_tensor: image_expanded}) vis_util.visualize_boxes_and_labels_on_image_array( image, np.squeeze(boxes), np.squeeze(classes).astype(np.int32), np.squeeze(scores), category_index, use_normalized_coordinates=True, line_thickness=8) return image ``` 5. 加载测试图像并进行物体识别: ```python image = cv2.imread('test_image.jpg') image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) output_image = detect_objects(image) cv2.imshow('Object Detection', output_image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 通过以上代码,可以使用自己的训练数据集、预训练模型权重和标签映射文件来搭建自己的物体识别模型。设置好路径并加载模型后,将待识别的图像传入`detect_objects`函数即可返回识别结果,并在图像上进行可视化展示。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值