大模型应用研发基础环境配置(Miniconda、Python、Jupyter Lab、Ollama等)

老牛同学之前使用的MacBook Pro电脑配置有点旧(2015 年生产),跑大模型感觉有点吃力,操作起来有点卡顿,因此不得已捡起了尘封了快两年的MateBook Pro电脑(老牛同学其实不太喜欢用 Windows 电脑做研发工作)。此文注意是记录配置新电脑的内容,一来给老牛同学留个备忘,同时也特别希望能给其他朋友一些帮助。

配置一台方便用于大模型应用研发的新电脑,最基础的需要包括以下配置内容:

  1. Miniconda包管理工具的安装和配置(兼容pip
  2. Python虚拟环境配置(指定 Python 版本且无需单独下载 Python 安装)
  3. Jupyter Lab Python 研发 WebIDE 配置
  4. Ollama本地大模型管理软件的配置和应用
  5. Ollama大模型 Web 界面对话客户端配置和使用

Miniconda 安装和配置

Minicondapip都是 Python 生态中的两个不同的包管理工具,它们都用于安装和管理 Python 包。但是在大模型相关的应用研发中,老牛同学推荐使用Miniconda的原因:

  1. 包范围: Miniconda 通过 Conda 可以管理 Python 以及非 Python 包,而 pip 只管理 Python 包。
  2. 环境管理: Miniconda 内置了环境管理功能,而 pip 需要与其他工具(如 virtualenv 或 venv)搭配使用以创建隔离的环境。
  3. 包源: pip 通常从 PyPI 下载包,而 Conda 从 Anaconda Repository 或其他自定义设置的通道下载。
  4. 包格式: Conda 使用自己的包格式(.conda 或.tar.bz2),而 pip 使用 wheel 或源码形式。
  5. 依赖解决: Conda 在安装包时会考虑到系统级别的依赖和包之间的依赖关系,而 pip 主要解决 Python 级别的依赖。

在实际使用中,由于Minionda可以很好地处理复杂的依赖关系和环境管理,它通常是首选工具。但是,如果只需要安装纯 Python 包,使用pip可能会更加简单直接。

第一步: 下载地址:https://docs.anaconda.com/miniconda/

根据操作系统,选择安装包,支持包括:Windows、MacOS 和 Linux 系统

第二步: 安装和配置:安装过程和普通软件没有两样,安装完成之后,我们配置 Python 环境:

老牛同学的安装目录是:D:\Software\miniconda3

因后面需要执行conda命令,因此提前把以下目录添加到系统环境变量中(变量名:Path):

  1. 安装目录:D:\Software\miniconda3
  2. 脚本目录:D:\Software\miniconda3\Scripts
  3. 依赖库目录:D:\Software\miniconda3\Library\bin

第三步: 设置 Conda 虚拟环境目录(可选):默认情况下,虚拟环境内容在C:\盘,老牛同学 C 盘比较较小,就把它设置到D:\

打开 Termianl 终端,查看Conda基本信息:conda info

> conda info

     active environment : None
       user config file : C:\Users\obull\.condarc
 populated config files :
          conda version : 24.4.0
    conda-build version : not installed
         python version : 3.12.3.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=x86_64_v3
                          __conda=24.4.0=0
                          __win=0=0
       base environment : D:\Software\miniconda3  (writable)
      conda av data dir : D:\Software\miniconda3\etc\conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : D:\Software\miniconda3\pkgs
                          C:\Users\obull\.conda\pkgs
                          C:\Users\obull\AppData\Local\conda\conda\pkgs
       envs directories : D:\Software\miniconda3\envs
                          C:\Users\obull\.conda\envs
                          C:\Users\obull\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/24.4.0 requests/2.31.0 CPython/3.12.3 Windows/11 Windows/10.0.22621 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8 aau/0.4.4 c/. s/. e/.
          administrator : False
             netrc file : None
           offline mode : False

可以看到几个重要信息:

  1. Conda配置文件:C:\Users\obull\.condarc
  2. Conda包下载渠道:channel URLs列表几个地址
  3. Conda包缓存目录:D:\Software\miniconda3\pkgs
  4. Conda虚拟环境目录:D:\Software\miniconda3\envs

以上配置都是默认配置,其中包环境和虚拟环境目录比较占磁盘空间,可以设置为其他目录,同时下载渠道可以使用国内镜像以提升包的下载速度:

  1. 打开配置文件:C:\Users\obull\.condarc
  2. .condarc配置文件不存在,可以执行命令自动生成一个默认文件:conda config --set show_channel_urls yes
  3. 打开.condarc配置,设置虚拟环境目录和:
envs_dirs:
  - D:/Software/miniconda3/pkgs
pkgs_dirs:
  - D:/Software/miniconda3/envs
show_channel_urls: true
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

保存配置文件之后,我们可以看到Conda信息的变化:conda info

Conda命令还有一些其他用法,比较常用的命令如下列表:

  1. 查看Conda版本:conda --version
  2. 更新Conda版本:conda update conda
  3. 安装 Python 包(如安装numpy包):conda install numpy 通过首选渠道下载包文件
  4. 指定渠道安装 Python 包:conda install conda-forge::numpy 通过conda-forge渠道下载包文件
  5. 安装 Python 包到指定的虚拟环境:conda install --name PY2.7 matplotlib 安装matplotlib包到指定的PY2.7虚拟环境

Python 虚拟环境配置

特别注意: 有了Miniconda包管理工具,我们无需单独下载和安装 Python,可直接通过 Conda 安装对应的版本即可。

老牛同学创建一个名称为PY3.12的虚拟环境,使用 Python 版本为3.12.3conda create --name PY3.12 python=3.12.3

新建虚拟环境需要初始化基础包(包括 Python SDK 等),基础包下载完成之后,可以通过命令查看虚拟环境列表:conda info --envs

> conda info --envs
base                     D:\Software\miniconda3
PY3.12                   D:\Software\miniconda3\pkgs\PY3.12

其中,baseConda默认的虚拟环境,我们刚创建的PY3.12虚拟环境已经存在了!

Python 虚拟环境使用

默认虚拟环境是base,我们可以激活和取消虚拟环境。若是首次使用,则需要执行conda init命令进行初始化:

  1. 激活虚拟环境:conda activate PY3.12
  2. 取消虚拟环境:conda deactivate(无需指定环境名)
C:\Users\obull>
C:\Users\obull>conda activate PY3.12

(D:\Software\miniconda3\pkgs\PY3.12) C:\Users\obull>
(D:\Software\miniconda3\pkgs\PY3.12) C:\Users\obull>conda deactivate

C:\Users\obull>

Jupyter Lab 安装和配置(可选)

在 Python 研发 IDE 选择上,老牛同学推荐推荐使用Jupyter Lab,当然如果有PyCharm等 Python 开发工具,也是一个不错的选择:

  1. Jupyter Lab 主要是为了数据科学、科学计算和教育而设计的。它支持交互式计算和数据可视化,非常适合探索性数据分析、机器学习、数值模拟等。
  2. Jupyter Lab 提供了一个基于 Web 的用户界面,支持在浏览器中直接编写代码、运行分析,并查看结果。
  3. Jupyter Lab 强调的是交互式编程和数据可视化。它允许用户逐段运行代码并即时查看输出,支持 Markdown 和富媒体,非常适合制作和展示研究结果。
  4. Jupyter Lab 作为一个轻量级的 Web 应用,其启动速度快,但在处理大型数据集时,性能可能会受到浏览器和硬件资源的限制。
  5. Jupyter Lab 特别适合做数据分析、数据科学教育、探索性研究和创建可分享的交互式报告。

Jupyter Lab IDE 可以通过Conda安装,其安装命令如下:

# 激活Python虚拟环境
conda activate PY3.12

# 安装Jupyter Lab(指定下载源)
conda install -c conda-forge jupyterlab
conda install -c conda-forge ipywidgets

Jupyter Lab IDE 成功安装之后,可以通过以下命令打开:

# 激活Python虚拟环境
conda activate PY3.12

# 切换到Jupyter目录(我们以后代码存放的目录)
cd ~/JupyterLab

# 启动Jupyter WebIDE
jupyter-lab .

浏览器自动打开了 Web IDE,或者自己打开:http://localhost:8888/lab

Jupyter Lab界面

Ollama 安装和使用

使用Ollama可以非常方便的管理本地大模型,目前主流大模型都支持Ollama,包括PhiQwenLlama等,因此使用Ollama可以提升我们管理和使用大模型效率:

  1. 下载并安装Ollama:Ollama 官网(支持:Windows、Mac 和 Linux 系统)
  2. 设置模型数据文件路径(可选):默认情况下,模型文件存放在C:盘用户目录。我们可以通过系统环境变量设置成其他目录。系统环境变量名为:OLLAMA_MODELS系统环境变量的值为新的目录(如老牛同学设置为:D:\ModelSpace\Ollama
  3. 下载并启动大模型,老牛同学以阿里的Qwen2-7B为例:ollama run qwen:7B

模型文件下载完成之后,自动就有了对话客户端:

D:\>conda activate PY3.12

(D:\Software\miniconda3\pkgs\PY3.12) D:\>ollama list
NAME    ID              SIZE    MODIFIED
qwen:7b 2091ee8c8d8f    4.5 GB  3 hours ago

(D:\Software\miniconda3\pkgs\PY3.12) D:\>ollama run qwen:7b

Ollama对话客户端

Ollama Web 界面对话客户端

Ollama自带控制台聊天对话界面体验总归是不太好,接下来部署 Web 可视化聊天界面:

  1. 下载并安装 Node.js 工具:https://nodejs.org/zh-cn
  2. 下载ollama-webui工程代码:git clone https://github.com/ollama-webui/ollama-webui-lite ollama-webui
  3. 切换ollama-webui代码的目录:cd ollama-webui
  4. 设置 Node.js 工具包镜像源(下载提速):npm config set registry http://mirrors.cloud.tencent.com/npm/
  5. 安装 Node.js 依赖的工具包:npm install
  6. 最后,启动 Web 可视化界面:npm run dev
    Ollam WebUI对话

如果看到以上输出,代表 Web 可视化界面已经成功了!

浏览器打开 Web 可视化界面:http://localhost:3000/

Ollama其他的命令工具:

# 查看当前Ollama的模型
ollama list

# 增量更新当前部署的模型
ollama pull qwen:7b

# 删除一个模型文件
ollama rm qwen:7b

# 复制一个模型
ollama cp qwen:7b Qwen-7B

OllamaAPI 结果返回

curl http://localhost:11434/api/generate -d '{
  "model": "qwen:7b",
  "prompt":"为什么天空是蓝色的?"
}'

Ollama API聊天对话

curl http://localhost:11434/api/chat -d '{
  "model": "qwen:7b",
  "messages": [
    { "role": "user", "content": "为什么天空是蓝色的?" }
  ]
}'

