平民如何体验一把大模型知识库

背景

随着openai发布的chatgpt,各界掀起大模型热. 微软、谷歌、百度、阿里等大厂纷纷拥抱人工智能, 表示人工智能将是下一个风口.确实, chatgpt的表现确实出乎大部分的意料之外,网上也不断流传出来,chatgpt未来会替换很多白领.作为一名普通的程序员,觉得非常有必要随波逐流一下,但是最新的openai的模型并不是开源的,说实话,不开源,大部分人在大模型肯定是望而却步,另一方面,大部分模型都是亿级别以上的参数,单单部署方面,硬件要求都已经与大部人无缘了.此时或许有人问,为啥不能直接用openai或者其他大公司的产品,自己还要重复造轮子,主要有2个原因:1是如果只是会用,但是不了解过程,不是程序员的初心,2是很多企业不允许将公司内部资料直接开放给公网平台.但是作为一名屌丝平民,还是感谢IT业的资源共享,找到一些曲线救国的方法.

曲线救国的方法:

如果自己要私有部署一个知识库大模型,至少需要以下的条件.
1、训练好模型,: 虽然openapi没有对最新模型开源, 互联网也有开源一些
https://zhuanlan.zhihu.com/p/618790279
虽然比不上chatgpt3.5或者4,但是自己玩玩也是足够了
2、部署的硬件条件: 如果自己购买,绝对是一笔不小的开支, 还好有其他大公司的慷慨解囊.
https://zhuanlan.zhihu.com/p/651649338

3、基本计算机知识: 确实很扎心, 要完成个人知识库搭建,还是需要基本计算机知识.
小结: 接下来我就结合Langchain-ChatChat和阿里云的PAI—DSW 分享一下自己部署的历程.

实践

1、准备好阿里云的GPU资源(时间有点长)
部分参考基于阿里云免费算力自建LLM(类GPT)大模型文章
不需要参考的部分
选择镜像的时候,不要选择自带的官方镜像,而是要使用https://github.com/chatchat-space/Langchain-Chatchat中推荐的容器镜像,因为这个开源代码对软件(特别是CUDA版本有要求)

在这里插入图片描述

docker.m.daocloud.io/nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04 (为了加快拉取外网的镜像)
注意:这个镜像比较大,所以可以在吃饭的中去部署这个环境

在这里插入图片描述

注意:不用就停止掉,不然浪费你的资源额度,好像有15天的过期时间,如果15内不启动这个服务器,磁盘会被回收的,数据都没有了,就要重新进行下面安装步骤
2、安装chat-chat
参考REAME.md
​github.com/chatchat-space/Langchain-Chatchat
不能参考部分:
(1)注意: 因为使用nvidai的基础镜像,所以git 、curl环境都没安装,所以可以使用谷歌一下ubuntu安装python3.10 git curl git lfs等工具.
(2)README.md中的第二步模型下载,不用使用huggingface.co(网络不通)
$ git clone https://huggingface.co/THUDM/chatglm2-6b 不要掉
换成:
mkdir THUDM
cd THUDM
git clone https://www.modelscope.cn/ZhipuAI/chatglm2-6b.git
cd …
$ git clone https://huggingface.co/moka-ai/m3e-base 不要掉
换成:
mkdir moka-ai
cd moka-ai
git clone https://www.modelscope.cn/thomas/m3e-base.git
cd …
(3)最好后台启动服务
nohup python3.10 startup.py -a > chat.log 2>&1 &
在这里插入图片描述

启动完成后, 点击一下chat.log日志中的url:

在这里插入图片描述

最后可以愉快的玩耍了.

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/156098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win10 电源选项那选择“关闭显示器“为1分钟,1分钟后就锁屏了?怎么才能关闭显示器后不锁屏

环境: Win10专业版 问题描述: Win10 电源选项那选择"关闭显示器"为1分钟,1分钟后就锁屏了?怎么才能关闭显示器后不锁屏 解决方案: 方法一 更改注册表可以实现关闭显示器而不锁屏的效果。请按照以下步骤…

基于人工大猩猩部队算法优化概率神经网络PNN的分类预测 - 附代码

基于人工大猩猩部队算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于人工大猩猩部队算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于人工大猩猩部队优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&a…

【Rust】快速教程——闭包与生命周期

前言 你怎么向天生的瞎子说清颜色?怎么用手势向天生的聋子描述声音? 鲜花就在眼前,雷鸣就在头顶,对他们来说却都毫无意义 眼睛看不到,鼻子可以嗅闻花香,耳朵听不见,手指可以触碰窗纸的震动。 犯…

STM32:时钟树原理概要

在一般情况下只要在CubeIDE中将RCC下的高速时钟源设置成晶振,随后在时钟配置中把HCLK设置到最大频率(比如STM32F103的最高频率是72MHZ ),CubeIDE就会帮我们自动调节其它参数到合适的值。这样我们芯片就可以全速运行了。 一、时钟信…

