Python 学习(十六) 下一代 Python 包管理工具:UV

目录

    • 1. UV 介绍
      • 1.1 什么是UV?
      • 1.2 UV的核心优势
      • 1.3 UV和其他工具对比
        • 1)UV vs. pip+virtualenv
        • 2)UV vs. Conda
        • 3)UV vs. Poetry
        • 4)功能对比表
    • 2. UV的安装与常用命令
      • 2.1 安装UV
        • 1)使用官方安装脚本(推荐)
        • 2)使用包管理器
      • 2.2 创建和管理项目
        • 1)创建新项目
      • 2.3 依赖管理命令
      • 2.4 使用工具
        • 1)运行工具(不安装)
        • 2)指定工具版本
        • 3)安装工具
        • 4)升级工具
        • 5)使用插件和额外依赖
    • 3 内部原理
      • 3.1 依赖解析器
      • 3.2 分叉解析
      • 3.3 Python 版本兼容性
      • 3.4 性能优化
    • 4 速查表
      • 4.1 环境管理
      • 4.2 包管理
      • 4.3 项目管理
      • 4.4 工具管理

  • 官方文档:https://docs.astral.sh/uv/
  • 中文文档:https://uv.doczh.com/
  • GitHub地址:https://github.com/astral-sh/uv

1. UV 介绍

UV 是一个由 Astral 公司用 Rust 开发的高性能 Python 包管理工具,旨在提供比传统 pip 更快的包安装和依赖管理体验。

An extremely fast Python package and project manager, written in Rust.

Python 生态系统中的包管理一直是开发者关注的焦点。从最初的 pip 到后来的 Poetry、PDM 等工具,每一次演进都试图解决前代工具的痛点。而今天我们要介绍的 UV,作为由 Ruff 团队(Astral)开发的下一代 Python 包管理工具,正以其惊人的速度和创新的设计理念,重新定义 Python 包管理的标准。

1.1 什么是UV?

UV 是一个极速的 Python 包管理器和解析器,由 Rust 编写,专注于提供卓越的性能和用户体验。其名称 “UV” 源自 “μv”(微伏),暗示着其轻量级和高效的特性。作为 pip 的直接替代品,UV 提供了兼容的命令行接口,同时在速度上实现了数量级的提升。

1.2 UV的核心优势

与传统的 Python 包管理工具相比,UV 具有以下显著优势:

  • 🚀 一体化工具:一个工具替代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等多种工具
  • ⚡️ 极致速度:比 pip 快 10-100 倍
  • 🗂️ 全面项目管理:提供通用锁文件的综合项目管理功能
  • ❇️ 脚本运行:支持带有内联依赖元数据的脚本运行
  • 🐍 Python版本管理:安装和管理不同的 Python 版本
  • 🛠️ 工具安装:运行和安装以 Python 包形式发布的工具
  • 🔩 兼容pip接口:提供熟悉的命令行界面,同时大幅提升性能
  • 🏢 工作区支持:支持 Cargo 风格的工作区,适用于大规模项目
  • 💾 高效磁盘空间利用:通过全局缓存实现依赖去重
  • ⏬ 简易安装:无需 Rust 或 Python 环境,可通过 curl 或 pip 直接安装
  • 🖥️ 多平台支持:支持 macOS、Linux 和 Windows 系统

随着Python项目规模和复杂度的增长,传统工具在性能和用户体验方面的局限性日益凸显。UV 的出现,为开发者提供了一个更快、更可靠的选择,特别适合大型项目和CI/CD环境中的应用。

1.3 UV和其他工具对比

在Python生态系统中,包管理和环境管理工具众多,主要包括pip+virtualenv、Poetry、Conda等。在决定是否采用UV之前,了解它与现有工具的区别和优势非常重要。

1)UV vs. pip+virtualenv

pip和virtualenv是Python包管理和虚拟环境创建的传统工具组合。UV相比它们具有以下优势:

  • 速度:UV的Rust实现使其比pip快10-100倍,特别是在大型项目中
  • 集成环境管理:UV将包管理和环境管理集成在一个工具中,简化了工作流程
  • 内存使用:UV在包安装和依赖解析过程中使用的内存显著减少
  • 错误处理:UV提供更清晰的错误信息和更好的依赖冲突解决方案
  • 可复现性:UV的锁文件方法确保了跨系统环境的一致性,这是基本requirements.txt文件无法保证的