关注本公众号,我们共同学习进步 👇🏻👇🏻👇🏻

微信公众号:老牛同学

Phi-3 开源大模型

Phi-3 模型手机部署教程(微软发布的可与 GPT-3.5 媲美的小模型)

Qwen2-7B 开源大模型

Qwen2 阿里最强开源大模型(Qwen2-7B)本地部署、API 调用和 WebUI 对话机器人

Llama-3-8B 开源大模型

玩转 AI,笔记本电脑安装属于自己的 Llama 3 8B 大模型和对话客户端

一文彻底整明白,基于 Ollama 工具的 LLM 大语言模型 Web 可视化对话机器人部署指南

基于 Llama 3 搭建中文版(Llama3-Chinese-Chat)大模型对话聊天机器人

GLM-4-9B 开源大模型

本地部署 GLM-4-9B 清华智谱开源大模型方法和对话效果体验

ChatTTS 文本转语音模型

ChatTTS 开源文本转语音模型本地部署、API 使用和搭建 WebUI 界面

Stable Diffusion 3 文生图模型

Stable Diffusion 3 文生图“开源英雄”大模型本地部署和使用教程,轻松实现 AI 绘图自由

大模型应用案例

借助 AI 大模型,三分钟原创一部儿童故事短视频(附完整操作步骤)

