在服务器上搭配大模型的运行环境详细版(docker+ollama+langchain等工具)

用到的工具

1.anaconda3环境安装

anaconda3导出环境

#导出环境
conda env export --name your_env_name > custom_environment.yaml
#导入环境
conda env create -f environment.yaml

2.前置的docker软件安装、docker镜像如何进行转移

sudo apt-get update
#时期能访问阿里云
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 确认docker未被篡改
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-get update
sudo apt install docker-ce
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装,另外可以通过 --mirror 选项使用国内源进行安装:
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

添加用户

#将当前用户加入用户组
sudo gpasswd -a $USER docker
修改并保存完成后,重新加载守护并重启socket即可sudo systemctl daemon-reload
sudo systemctl restart docker.socket
安装ollama命令
此为cpu版本
docker run -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
gpu版本
docker run --gpus all -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama#docker装pgvector
docker run --name pgvector --restart=always -e POSTGRES_USER=pgvector -e POSTGRES_PASSWORD=pgvector -v /srv/tlw/pgvectordata:/var/lib/postgresql/data -p 54333:5432 -d pgvector/pgvector:pg16
#docker装openwebui
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main#docker装openwebui与ollama捆绑的
gpu版本
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama #以export import方式
docker export 容器名字 > container.tar
cat container.tar | docker import - <新容器名称>#save load方式
docker save -o my-open-webui-image.tar my-open-webui-image
docker load -i my-open-webui-image.tar
这会将my-open-webui-image.tar文件中的镜像加载到Docker中,之后你就可以像使用任何其他本地镜像一样使用它了
docker run -it -d \-p 3000:8080 \--add-host=host.docker.internal:host-gateway \-v /path/on/target/machine/open-webui:/app/backend/data \--name new_open_webui \my-open-webui-image请确保替换/path/on/target/machine/open-webui为目标电脑上的实际路径。通过以上步骤,你就能成功地将一个Docker容器转换为镜像,并将其转移到另一台电脑上使用了

3.gpu环境配置

删除已安装的cuda环境

sudo apt-get --purge remove nvidia*

sudo apt autoremove

To remove CUDA Toolkit:

$ sudo apt-get --purge remove "*cublas*" "cuda*"

To remove NVIDIA Drivers:

$ sudo apt-get --purge remove "*nvidia*"
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
这些命令有的需要关机之后才生效!!!
sudo apt-get update  # 更新源
sudo apt-get install -y nvidia-container-toolkit 这个工具也是需要安装的
此为gpu安装工具包
sudo apt-get install dkms
安装nvidia-smi
ubuntu-drivers devices # 查看推荐安装的driver
sudo apt install nvidia-driver-545-open # 进行安装之后需要重启计算机
输入nvidia-smi命令查看可安装版本
安装对应的版本
sudo dkms install -m nvidia -v 450.57

4.pycharm配置

5.langchain环境搭配

langchain使用的技术有Agent、memory、分词器、pgvector

直接pip安装,后面缺什么按需要装什么就行了

在后台一直运行该项目

nohup streamlit run app.py > streamrun.log 2>&1 &

6.网络方面

1.网络方面

查看防火墙

ufw status

添加端口开启

sudo ufw allow 22

iptables -nvL

添加用户

sudo useradd -r -m -s /bin/bash munan
sudo passwd 。。。 #设置密码
切换用户
su 。。。

2.unsloth(对大模型进行微调的框架)

官方地址:unslothai/unsloth: Finetune Llama 3, Mistral, Phi & Gemma LLMs 2-5x faster with 80% less memory (github.com)

unsloth如何使用

unsloth之后将模型保存,保存完之后需要进行量化操作

make clean && make all -jpython convert-hf-to-gguf.py /home/munan/fine_tune/lora_quantity_models/lama3-instruct/model
#后面跟的是模型保存得路径,先将其转换为gguf格式
./quantize /home/munan/fine_tune/lora_quantity_models/lama3-instruct/model/ggml-model-f16.gguf /home/munan/fine_tune/lora_quantity_models/lama3-instruct/quantity/ggml-model-q4_0.gguf q4_0
#该命令是对模型进行量化,后面得q4_0为进行4位量化

量化完成之后将其导入到ollama

在ollama里面还需要Modelfile文件,防止模型进行胡言乱语。