2)UV vs. Conda

Conda是一个完整的包管理解决方案,特别适合科学计算环境。UV与Conda相比:

  • 速度:UV的包安装和依赖解析速度远快于Conda的有时缓慢的性能
  • 资源占用:UV具有更小的资源占用,意味着更少的内存使用和更快的启动时间
  • 集成性:UV与现有Python打包标准和工具无缝集成,更容易与更广泛的Python生态系统协作
  • 非Python包:Conda可以管理非Python包和系统级依赖,而UV专注于Python包
3)UV vs. Poetry

Poetry是另一个现代Python项目管理工具,与UV有许多相似之处:

  • 依赖管理:两者都有效处理包依赖和虚拟环境
  • 项目结构:两者都提供初始化和构建Python项目的工具
  • 锁文件:两者都生成锁文件以确保环境可复现

然而,UV的Rust实现使其在速度和资源使用方面具有显著优势。此外,UV与现有Python包管理工具的兼容性意味着它可以与其他工具(如pip)一起工作,提供了Poetry更固执己见的方法有时缺乏的灵活性。

4)功能对比表
功能特性UVpip+virtualenvCondaPoetry
实现语言RustPythonPythonPython
速度比pip快10-100倍基准线慢于pip快于pip
内存使用非常高效较高中等
环境管理内置需要单独工具内置内置
依赖解析快速、现代解析器基础全面现代解析器
非Python包支持
锁文件否(基本requirements.txt)
项目结构化
包发布是(需要twine)
兼容性与现有pip生态系统兼容标准Python工具自有生态系统更固执己见的方法
错误处理清晰的错误信息基本良好良好
资源占用最小中等中等
科学计算焦点
跨平台一致性有限优秀良好

总的来说,UV结合了现有工具的最佳特性,同时通过其Rust实现提供了显著的性能优势。对于寻求更快、更可靠的Python包管理解决方案的开发者来说,UV是一个极具吸引力的选择,特别是对于大型项目或CI/CD环境。


2. UV的安装与常用命令

2.1 安装UV

UV的安装非常简单,支持多种操作系统和安装方式。以下是几种常见的安装方法:

1)使用官方安装脚本(推荐)
# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
2)使用包管理器
# macOS (Homebrew)
brew install uv

安装完成后,可以通过以下命令验证安装是否成功:

uv --version

安装正确会得到版本号:

uv 0.8.13 (ede75fe62 2025-08-21)

2.2 创建和管理项目

UV提供了一套完整的命令用于创建和管理Python项目:

1)创建新项目
# 创建一个新的Python项目目录
uv init example
# 运行正确会显示:Initialized project `example` at `/路径/example`

有三个默认文件:README.md、main.py、pyproject.toml

查看目录内容:

cd example
tree -a -L 1
.
├── .git
├── .gitignore
├── .python-version
├── README.md
├── main.py
└── pyproject.toml

该 main.py 文件包含一个简单的“Hello world”程序。尝试一下 uv run main.py

初始化一个新的虚拟环境: uv venv ,正确运行后得到虚拟环境信息

Using CPython 3.13.1
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

直接运行 main.py 也可以创建虚拟环境

uv run main.py

激活虚拟环境

source .venv/bin/activate

2.3 依赖管理命令

UV 提供了一系列强大的依赖管理命令,以下是最常用的几个:

1)添加依赖

使用 uv add 命令可以向项目添加依赖。该命令会自动更新 pyproject.toml 文件、锁文件和项目环境:

# 添加单个包
uv add requests# 指定版本约束
uv add 'requests==2.31.0'# 添加 Git 依赖
uv add git+https://github.com/psf/requests# 从 requirements.txt 文件添加所有依赖
uv add -r requirements.txt -c constraints.txt

2)删除依赖

使用 uv remove 命令可以删除项目依赖:

# 删除包
uv remove requests

3)升级依赖

使用 uv lock 命令配合 --upgrade-package 参数可以升级指定包:

# 升级特定包
uv lock --upgrade-package requests