高效编写大模型 Prompt 提示词,解锁 AI 无限创意潜能

Python 小游戏

AI 已来,我与 AI 一起用 Python 编写了一个消消乐小游戏

Python 游戏编程:一步步用 Python 打造经典贪吃蛇小游戏


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解码数智升级良方:中国一拖、中原传媒、神火股份等企业数字化实践分析

大模型、AI等技术的成熟以及政策法规的细化,数据资源的权属论证、合规确权、资产论证等环节逐渐走向实用性、价值化。 而伴随着“业财税数融”综合性数字化成为企业数字化转型的主流选择,财务部门的纽带属性被放大,财务数据的融合能力成为企业…

ABC234G Divide a Sequence 题解

题目来源 ABC234G 洛谷 Description 给定长度为 n n n 的序列 { a n } \{a_n\} {an​}。定义一种将 { a n } \{a_n\} {an​} 划分为若干段的方案的价值为每段的最大值减去最小值的差的乘积。求所有划分方案的价值的总和并对 998244353 998244353 998244353 取模。 1 ≤…

Vue3 使用 Vue Router 时,params 传参失效

前言: 在写项目的时候,使用了 vue-router 的 params 进行传参,但是在详情页面中一直获取不到参数。原因:Vue Router 在2022-8-22的那次更新后,使用这种方式在新页面上无法获取! 正文: 在列表页进…

从零开始做题:老照片中的密码

老照片中的密码 1.题目 1.1 给出图片如下 1.2 给出如下提示 这张老照片中的人使用的是莫尔斯电报机,莫尔斯电报机分为莫尔斯人工电报机和莫尔斯自动电报机(简称莫尔斯快机)。莫尔斯人工电报机是一种最简单的电报机,由三个部分组…

