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

news/2024/7/20 19:26:42 标签: AIGC, 知识库, 大模型

背景

随着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.niftyadmin.cn/n/5200755.html

相关文章

mysql操作实战

show processlist ; select * from information_schema.processlist where db ‘xxxx’ ORDER BY time DESC; SHOW OPEN TABLES WHERE In_use > 0; show engine innodb status; kill 5192983; select * from information_schema.innodb_trx ; EXPLAIN SEL…

阿里云函数计算 1024云上见 AIGC小说创作大赛:如何搭建自定义的阿里通义千问

本心、输入输出、结果 文章目录 阿里云函数计算 1024云上见 AIGC小说创作大赛:如何搭建自定义的阿里通义千问前言准备工作开始上传作品相关链接花有重开日,人无再少年实践是检验真理的唯一标准弘扬爱国精神 阿里云函数计算 1024云上见 AIGC小说创作大赛&…

Rucbase 存储管理——磁盘管理器

1.需求 本题需要实现磁盘管理器DiskManager的相关接口,磁盘管理器负责文件操作、读写页面等。阅读项目结构文档中磁盘管理器的相关说明,以及代码框架中src/errors.h、src/storage/disk_manager.h、src/storage/disk_manager.cpp、src/common/config.h文件…

【开源】基于Vue和SpringBoot的高校宿舍调配管理系统

项目编号: S 051 ,文末获取源码。 \color{red}{项目编号:S051,文末获取源码。} 项目编号:S051,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能需求2.1 学生端2.2 宿管2.3 老师端 三、系统…

Android Serializable / Parcelable

Serializable 序列化,将对象转为二进制序列 Parcelable 不是序列化,属于进程间通信,不需要IO/操作,没有拷贝内存的操作, Object -> ShareMemory -> Object 不需要IO,使用内存共享等方式 Kotlin inline fun 内联函数 TCP协议将数据包拆分,进行发送,保证网络数据的可…

AtCoder Beginner Contest 329(E - Stamp)

AtCoder Beginner Contest 329 比赛地址:Sky Inc, Programming Contest 2023(AtCoder Beginner Contest 329) - AtCoder E - Stamp Problem Statement You are given two strings: S S S, which consi…

shell脚本字典创建遍历打印

解释: 代码块中包含了每个用法的详细解释 #!/bin/bash# 接收用户输入的两个数 echo "请输入第一个数:" read num1 echo "请输入第二个数:" read num2# 创建一个关联数组 declare -A dict1 declare -A dict2# 定义键和值…

C#赋值时=>和=的区别

>每次访问该值的时候,都会调用 表达式只会在其初始化时计算一次 参考 C#里>的两种用法_CAXCoder的博客-CSDN博客