该命令会尝试将指定包更新到最新的兼容版本,同时保持锁文件中其他依赖不变。

4)安装项目依赖

当你有一个包含 pyproject.toml 的项目时,可以使用以下命令安装所有依赖:

# 安装项目依赖
uv pip install -e .# 安装包含开发依赖
uv pip install -e ".[dev]"

5)同步项目环境

使用 uv sync 命令可以确保项目环境与锁文件保持同步:

# 同步项目环境
uv sync

6)运行项目命令

uv run 命令可以在项目环境中运行脚本或命令。在每次运行前,UV 会验证锁文件是否与 pyproject.toml 同步,并确保环境与锁文件一致:

# 运行 Python 脚本
uv run main.py

7)构建项目分发包

uv build 命令可用于构建项目的源码分发包和二进制分发包(wheel):

# 构建项目
uv build# 查看构建结果
ls dist/
# 输出示例:
# Successfully built dist/example-0.1.0.tar.gz
# Successfully built dist/example-0.1.0-py3-none-any.whl

这些命令提供了一个完整的项目依赖管理工作流程,从添加依赖、删除依赖、升级依赖到运行项目和构建分发包。UV 的这些命令设计直观且高效,大大简化了 Python 项目的依赖管理。

2.4 使用工具

UV 提供了强大的工具管理功能,可以替代 pipx 等工具来运行和管理 Python 工具。

1)运行工具(不安装)

uvx 命令可以在不安装工具的情况下直接运行工具:

# 运行带参数的工具
uvx pycowsay "Hello from UV"-------------
< Hello from UV >-------------\   ^__^\  (oo)\_______(__)\       )\/\||----w |||     ||

运行 ruff 代码检查工具

# 运行 ruff 代码检查工具
uvx ruff check .
# All checks passed!uv tool run ruff check .
# All checks passed!

注意:uvxuv tool run 的便捷别名。使用 uvx 运行的工具会在临时的隔离环境中安装和运行。

2)指定工具版本

可以使用 @ 语法指定工具的版本:

# 运行特定版本的工具
uvx ruff@0.1.5 check .# 运行最新版本的工具
uvx ruff@latest check .

也可以使用 --from 选项指定更复杂的版本约束:

# 指定版本范围
uvx --from 'ruff>0.2.0,<0.3.0' ruff check .
3)安装工具

如果经常使用某个工具,可以将其安装到持久环境中,并添加到 PATH 中:

# 安装 ruff 工具
uv tool install ruff# 安装特定版本的工具
uv tool install 'ruff>=0.3.0'# 从 Git 仓库安装工具
uv tool install git+https://github.com/astral-sh/ruff

安装工具后,可以直接在命令行中运行该工具,无需通过 UV 调用:

# 直接运行已安装的工具
ruff --version

注意:与 uv pip install 不同,安装工具不会在当前环境中提供其模块。这种隔离对于减少工具、脚本和项目之间的依赖冲突非常重要。

4)升级工具

使用 uv tool upgrade 命令可以升级已安装的工具:

# 升级特定工具
uv tool upgrade ruff# 升级所有工具
uv tool upgrade --all

工具升级会尊重安装工具时提供的版本约束。例如,如果使用 uv tool install ruff >=0.3,<0.4 安装了 Ruff,然后运行 uv tool upgrade ruff,则将升级 Ruff 到 >=0.3,<0.4 范围内的最新版本。

5)使用插件和额外依赖

可以使用 --with 选项添加额外的依赖或插件:

# 运行带插件的工具
uvx --with mkdocs-material mkdocs serve# 安装带插件的工具
uv tool install mkdocs --with mkdocs-material

使用 --from 选项可以运行带有额外功能的工具:

# 使用额外功能
uvx --from 'mypy[faster-cache,reports]' mypy --xml-report mypy_report

这些命令使 UV 成为一个强大的 Python 工具管理器,可以替代 pipx 和其他类似工具,并且提供了更高的性能和更多的功能。

3 内部原理

UV 的出色性能不仅仅是因为它使用 Rust 语言开发,更在于其内部实现了多种高效的算法和优化策略。下面我们将揭开 UV 的核心技术原理。

3.1 依赖解析器