【笔记】从零开始做一个精灵龙女-拆uv阶段

目录 先回顾一下拆uv的基础流程吧 肩部盔甲分UV示例 手环UV部分 腰带UV部分 其它也差不多,需要删掉一半的就先提前删掉一半,然后把不需要的被遮挡的面也删掉 龙角UV 胸甲UV 侧边碎发UV 马尾UV 脸部/耳朵UV 特殊情况:如果要删一半再…

kafka的命令行操作

kafka-topics.bat 该命令行和主题相关 kafka启动后,默认端口为9092,可修改 找到kafka_2.13-3.6.2\bin\windows目录下的kafka-topics.bat,用cmd执行 按下会有提示,REQURIED代表为必输项 创建topic 创建一个名为test的topic队列 kafka-t…

绘制图形

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在前3节的实例中,我们一直绘制的都是直线,实际上,海龟绘图还可以绘制其他形状的图形,如圆形、多边形等…

FineReport聚合报表与操作

一、报表类型 模板设计是 FineReport 学习过程中的主要难题所在,FineReport 模板设计主要包括普通报表、聚合报表、决策报表三种设计类型。 报表类型简介- FineReport帮助文档 - 全面的报表使用教程和学习资料 二、聚合报表 2-1 介绍 聚合报表指一个报表中包含多个…

STM32的SPI通信

1 SPI协议简介 SPI(Serial Peripheral Interface)协议是由摩托罗拉公司提出的通信协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,使用于对通信速率要求较高的场合。 …

扩散模型 GLIDE:35 亿参数的情况下优于 120 亿参数的 DALL-E 模型

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

LeetCode 算法:二叉树的层序遍历 c++

原题链接🔗:二叉树的层序遍历 难度:中等⭐️⭐️ 题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:roo…

TensorFlow开源项目

欢迎来到 Papicatch的博客 文章目录 🍉TensorFlow介绍 🍉主要特点和功能 🍈多语言支持 🍈灵活的架构 🍈分布式训练 🍈跨平台部署 🍈强大的工具链 🍈丰富的社区和生态系统 &a…

人工智能与物联网:融合创新驱动未来

引言 人工智能(AI)指的是计算机系统模拟人类智能的能力,包括学习、推理、问题解决、理解自然语言以及感知和响应环境的能力。AI技术涵盖了机器学习、深度学习、神经网络、自然语言处理等领域,广泛应用于图像识别、语音识别、自动驾…

FPGA学习笔记(5)——硬件调试与使用内置的集成逻辑分析仪(ILA)IP核

如果要对信号进行分析,可以使用外置的逻辑分析仪,但成本较高,对初学者来说没有必要,可以使用Xilinx Vivado内自带的逻辑分析仪IP核对信号进行分析,不过需要占用一定的芯片资源。 本节采用上一节配置的LED灯闪烁代码&a…

如何改善老年人的行走姿势以减少小碎步现象?

改善老年人行走姿势的方法 为了改善老年人的行走姿势并减少小碎步现象,可以采取以下几种方法: 平衡训练:通过使用单脚站立架、平衡板等器械,提高身体稳定性和协调性,增强核心稳定性及下肢肌肉力量,从而改善…

数据结构-顺序表的交换排序

顺序表的初始化 const int M 505;typedef struct{int key; //关键元素int others; //其他元素 }info;typedef struct{info r[M1]; int length(); //表长 }SeqList,*PSeqList; 冒泡排序 分析: 顺序表的冒泡排序和数组的冒泡排序的…

STM32定时器入门篇——(基本定时器的使用)

一、基本定时器的功能介绍: STM32F103的基本定时器有:TIM6、TIM7。基本定时器TIM6和TIM7各包含一个16位递增自动装载计数器,最大计数到2^16也就是65536,计数值为0~65535,其拥有的功能有:定时中断、主模式触…

深度学习21-30

1.池化层作用(筛选、过滤、压缩) h和w变为原来的1/2,64是特征图个数保持不变。 每个位置把最大的数字取出来 用滑动窗口把最大的数值拿出来,把44变成22 2.卷积神经网络 (1)conv:卷积进行特征…

Elasticsearch 数据提取 - 最适合这项工作的工具是什么?

作者:来自 Elastic Josh Asres 了解在 Elasticsearch 中为你的搜索用例提取数据的所有不同方式。 对于搜索用例,高效采集和处理来自各种来源的数据的能力至关重要。无论你处理的是 SQL 数据库、CRM 还是任何自定义数据源,选择正确的数据采集…

【Excel】单元格如何设置可选项、固定表头

设置可选项 固定表头:视图---冻结窗口