# 导入ollama
docker exec -it ollama-gpu /bin/bash -c "ollama create travel_llama3 -f /home/{your_path}/quantity/Modelfile.txt"
#创建模型
docker exec -it ollama-gpu /bin/bash -c 'ollama rm travel_llama3'
#将modelfile.txt复制一份到其他地方
#以交互式方式进入容器
docker exec -it ollama-gpu bash
# 将modelfile.txt移动到容器内
docker cp /home/munan/fine_tune/lora_quantity_models/{your_path}/quantity/ ollama-gpu:/home/{your_path}/quantity/

3.phidata(大模型开发所要使用的框架)其中前端页面使用了streamlit框架

其中包含了可以加入Memory+Knowledge+Tools

官方地址:phidatahq/phidata: Build AI Assistants with memory, knowledge and tools. (github.com)

4.openwebui(大模型开发所要使用的框架)

实际体验中感觉openwebui比phidata好用。

官方地址:open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)

安装nodejs

运行将为 Node.js 20 包配置 APT 存储库的脚本。
sudo apt update && sudo apt install -y nodejs

5.opencompass(对大模型进行评测的框架)

官方地址:open-compass/opencompass: OpenCompass is an LLM evaluation platform, supporting a wide range of models (Llama3, Mistral, InternLM2,GPT-4,LLaMa2, Qwen,GLM, Claude, etc) over 100+ datasets. (github.com)

看官方文档

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

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

相关文章

在Linux/Ubuntu/Debian中使用SSH连接远程服务器VPS

在Linux/Ubuntu/Debian中使用SSH连接远程服务器VPS 在远程管理服务器时&#xff0c;SSH&#xff08;Secure Shell&#xff09;协议是我们常用的工具之一。它提供了一种加密的方式来访问和管理远程主机。默认情况下&#xff0c;SSH使用22端口&#xff0c;但有时我们需要通过指定…

Redisson-DelayedQueue-原理