UV 使用基于 PubGrub 算法的依赖解析器,这是一种增量版本求解器。与传统的 SAT 求解器不同,UV 的解析器具有以下特点:

  1. 增量解析:从一个部分解决方案开始,逐步选择包版本,而不是尝试所有可能的组合。
  2. 智能优先级:包的选择基于优先级系统,URL 包优先级最高,然后是精确版本说明符,再然后是宽松说明符。
  3. 版本偏好:优先使用锁文件和当前环境中的版本,以及最高版本(除非指定其他解析策略)。
  4. 预取优化:在后台预取包的元数据,显著提高性能。
  5. 智能回溯:当检测到冲突时,解析器会进行回溯,并记录不兼容项,以避免重复尝试无效组合。
  6. 有意义的错误报告:当解析失败时,提供清晰的错误跟踪,指出冲突的具体包和版本。

3.2 分叉解析

UV 采用了分叉解析器策略,可以处理不同环境下的矛盾需求:

  1. 条件依赖:当包有多个带有不同标记的要求时(如基于 Python 版本或操作系统的条件),解析会被分割。
  2. 智能合并:具有相同包的分叉会合并,以保持分叉数量较少。
  3. 锁文件稳定性:锁文件中会记录分叉信息,确保解析稳定性。

3.3 Python 版本兼容性

UV 严格处理 Python 版本兼容性,确保所有依赖项都能在指定的 Python 版本上正确安装:

  1. 最低版本传播:如果项目要求 Python >= 3.9,那么声明了 Python >= 3.10 的包版本会被拒绝。
  2. 版本下限尊重:为了简化和向前兼容,只会尊重 requires-python 中的下限。

3.4 性能优化

UV 的高性能来自于多方面的优化:

  1. Rust 实现:使用 Rust 语言开发,具有出色的性能和内存安全性。
  2. 并行下载:并行处理包下载和元数据获取。
  3. 智能缓存:全局缓存机制避免重复下载和安装相同的包。
  4. 最小化磁盘操作:优化的文件操作和磁盘访问模式。
  5. 增量处理:在解析和安装过程中采用增量方法,避免不必要的全量重建。

这些内部原理使 UV 能够在保持兼容性的同时,实现比传统工具快 10-100 倍的性能。对于大型项目和复杂依赖关系,这些优化尤为重要。

4 速查表

下面是 UV 工作流程中的常见操作速查表,帮助您快速查找和使用 UV 的各种命令。

4.1 环境管理

操作UV 命令传统对应命令
创建虚拟环境uv venvpython -m venv .venv
创建指定 Python 版本的虚拟环境uv venv --python=3.10python3.10 -m venv .venv
安装 Python 版本uv python install 3.10使用 pyenv 或系统包管理器
列出可用的 Python 版本uv python listpyenv versions
激活虚拟环境使用系统激活方式source .venv/bin/activate

4.2 包管理

操作UV 命令传统对应命令
安装单个包uv pip install requestspip install requests
从 requirements.txt 安装uv pip install -r requirements.txtpip install -r requirements.txt
安装当前项目uv pip install -e .pip install -e .
安装开发依赖uv pip install -e ".[dev]"pip install -e ".[dev]"
生成锁文件uv pip compile requirements.in -o requirements.txtpip-compile requirements.in -o requirements.txt
升级单个包uv pip install --upgrade requestspip install --upgrade requests

4.3 项目管理

操作UV 命令传统对应命令
添加依赖uv add requestsPoetry: poetry add requests
移除依赖uv remove requestsPoetry: poetry remove requests
同步环境uv syncPoetry: poetry install
升级特定包uv sync --upgrade-package requestsPoetry: poetry update requests
升级所有包uv lock --upgradePoetry: poetry update
运行脚本uv run python script.pyPoetry: poetry run python script.py
构建项目uv buildPoetry: poetry build

4.4 工具管理

操作UV 命令传统对应命令
运行工具(不安装)uvx ruff check .pipx: pipx run ruff check .
运行特定版本工具uvx ruff@0.1.5 check .pipx: pipx run --spec=ruff==0.1.5 ruff check .
安装工具uv tool install ruffpipx: pipx install ruff
升级工具uv tool upgrade ruffpipx: pipx upgrade ruff
升级所有工具uv tool upgrade --allpipx: pipx upgrade-all