django+drf+vue 简单系统搭建 (3) - 基于类的视图

传统Django中有基于类的视图,Drf中自然也有,目的都是实现功能的模块化继承,封装,减少重复代码。 首先在视图中新增下面代码: # simpletool/views.pyfrom rest_framework.views import APIView from simpletool.seria…

Java —— String类

目录 1. String类的重要性 2. 常用方法 2.1 字符串构造 2.2 String对象的比较 2.3 字符串查找 2.4 转化 1. 数值和字符串转化 2. 大小写转换 3. 字符串转数组 4. 格式化 2.5 字符串替换 2.6 字符串拆分 2.7 字符串截取 2.8 其他操作方法 2.9 字符串常量池 2.9.1 创建对象的思考…

selenium下载安装对应的chromedriver并执行

文章目录 selenium对应版本chrome驱动下载114以及之前的chrome版本119/120/121的chrome版本 chromedriver安装执行selenium代码 selenium Selenium是广泛使用的模拟浏览器运行的库,它是一个用于Web应用程序测试的工具。 Selenium测试直接运行在浏览器中&#xff0c…

Redis 5 种基本数据类型详解

Redis 共有 5 种基本数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。 这 5 种数据类型是直接提供给用户使用的&…

VPX 插座(VITA46)介绍及应用 (简单介绍)

1. VPX 插座的介绍 VPX是VITA(VME International Trade Association, VME国际贸易协会)组织于2007年在其VME总线基础上提出的新一代高速串行总线标准。VPX总线的基本规范、机械结构和总线信号等具体内容均在ANSI/VITA46系列技术规范中定义。VPX就是基于高速串行总线的新一代总线…

PyTorch中并行训练的几种方式

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

小诺2.0开源版工程启动

小诺是一款开源的前后端开发框架,同若依、SpringBladex一样可作为私活、外包脚手架。 开源地址:Snowy: 最新:💖国内首个国密前后分离快速开发平台💖,采用Vue3AntDesignVue3 ViteSpringBootMpHuToolSaToke…

操作系统(三)| 进程管理上 进程状态 同步 互斥

目录 1 进程和程序区别 2 进程状态 2.1 进程的5种基本状态 2.2 进程状态之间转换 2.3 七状态模型 3 进程描述 3.1 进程控制块 PCB 3.2 进程块组织方式 4 进程控制 5 进程同步 互斥 5.1 区分进程互斥和同步 5.2 核心方案 5.3 其他方案 方案1 设置锁变量 方案2 严…

C# 电脑程序控制电路开关

最近在做系统的监控,想到能不能做一个酷点的功能,当收到异常消息时桌面上的红色小灯(或报警灯)会亮起来。于是在淘宝上找了一下,有这种小设备,插入USB设备,通过串口控制这个设备的继电器来实现&…

中级程序员——vue3+js+git面试题

🙂博主:小猫娃来啦 🙂文章核心:vue3jsgit面试题 文章目录 vue3最大缺点和优点?vue3组合式里面,如何去调用子组件里面的方法?watch和watcheffect有什么区别?计算属性和watch的区别是什…

MySQL数据库系统教程

基础篇 通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用…

ArcGIS教程——ArcGIS工具-按线分割面

功能说明 在ArcGIS数据处理过程中,有时需要沿线把面要素分割开,可以使用高级编辑中的分割面(Cut Polygon)工具。那么,如果要用线图层分割面图层该怎么办呢?地理遥感生态网平台开发了一个自定义模型工具。它…

学习笔记—吴恩达《AI for everyone》

【写在前面】 学习视频来源:B站“GPT中英字幕课程资源”(见图片水印)。 此文是自学笔记,主要是截图视频课件中的一些知识点,只做自学使用。 一. AI 介绍 二. 机器学习 Machine Learning 三. 什么是数据 What is AI 四…

你知道Linux操作系统的前世今生吗?Linux系统又该如何搭建呢?

文章目录 前言1. Linux 是什么1.1 Unix & Linux 发展历程图1.2 Linux 的发展1.3 Linux 的发行版 2. Linux 环境搭建2.1 环境搭建方式2.2 使用云服务器 3. 使用终端软件连接到 Linux3.1 什么是终端软件3.2 下载安装 XShell3.3 使用 XShell 登陆主机 总结 前言 可能很多人都…

跳台阶游戏(Python排列组合函数itertools.combinations的应用)

给定台阶总数和两种单次可跳级数,编写自定义函数,计算所有的游戏组合方案数量。 (笔记模板由python脚本于2023年11月19日 19:18:48创建,本篇笔记适合熟悉python自定义函数编写,了解排列组合知识的coder翻阅) 【学习的细节是欢悦的…

多项式求和

题目描述 给定程序中 fun 函数的功能是:求出以下分数序列的前 n 项之和,并通过函数值返回 main 函数。 输入格式 输入参数。 输出格式 计算公式返回的结果。 输入输出样例 输入1 5 输出1 8.391667 python解: def fun(n):a1b2s0for…