归档 GitHub: Redisson-DelayedQueue-原理 Unit-Test RedissonDelayedQueueTest 常规测试 Test public void testCommon() throws InterruptedException {RBlockingQueue<String> destinationQueue redisson.getBlockingQueue("delay_queue"); // 目标队…

YOLOv10训练自己的数据集(图像目标检测)

目录 1、下载代码 2、环境配置 3、准备数据集 4、yolov10训练 可能会出现报错&#xff1a; 1、下载代码 源码地址&#xff1a;https://github.com/THU-MIG/yolov10 2、环境配置 打开源代码&#xff0c;在Terminal中&#xff0c;使用conda 创建虚拟环境配置 命令如下&a…

Python基础教程(二十五):内置函数整理

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

Java基础入门day66

day66 内网穿透 NatApp NATAPP-内网穿透 基于ngrok的国内高速内网映射工具 开启您的内网穿透之旅 下载安装后&#xff0c;注册一个账号&#xff0c;可以免费使用内网穿透&#xff0c;不稳定&#xff0c;也可以自行选择收费版本 在下载好app的同级目录&#xff0c;放置一个con…

elementUI的table使用展开功能( type=“expand“ ),展开时合起上一次展开的内容,始终保持展开内容为一个,并且再次点击合起自身

直接上代码了没什么可讲的,主要是用到 row-key"id" :expand-row-keys"expands row-click"handleRowClick" <template><div class"ele-body"><el-card shadow"never"><!-- 数据表格 --><ele-pro-t…

将AI带入企业,红帽选择了开源

伴随着生成式AI与大模型技术的飞速发展&#xff0c;业界人士对于生成式AI应用在企业的落地也愈发关注。 近日在2024红帽媒体Open讲上&#xff0c;红帽全球副总裁兼大中华区总裁曹衡康深入剖析了AI在混合云中的应用及其带来的资源利用最大化优势&#xff0c;并同与会媒体共同探讨…

Redis-数据类型-List

文章目录 1、通过客户端连接redis2、切换到第二个数据库 db13、查看当前库所有key4、从左边插入一个或多个值5、按照索引下标获得元素(从左到右)6、针对key指定的list&#xff0c;从右边放入元素7、返回list集合的长度8、从左边弹出一个元素。弹出返回删除9、从右边弹出一个元素…

《米小圈动画汉字》汉字教育动画化:传统与创新的完美融合!

汉字&#xff0c;作为中华文化的瑰宝&#xff0c;承载着千百年来中华民族的智慧和思想。每一个汉字不仅仅是一个符号&#xff0c;更是一段历史的见证&#xff0c;一种文化的传承。在当今全球化的背景下&#xff0c;汉字教育面临着新的挑战与机遇。在这种背景下&#xff0c;如何…

关于如何得到Mindspore lite所需要的.ms模型

关于如何得到Mindspore lite所需要的.ms模型 一、.ckpt模型文件转.mindir模型二、.mindir模型转.ms模型三、其它3.1 代码3.2 数据 四、参考文档 一、.ckpt模型文件转.mindir模型 由于要得到ms模型&#xff0c;mindspore的所有模型里面&#xff0c;是必须要用mindir模型才可以进…

STM32C8T6与TB6612

好久没写博客了&#xff0c;今天水一篇 接线

【Unity设计模式】状态编程模式

前言 最近在学习Unity游戏设计模式&#xff0c;看到两本比较适合入门的书&#xff0c;一本是unity官方的 《Level up your programming with game programming patterns》 ,另一本是 《游戏编程模式》 这两本书介绍了大部分会使用到的设计模式&#xff0c;因此很值得学习 本…

pta 实验九 类库和标准库 C++

编程题 7-1 对称排序 分数 14 全屏浏览 作者 李廷元 单位 中国民用航空飞行学院 你供职于由一群丑星作为台柱子的信天翁马戏团。你刚完成了一个程序编写&#xff0c;它按明星们姓名字符串的长度非降序&#xff08;即当前姓名的长度至少与前一个姓名长度一样&#xff09;顺…

豆瓣电影top250网页爬虫

设计思路 选择技术栈:确定使用Python及其相关库&#xff0c;如requests用于发送网络请求&#xff0c;获取网址&#xff0c;用re(正则表达式)或BeautifulSoup用于页面内容解析。设计流程:规划爬虫的基本流程&#xff0c;包括发起请求、接受响应、解析内容、存储数据等环节。模块…

performance_schema.events_statements_current

performance_schema.events_statements_current 是 MySQL 中 performance_schema 库中的一个表&#xff0c;它用于显示当前正在执行的 SQL 语句的性能事件。这个表提供了关于当前正在运行的 SQL 语句的实时信息&#xff0c;允许数据库管理员和开发者监控和分析 SQL 语句的性能。…

小程序中用font-spider压缩字体后,字体没效果(解决办法)

因为项目中需要引入外部字体&#xff0c;有两种方案&#xff0c; 第一是把字体下载到本地&#xff0c; 第二种是cdn请求服务器放字体的地址 但是小程序是有大小限制的&#xff0c;所以必须要压缩字体大小&#xff0c;这时候有些人就说了&#xff0c;那把字体放在服务器上&a…

【人工智能】—基于K-Means算法商场顾客聚类实战教程

在这篇博文之前一直是给大家做机器学习有监督学习教程&#xff0c;今天来一篇无监督学习教程。 K-Means算法是一种基于中心的聚类方法&#xff0c;它试图找到数据点的K个簇&#xff0c;使得簇内的数据点尽可能相似&#xff0c;而簇间的数据点尽可能不同。下面是K-Means算法的详…

Spring Boot集成tablesaw插件快速入门

1 什么是tablesaw&#xff1f; Tablesaw是一款Java的数据可视化库&#xff0c;主要包括两部分&#xff1a; 数据解析库&#xff0c;主要用于加载数据&#xff0c;对数据进行操作(转化&#xff0c;过滤&#xff0c;汇总等)&#xff0c;类比Python中的Pandas库&#xff1b; 数据…

未定义行为总结

解引用空指针&#xff0c;例如解引用空的this指针、解引用空的函数指针 下面的代码尽管能正常运行&#xff0c;但c->fun()等价于(*c).fun()&#xff0c;也就是对空指针解引用了 #include <iostream> struct C {void fun(){std::cout<<"fun"<<st…

苹果cms10影视网整站源码下载/苹果cms模板MXone Pro自适应影视电影网站模板

下载地址&#xff1a;苹果cms10影视网整站源码下载/苹果cms模板MXone Pro自适应影视电影网站模板 模板带有夜间模式、白天晚上自动切换&#xff0c;有观影记录、后台设置页。全新UI全新框架&#xff0c;加载响应速度更快&#xff0c;seo更好&#xff0c;去除多余页面优化代码。…