整理完毕,完结撒花~🌻





参考地址:

1.UV:下一代Python包管理工具的全面指南,https://www.apframework.com/blog/essay/2025-06-07-Python-UV

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

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

相关文章

Redis学习笔记 ----- 缓存

一、什么是缓存 缓存&#xff08;Cache&#xff09;是数据交换的缓冲区&#xff0c;是存储数据的临时地方&#xff0c;一般读写性能较高。 &#xff08;一&#xff09;缓存的作用 降低后端负载&#xff1a;减少对数据库等后端存储的直接访问压力。提高读写效率&#xff0c;降低…

React响应式链路

文章目录响应式链路的核心环节1.状态定义与初始化2.状态更新触发&#xff08;状态变更&#xff09;3.调度更新&#xff08;Scheduler&#xff09;4.重新渲染&#xff08;Render 阶段&#xff09;5.协调&#xff08;Reconciliation&#xff09;与 Fiber 架构6.提交更新&#xff…

软件设计师——计算机网络学习笔记

一、计算机网络 网络基础 1. 计算机网络的分类2. 网络拓扑结构 总线型(利用率低、干扰大、价格低) 星型(交换机形成的局域网、中央单元负荷大) 环型(流动方向固定、效率低扩充难) 树型(总线型的扩充、分级结构) 分布式(任意节点连接、管理难成本高)一般来说&#xff0c;办公室局…

1200 SCL学习笔记

一. IF. 如果。下面是一个起保停IF #I_start AND NOT #I_stop THEN //如果I_start接通 和 I_stop没有接通#Q_run : 1; //输出Q_run 接通 ELSIF #I_stop THEN //如果I_stop接通#Q_run : 0; //。。。。。。 END_IF;二. CASECASE…

单例模式与线程池

1. 单例模式单例模式是一种常用的设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。这种模式在需要控制资源访问、管理共享状态或协调系统行为时非常有用。单例模式的核心特点&#xff1a;私有构造函数&#xff1a;防止外部通过n…

Chrome和Edge如何开启暗黑模式

Edge和Chrome浏览器都提供了实验性功能&#xff0c;可以通过修改实验性设置来开启暗黑模式。 在浏览器地址栏中输入edge://flags/&#xff08;Edge&#xff09;或chrome://flags/&#xff08;Chrome&#xff09;。在搜索框中输入“dark”&#xff0c;找到与暗黑模式相关的选项。…

【科研绘图系列】浮游植物的溶解性有机碳与初级生产力的关系

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍 数据准备 数据处理 溶解性有机碳(DOC)与初级生产力(NPP)的关系 溶解性有机碳(DOC)与光照强度(PAR)的关系 数据可视化 加载R包 数据下载 导入数据 画图1 画图2 总结 系统信…

IDEA相关的设置和技巧

IDEA相关的设置和技巧 我的博客对应文章地址 1.布局设置 IDEA的布局自定义程度很高&#xff0c;顶部工具栏&#xff0c;侧边栏都可以随意定制&#xff0c;设置好的布局方案可以保存&#xff0c;在新项目中快速使用 1.1 工具栏设置 [!tip] 举个例子&#xff1a;比如我要在顶部…

AWS Lambda 完全指南:解锁无服务器架构的强大力量

在云计算的发展浪潮中,无服务器(Serverless) 架构已然成为构建现代应用的新范式。而在这场变革的中心,AWS Lambda 作为开创性的 Function-as-a-Service (FaaS) 服务,彻底改变了我们部署和运行代码的方式。 本文将带您深入探索 AWS Lambda,从核心概念、工作原理到高级实践…

人工智能时代下普遍基本收入(UBI)试验的实践与探索——以美国硅谷试点为例

一、硅谷UBI试验的最新进展&#xff08;2025年&#xff09;1. 试验规模与资金来源圣克拉拉县试点&#xff1a;硅谷所在地圣克拉拉县针对脱离寄养家庭的年轻人开展UBI试验&#xff0c;每月发放1000美元补贴&#xff0c;持续1-2年&#xff0c;覆盖约60名参与者&#xff0c;成本约…

云计算之云主机Linux是什么?有何配置?如何选?

