Ubuntu AI开发环境全栈指南:30分钟搞定所有工具安装
一、基础环境准备
1.1 系统准备
Ubuntu 镜像下载建议使用清华大学开源软件镜像站
| 版本类型 | 推荐版本 | 下载链接 |
|---|---|---|
| 稳定版 | Ubuntu 22.04 | 清华镜像源 |
| 尝鲜版 | Ubuntu 24.04 | 清华镜像源 |
1.2 核心组件安装
1.2.1 Git
1 | |
1.2.2 Miniconda
使用 miniconda 来管理虚拟环境
1 | |
1.3 GPU环境配置
1.3.1 CUDA安装(多版本选择)
CUDA 版本选择,建议使用 11.8 、12.4【稳定】、12.6【尝鲜】版本
1.3.1.1 Ubuntu22.04 安装 12.4 版本【稳定】
1 | |
1.3.1.2 Ubuntu 24.04 安装 12.6 版本【尝鲜】
1 | |
1.3.1.3 安装驱动以及设置环境变量
1 | |
1.3.1.4 环境验证
1 | |
1.3.2 CUDNN安装
CUDNN 下载需要匹配 cuda 版本以及 ubuntu 系统版本
1 | |
1.4 创建基本虚拟环境
1 | |
1.5 创建基础目录
1 | |
二、大模型部署框架
2.1 Ollama
2.1.1 🔗 相关资源
2.1.2 📝 核心特性
模型格式支持
▸ 仅支持 GGUF 格式模型(量化后模型)
▸ 模型来源:ModelScope|HuggingFace
▸ 量化特点:模型体积↓、推理速度↑、硬件要求↓、效果精度↓平台支持
▸ macOS/Windows:提供图形客户端
▸ 主要面向:个人用户场景
2.1.3 🛠️ 安装与使用
1 | |
2.2 vLLM
2.2.1 🔗 相关资源
2.2.2 📝 核心特性
- 是一个 Python 库,它包含预编译的 C++ 和 CUDA (12.1) 二进制文件
- 通过 PagedAttention 等技术优化 GPU 内存使用,显著提升推理速度
- 推理性能高,适合实时和大规模推理任务
- 支持分布式推理,适合生产环境
- 兼容 Hugging Face 的 Transformer 模型
2.2.3 🛠️ 安装与使用
要求:
- 操作系统:Linux
- Python: 3.8 – 3.12
- GPU: 计算能力 7.0 或更高(例如,V100、T4、RTX20xx、A100、L4、H100 等)
安装使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14conda create -n vllm python=3.10 -y && conda activate vllm
pip install vllm
# 运行模型(开启的端口默认是8000)
vllm serve /path/to/model
# 显存不足建议使用以下命令启动(测试机显卡为8G 3070ti)
# 先强制释放残留显存
python -c "import torch; torch.cuda.empty_cache()"
# 在进行启动(以Qwen/Qwen2.5-0.5B-Instruct为例)
vllm serve ~/workspace/ai/models/modelscope/Qwen___Qwen1.5-0.5B-Chat \
--gpu-memory-utilization 0.95 \
--max-model-len 1024 \
--block-size 16 \
--max-num-seqs 4 \
--tensor-parallel-size 1
2.3 LMDeploy
2.3.1 🔗 相关资源
2.3.2 📝 核心特性
- 是一个高效且友好的 LLMs 模型部署工具箱,功能涵盖了量化、推理和服务
- 功能全面,支持从训练到部署的全流程
- 提供模型压缩和加速技术,适合资源受限的场景
2.3.3 🛠️ 安装与使用
要求:
- 操作系统:windows、linux
- Python: 3.8 – 3.12
安装使用
1
2
3
4conda create -n lmdeploy python=3.12 -y && conda activate lmdeploy
pip install lmdeploy partial_json_parser
# 运行模型(开启的端口默认是23333)
lmdeploy serve api_server /path/to/model
三、大模型微调框架
3.1 LLaMA-Factory
3.1.1 🔗 相关资源
3.1.2 📝 核心特性
- 快速实验
- 灵活扩展
- 可视化交互
- 多框架兼容
3.1.3 🛠️ 安装与使用
1 | |
3.2 Xtuner
3.2.1 🔗 相关资源
3.2.2 📝 核心特性
- 企业级部署
- 显存优化
- 中文与多模态
- 开箱即用
3.2.3 🛠️ 安装与使用
1 | |
四、大模型前端框架
4.1 OpenWebui
4.1.1 🔗 相关资源
4.1.2 📝 核心特性
- 开箱即用的可视化交互
- 零代码对话界面:浏览器直接访问 localhost:8080 即可使用,无需前端开发
- 多模型管理:同时连接多个本地/远程模型(Ollama、OpenAI API、HuggingFace等)
- 对话历史存档:自动保存会话记录,支持标记和检索
- 企业级功能集成
- 用户权限系统:RBAC 权限控制(管理员/用户角色)
- API 网关:内置兼容 OpenAI 格式的 API 端点(/v1)
- 数据隔离:不同用户的模型和数据完全隔离
- 技术栈优势
- 轻量部署:单容器即可运行(Docker/Podman)
- 跨平台支持:完美适配 Ollama 生态(macOS/Linux/Windows)
- 响应式设计:适配桌面/移动端浏览器
- 扩展能力
- 插件系统:支持 RAG 增强(文档上传/解析)
- Webhook 集成:与 Slack/Discord 等平台联动
4.1.3 🛠️ 安装与使用
1 | |
4.2 Streamlit
4.2.1 🔗 相关资源
4.2.2 📝 核心特性
- 极简开发体验
- 零前端代码:纯 Python 脚本即可构建交互式 Web 应用
- 实时热重载:保存代码后自动刷新页面(Ctrl+S 即时生效)
- API 设计直观:st.slider()、st.dataframe() 等声明式组件
- 内置高效组件
- 无缝AI集成
- 部署友好
- 一键分享:streamlit share 快速云端部署
- 容器化支持:原生兼容 Docker/Kubernetes
- 自适应布局:自动适配 PC/移动端浏览器
- 性能优化
- 缓存机制:@st.cache_data 避免重复计算
- 异步支持:st.rerun() 实现动态更新
- WebSocket 通信:低延迟交互(默认端口 8501)
4.2.3 🛠️ 安装与使用
1 | |
五、大模型评估框架
5.1 OpenCompass
5.1.1 🔗 相关资源
5.1.2 📝 核心特性
- 全维度评测体系
- 多模态评估:覆盖文本生成、数学推理、代码能力、知识问答等 50+ 评测维度
- 权威基准:支持 MMLU、C-Eval、GSM8K 等 20+ 国际标准测试集
- 中文专项优化:针对中文场景定制 CMMLU、TMMLU 等本土化评测集
- 高效评测引擎
- 分布式评测:单任务自动拆分到多卡/多节点,速度提升 5-10×
- 零样本/小样本:支持无训练直接评估模型原始能力
- 量化评测:兼容 4/8-bit 量化模型测试(LLM/VLM 均适用)
- 企业级功能
- 自动化报告:一键生成 PDF/HTML 格式的详细能力雷达图
- 模型对比:支持多模型平行测试,可视化得分对比(如图表)
- 安全评估:内置 Jailbreak、隐私泄露等风险检测模块
- 易用性设计
5.1.3 🛠️ 安装与使用
5.1.3.1 创建虚拟环境
1 | |
5.1.3.2 下载数据集
1 | |
5.1.3.3 配置评估任务
方式一:命令行(自定义 HF 模型),OpenCompass 一次只评估一个模型,而其他方式可以一次评估多个模型
1
2
3
4
5python run.py \
--datasets demo_gsm8k_chat_gen demo_math_chat_gen \ # 测试数据集
--hf-type chat \ # 模型类型(chat/base)
--hf-path internlm/internlm2-chat-1_8b \ # 自定义模型路径
--debug方式二:命令行
1
2
3
4
5python run.py \
--models hf_internlm2_chat_1_8b hf_qwen2_1_5b_instruct \ # python tools/list_configs.py命令列出的model名,需要修改对应model的配置文件
--datasets demo_gsm8k_chat_gen demo_math_chat_gen \ # 测试数据集
--hf-type chat \ # 模型类型(chat/base)
--debug方式三:配置文件
a.添加配置文件,假如路径在配置文件路径为 configs/eval_base_demo.py1
2
3
4
5
6
7
8
9
10from mmengine.config import read_base
with read_base():
from .datasets.demo.demo_gsm8k_base_gen import gsm8k_datasets
from .datasets.demo.demo_math_base_gen import math_datasets
from .models.qwen.hf_qwen2_1_5b import models as hf_qwen2_1_5b_models
from .models.hf_internlm.hf_internlm2_1_8b import models as hf_internlm2_1_8b_models
datasets = gsm8k_datasets + math_datasets
models = hf_qwen2_1_5b_models + hf_internlm2_1_8b_modelsb.运行任务
1
python run.py configs/eval_base_demo.py --debug
六、RAG 技术相关框架 & 大模型应用框架
6.1 LlamaIndex
6.1.1 🔗 相关资源
6.1.2 📝 核心特性
- Data Connectors(数据连接器)
支持从多种数据源加载和结构化数据:- 文档:PDF、Word、Markdown
- 数据库:SQL、PostgreSQL、MongoDB
- API/网页:REST API、爬虫抓取
- 云存储:S3、Google Drive
- Data Indexes(数据索引)
将原始数据转换为高效检索结构:- 向量索引:通过嵌入模型(如 OpenAI、HuggingFace)生成向量,支持相似性搜索。
- 关键词索引:传统全文检索,适合精确匹配。
- 混合索引:结合向量+关键词,平衡精度与速度。
- Engines(查询引擎)
- 自然语言交互:用户输入问题,引擎从索引中检索相关片段,生成精准回答。
- 避免上下文爆炸:仅向 LLM 输入相关数据片段,节省 token 并提升响应速度。
- Application Integrations(应用集成)
- LLM 兼容:OpenAI、Anthropic、本地模型(Llama 2)等。
- 框架扩展:与 LangChain、Flask、FastAPI 无缝集成。
- 部署工具:支持 Gradio、Streamlit 快速构建 Web 界面。
- Data Agents(数据代理)
- 动态数据更新:自动监控数据源变化(如数据库更新),实时同步索引。
- 多步骤推理:通过 Agent 调用工具(如计算、搜索)完成复杂任务。
6.1.3 🛠️ 安装与使用
1 | |
详情请查阅 RAG技术完全指南(三):LlamaIndex架构解析与私有知识库搭建
6.2 Dify
6.2.1 🔗 相关资源
6.2.2 📝 核心特性
- 可视化 Prompt 编排
- 低代码开发:通过拖拽界面设计 AI 工作流,无需编程基础
- 多模型支持:兼容 OpenAI、Anthropic、本地模型(如 Llama3)等
- 实时调试:即时测试 Prompt 效果,支持变量插值
- 强大的 RAG 引擎
- 知识库管理:支持上传 PDF/Word/TXT 等文档,自动分块和向量化
- 精准检索:结合语义搜索 + 关键词过滤,提升回答准确性
- 引用溯源:生成答案时自动标注参考来源
- 灵活的 Agent 框架
- 多工具集成:调用搜索引擎、数据库、API 等扩展能力
- 自动化流程:支持多步骤推理(如数据分析→报告生成)
- 条件分支:根据用户输入动态调整响应逻辑
- 企业级功能
- 多租户隔离:团队协作时数据权限分离
- 审计日志:记录所有操作和模型调用
- API 网关:提供标准化接口,无缝对接现有系统
- 一键部署
- Docker 集成:5 分钟快速部署生产环境
- 私有化支持:完全本地化运行,保障数据安全
6.2.3 🛠️ 安装与使用
- 注意事项
在运行安装命令之前,请确保您的机器上安装了 Docker 和 Docker Compose,安装 Docker 以及 Docker Compose 的具体步骤可以参考 Ubuntu 24.04 完整Docker安装指南:从零配置到实战命令大全。 - 安装
1 | |
浏览器访问 http://localhost/install 即可进入 Dify 控制台并开始初始化安装操作
6.3 RAGFlow
6.3.1 🔗 相关资源
6.3.2 📝 核心特性
- 🍭 “Quality in, quality out”
- 基于深度文档理解,能够从各类复杂格式的非结构化数据中提取真知灼见。
- 真正在无限上下文(token)的场景下快速完成大海捞针测试。
- 🍱 基于模板的文本切片
- 不仅仅是智能,更重要的是可控可解释。
- 多种文本模板可供选择。
- 🌱 有理有据、最大程度降低幻觉(hallucination)
- 文本切片过程可视化,支持手动调整。
- 有理有据:答案提供关键引用的快照并支持追根溯源。
- 🍔 兼容各类异构数据源
- 支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据、网页等。
- 🛀 全程无忧、自动化的 RAG 工作流
- 全面优化的 RAG 工作流可以支持从个人应用乃至超大型企业的各类生态系统。
- 大语言模型 LLM 以及向量模型均支持配置。
- 基于多路召回、融合重排序。
- 提供易用的 API,可以轻松集成到各类企业系统。
6.3.3 🛠️ 安装与使用
参考资料:README_zh.md
注意事项
1
2
3
4
5
6
7
8# 查看vm.max_map_count值,要求其不能小于 262144
sysctl vm.max_map_count
# 小于的话,进行设置
sudo sysctl -w vm.max_map_count=262144
# 永久生效,修改 /etc/sysctl.conf
vim /etc/sysctl.conf
# 修改文件中以下内容
vm.max_map_count=262144安装
1
2
3
4
5
6
7
8cd ~/workspace/ai/tools && git clone --depth 1 https://github.com/infiniflow/ragflow.git && cd ragflow/docker
# 使用CPU
# docker compose -f docker-compose.yml up -d
# 使用GPU
docker compose -f docker-compose-gpu.yml up -d
# 确认服务器状态
docker logs -f ragflow-server
Ubuntu AI开发环境全栈指南:30分钟搞定所有工具安装
https://blog.echo-silence.top/posts/9fa6e3db.html