一、云环境如何选择Linux发行版 1.1、Linux在各个领域的发展 Linux在各个领域的发展序号Linux发展领域说明1Linux在服务器领域的发展目前Linux在服务器领域已经占据95%的市场份额&#xff0c;同时Linux在服务器市场的迅速崛起&#xff0c;已经引起全球IT产业的高度关注&#xf…

XCVU13P-2FHGB2104E Xilinx(AMD)Virtex UltraScale+ FPGA

XCVU13P-2FHGB2104E 是 Xilinx&#xff08;AMD&#xff09;Virtex UltraScale FPGA 系列中的一款高性能芯片&#xff0c;适用于需要大量逻辑资源、高带宽和高速数据传输的应用场景。作为该系列中的旗舰产品&#xff0c;XCVU13P-2FHGB2104I 结合了强大的处理能力和灵活的可编程性…

自动化单词例句获取系统设计方案

方案一 (网络爬虫) 这个方案的核心思路是:创建一个自动化的脚本,该脚本会读取你 MongoDB 中的单词,然后去一个免费的在线词典网站上抓取这些单词的例句,最后将抓取到的例句存回你的 MongoDB 数据库中对应的单词条目下。 一、 核心思路与技术选型 自动化脚本: 我们将使用 P…

WPF Alert弹框控件 - 完全使用指南

WPF Alert弹框控件 - 完全使用指南概述快速开始nuget安装与引用基本用法功能特性详细说明AlertType 枚举方法参数详解Show 方法&#xff08;局部弹窗&#xff09;ShowGlobal 方法&#xff08;全局弹窗&#xff09;完整示例代码XAML 布局C# 代码实现界面演示功能特性对比表格自定…

可视化-模块1-HTML-01

1-软件下载&#xff1a; 软件名称&#xff1a;HBuilderX 官网地址&#xff1a; https://www.dcloud.io/hbuilderx.html 下载文佳-解压缩-打开exe文件 创建快捷方式至桌面 2-创建项目 【普通项目】-【基本HTML项目】-【项目名&#xff1a;week1-1】 【index】输入&#xff1…

机器翻译 (Machine Translation) 经典面试笔试50题(包括详细答案)

更多内容请见: 机器翻译修炼-专栏介绍和目录 文章目录 第一部分:基础理论与概念 (1-15题) 1. 题目: 什么是机器翻译(MT)?请简述其发展历程中的几个主要范式。 2. 题目: 机器翻译的主要评价指标有哪些?请详细解释BLEU指标的计算原理和优缺点。 3. 题目: 什么是平行语料…

linux中文本文件操作之grep命令

文章目录背景案例demo环境方式一、安装wsl方式二、安装grep一、查找指定字符串二、忽略大小写查找三、查找时显示行号四、统计匹配的次数五、精准匹配一个单词六、显示匹配上下文七、只显示匹配的内容八、按固定字符串匹配背景 在日常运维中会对日志文件&#xff0c;使用grep命…

链表漫游指南:C++ 指针操作的艺术与实践

文章目录0. 前言1. 链表的分类2. 单链表的实现2.1 链表的基本结构——节点&#xff08;Node&#xff09;2.2 核心操作详解2.2.1 构造和析构2.2.2 插入操作2.2.3 删除操作2.3.4 其他操作2.4 总结3. 双向链表的实现3.1 基本结构设计3.2 基本操作3.2.1 初始化与销毁3.2.2 插入与删…

Claude Code赋能企业级开发:外卖平台核心系统的智能化重构

开篇&#xff1a;万亿市场背后的技术挑战中国外卖市场日订单量超过1亿单&#xff0c;每一单背后都是一个复杂的技术链条&#xff1a;用户下单→商家接单→骑手抢单→实时配送→评价反馈。构建这样一个支撑千万级并发、涉及地理位置计算、实时调度、支付结算的超级平台&#xff…

【使用Unsloth 微调】数据集的种类

1. 什么是数据集 对于大型语言模型&#xff08;LLMs&#xff09;&#xff0c;数据集是用于训练模型的数据集合。为了训练有效&#xff0c;文本数据需要能够被分词&#xff08;tokenized&#xff09;。创建数据集的关键部分之一是聊天模板&#xff08;chat template&#xff09;…