基于RAGFlow本地部署DeepSpeek-R1大模型与知识库:从配置到应用的全流程解析

news2025/3/16 9:31:07

作者:后端小肥肠

🍊 有疑问可私信或评论区联系我。

🥑 创作不易未经允许严禁转载。

姊妹篇:

DeepSpeek服务器繁忙?这几种替代方案帮你流畅使用!(附本地部署教程)-CSDN博客

10分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统_springboot deepseek-CSDN博客

【AI编程】Java程序员如何用Cursor 3小时搞定CAS单点登录前端集成_cursor 如何集成企业cas实现单点登录-CSDN博客告别Cursor降智!国产MarsCode+DeepSeek R1组合来袭-CSDN博客

2025防失业预警:不会用DeepSeek-RAG建知识库的人正在被淘汰_deepseek-embedding-CSDN博客

解锁DeepSpeek-R1大模型微调:从训练到部署,打造定制化AI会话系统_fairseq-CSDN博客

目录

1. 前言

2. RAG相关概念讲解(对概念不感兴趣就跳过)

2.1. 什么是Embedding

2.2 Embedding 模型精选与对比

2.3. RAG工作流程

2.4. 如何构建高效的RAG系统?

2.5. RAG框架简介

3. 基于RAGFlow本地部署DeepSpeek-R1大模型及知识库搭建

3.1. Ollama安装

3.2. RAGFlow安装

3.2.1. Docker Desktop安装配置

3.2.2. RAGFlow安装

3.2.3. 知识库搭建

4. 资料获取

5. 结语


1. 前言

作为一名从业七年的程序员,最近听到很多程序员朋友都喜提了n+1裁员大礼包。上周与老友聚会时,大家纷纷诉说着各自最近的遭遇,聚会气氛一度十分沉重。老Z感叹:“公司决定将部分业务外包,结果我被列入了裁员名单。”老L则无奈道:“市场竞争激烈,项目减少,团队预算被削减,前几天我也被裁掉了。”聚会回家后我十分焦虑地打开了招聘软件,发现传统程序员的岗位出现了僧多肉少的情况,hr每天回复几十次的都有,关键薪资待遇并不是很理想。我出于好奇心搜了一下AI相关岗位,发现今年AI岗位出了很多,关键在于投递的人少了很多但是薪资翻了多倍...

在AI技术飞速发展的今天,我意识到程序员转型为AI工程师似乎是一个不错的选择。然而,这一转型并非易事,既需要扎实的编程基础,又需深入理解各种AI模型和技术。其中,检索增强生成(RAG)技术作为大模型落地的关键技术,通过将大型语言模型与外部知识库相结合,显著提升了生成式AI的准确性和时效性。掌握RAG技术,不仅能增强AI系统的响应能力,还能有效解决传统语言模型在处理特定领域知识时的局限性。学习并掌握RAG技术,对于希望在AI领域发展的程序员而言,具有重要意义。

本文我们将从RAG相关原理入手,介绍如何基于RAGFlow本地部署DeepSpeek-R1大模型以及搭建知识库,如果感兴趣就往下约阅读吧~

2. RAG相关概念讲解(对概念不感兴趣就跳过)

2.1. 什么是Embedding

Embedding(嵌入)是把信息(比如单词、句子、文档)转化为计算机能够理解的数字形式。我们把这种转化得到的数字向量称为“Embedding向量”。这种做法在很多AI应用中都很常见,尤其是在处理文本时。想象一下,你和朋友在讨论《红楼梦》中的人物时,可能会提到“林黛玉”和“贾宝玉”这两个角色。在你们的谈话中,这些名字不仅仅是字面上的称呼,它们还承载着丰富的情感和故事背景。同样地,计算机也需要一种方式来理解这些词语背后的深层含义。Embedding(嵌入)就是一种将词语、句子或文档转化为计算机可以理解的数字形式的方法。通过这种方式,计算机能够“感知”词语之间的关系和相似性。

举个例子:

假设我们将“林黛玉”和“贾宝玉”这两个角色转化为一组数字,例如:

  • 林黛玉:[0.2, 0.8, -0.5, ...]
  • 贾宝玉:[0.3, 0.7, -0.4, ...]

这些数字背后的含义可能是:

  • 第一个数字:代表角色的文学地位。
  • 第二个数字:代表角色的性格特征。
  • 第三个数字:代表角色的情感经历。

由于“林黛玉”和“贾宝玉”在故事中有着深厚的关系和相似的性格特征,所以它们的数字表示在计算机的“心目”中会比较接近。这种接近性帮助计算机理解它们在语义上的相似性:

2.2 Embedding 模型精选与对比

为帮助读者快速选择适合 RAG 系统的嵌入模型,本文结合最新行业评测(截至2025年3月)整理出以下主流模型及其特性:

模型名称

开发团队

核心特点

适用场景

性能指标(MTEB/MIRACL)

BGE-M3

智源研究院

支持100+语言,集成稠密/稀疏/多向量混合检索,8192 tokens长文本处理能力

企业级多语言知识库、复杂格式文档检索(表格/图表解析)

MIRACL平均召回率89.2%

Gemini Embedding

Google AI

基于动态稀疏注意力机制,支持8K上下文,Matryoshka降维技术减少83%存储需求

多模态检索、金融/法律领域长文档分析、跨语言知识库

MMTEB多语言Borda分数最高

mxbai-embed-large

Mixed Bread AI

1024维高精度向量,短文本优化,模型体积仅为OpenAI text-embedding-3-large的60%

中小团队快速部署、实时语义搜索(电商/客服场景)

MTEB平均得分72.1

nomic-embed-text

Nomic AI

768维平衡设计,短文本相似度计算效率领先,支持动态分块策略

社交媒体内容分析、竞品监控、短问答系统

短文本检索F1值78.5%

Jina Embedding

Jina AI

基于3.8亿高质量句对训练,35M参数量推理速度极快

移动端轻量化应用、边缘计算场景(如物联网设备日志分析)

推理速度比同类快3倍

GTE

阿里巴巴达摩院

基于BERT框架优化,直接处理代码无需微调,适配技术文档检索

开发者文档检索(如API手册查询)、编程问答社区

代码检索准确率92.7%

模型选择建议

  1. 企业级复杂场景:优先选择 BGE-M3Gemini Embedding,两者在混合检索、长文本处理和多语言支持上表现突出;
  2. 轻量化部署需求mxbai-embed-large(高精度)和 nomic-embed-text(高效率)是性价比之选;
  3. 技术文档与代码场景GTE 的代码原生支持特性可减少30%的误召回率;
  4. 移动/边缘计算Jina Embedding 凭借35M参数量和高效推理架构,适合资源受限环境。

:以上数据参考自MTEB 2025官方榜单及企业实测报告,完整评测方法可访问 HuggingFace MTEB Leaderboard。

2.3. RAG工作流程

检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种将信息检索技术与生成模型结合的方法,主要用来提升大型语言模型在处理知识密集型任务时的表现。RAG的工作流程可以分为四个主要步骤,简单来说就是:检索、增强、生成。

1. 数据索引(Indexing)

  • 数据预处理:首先,我们需要对原始数据进行清洗和规范化处理。这样可以确保数据的质量,去掉那些无关或干扰的信息。
  • 向量化处理:接下来,我们使用一些嵌入模型将这些数据转换成向量形式。向量化的目的是把数据中的语义信息提取出来,以便后续处理。
  • 建立索引:最后,将这些向量化的数据存储到向量数据库中,并为它们建立索引。这样,系统就能快速检索到相关数据。

2. 检索(Retrieval)

  • 查询处理:当用户提交问题时,系统会先将用户的查询转化成向量表示。
  • 相似度计算:然后,系统会计算查询向量和数据库中所有数据向量之间的相似度。通常,余弦相似度是常用的计算方法。
  • 检索相关数据:根据计算出的相似度,系统会从数据库中提取出最相关的数据片段。

3. 增强(Augmentation)

  • 构建增强提示:此时,系统将用户的查询与检索到的相关数据结合,构建一个增强的提示(prompt)。这个提示将提供给生成模型,确保它能够利用最新、最相关的信息来生成回答。

4. 生成(Generation)

  • 生成响应:生成模型会根据这个增强的提示,生成最终的响应。由于它结合了最新的知识和数据,因此生成的回答会更加准确和相关。

2.4. 如何构建高效的RAG系统?

要打造一个高效的RAG系统,主要优化的点在于构建数据索引这一步,以下几个关键步骤非常重要:

  1. 数据预处理的重要性:在RAG系统中,数据预处理至关重要。包括数据清洗和规范化处理,能有效提升检索效果。如果数据没有经过清理,就可能包含很多噪声或冗余信息,这会影响检索器的表现,从而影响生成模型的输出质量。
  2. 数据分块策略:当处理长文档时,拆分成合适大小的块会更有帮助。这不仅能提高检索效率,还能提高准确性。当然,块的大小需要根据具体情况进行调整,找到一个平衡点,既保证信息的完整性,又确保处理的高效。
  3. 嵌入模型的选择:嵌入模型将文本转换为向量,这个过程直接影响检索效果。选择一个与应用领域匹配的嵌入模型,并对其进行微调,可以大大提升检索的相关性和准确性。

除去以上步骤,设计有效的提示词,引导模型生成准确的回答;通过调整解码器的温度等参数,控制输出的多样性和质量;对生成器进行微调,使其更好地适应特定任务等手段也可以提升RAG的回答效果。

2.5. RAG框架简介

在我之前的文章里也写过RAG框架,为了方便大家理解和比较RAG框架,我做了一个表格汇总(下表的AnythingLLM框架对应文章为:2025防失业预警:不会用DeepSeek-RAG建知识库的人正在被淘汰_deepseek-embedding-CSDN博客)

框架名称

类别

核心特点

适用场景

LangChain

传统 RAG 框架

模块化设计,支持文档加载、文本拆分、嵌入、检索全流程

灵活构建复杂 LLM 应用(如问答系统、智能体开发)

Haystack

传统 RAG 框架

端到端解决方案,支持多语言模型与文档存储集成,模块化架构

企业级搜索增强系统、多语言知识库应用

RAGFlow

企业级 RAG 框架

深度文档理解(OCR/TSR支持),混合检索(向量+搜索引擎+结构化查询)

处理复杂格式文档的企业知识库(表格、图表解析)

VARAG

多模态 RAG 框架

整合图像理解能力,基于 LangChain 构建,API 接口友好

图文混合内容处理(教育、研究场景)、初创项目原型

R2R

检索优化框架

迭代式检索优化,支持多步骤检索过程与性能分析工具

需要高精度检索的学术研究、复杂查询场景

FlashRAG

高效检索框架

分布式处理优化,支持百亿级数据检索,内置性能分析工具

高并发、大规模数据场景(如实时语义搜索)

AnythingLLM

私有化部署框架

MIT协议支持二次开发,内置企业级权限体系,兼容200+文档格式

数据敏感型企业(法律、制造业)私有知识库构建

Cherry Studio

轻量级框架

零配置桌面端运行,集成30+开源模型,支持离线问答

小微团队快速验证(创意灵感库、竞品分析)

Cognita

MLOps 集成框架

端到端平台,内置监控与版本控制,支持模型实验跟踪

需要全生命周期管理的 AI 应用开发

Canopy

向量检索优化框架

基于 Pinecone 矢量数据库技术,高扩展性检索架构

需要高效矢量搜索的大规模多模态应用

RAGFlow作为本文要讲的RAG框架,有以下优点:

  1. 多样化的文档处理能力:RAGFlow支持丰富的文件格式,包括Word、PPT、Excel、PDF等,并针对特定格式提供相应的解析模板,能够处理复杂格式的文档,如表格、图像等。
  2. 深度文档理解:内置的DeepDoc组件能够对用户的非结构化文档进行布局检测,确保文字在保持语义的前提下进行处理,提高了数据处理的准确性和可靠性。
  3. 混合检索机制:RAGFlow支持向量检索、搜索引擎检索和结构化查询的混合检索方式,能够根据不同场景选择最优的检索策略,提升了检索的精度和效率。
  4. 高可定制性和可扩展性:RAGFlow提供了灵活的自定义能力,用户可以根据具体需求定制评分算法、检索策略等,适应高负载应用场景,满足不同业务需求。

这些优点使RAGFlow在处理复杂格式文档、提供高精度检索和满足企业级应用需求方面表现出色。

3. 基于RAGFlow本地部署DeepSpeek-R1大模型及知识库搭建

3.1. Ollama安装

Ollama安装在之前的文章已经手把手交过,这里就不在赘述,文章指引:2025防失业预警:不会用DeepSeek-RAG建知识库的人正在被淘汰_deepseek-embedding-CSDN博客

本文和之前有所不同的一点是需要配置一下OLLAMA_HOST:

配置 OLLAMA_HOST的ip为0.0.0.0的核心目的是突破网络隔离限制,使运行在 Docker 容器中的 RAGFlow 能够通过宿主机网络访问 Ollama 服务。Ollama 默认绑定在 127.0.0.1(仅限本机访问),而 Docker 容器与宿主机属于不同网络命名空间,无法直接访问此地址。设置为 0.0.0.0 后,Ollama 会监听所有网络接口(包括虚拟网卡),使容器可通过宿主机 IP 或 host.docker.internal域名访问服务。

3.2. RAGFlow安装

3.2.1. Docker Desktop安装配置

1. 安装 WSL 2(适用于 Windows 10 版本 2004 及以上)

Windows 子系统 Linux 2(WSL 2)提供了一个完整的 Linux 内核,Docker Desktop 依赖于此。win+R打开命令窗口,输入winver查看系统版本,确保内部版本高于19041:

以管理员身份打开 PowerShell,运行以下命令:

  wsl --install

安装完成后需要重启一下计算机。

2. 安装DockerDesktop

安装 Docker Desktop 之前,确保您已经安装并启用了 WSL 2。可以通过在 PowerShell 运行以下命令来检查:

wsl --list --verbose

下载 Docker Desktop:访问 Docker 官方网站 Docker Desktop: The #1 Containerization Tool for Developers | Docker 下载适用于 Windows 的 Docker Desktop 安装包。

安装 Docker Desktop

  1. 双击下载的安装文件 Docker Desktop Installer.exe
  2. 按照提示完成安装过程。
  3. 安装完成后,系统可能提示重启计算机,建议重启以确保所有组件正常工作。

启动 Docker Desktop:电脑重启后,启动Docker Desktop,初次启动可能需要一些时间。

配置一下docker镜像源地址:

以下镜像源地址为国内地址,你不想用我的也可以自己找:

"registry-mirrors":["https://hub.rat.dev"]
3.2.2. RAGFlow安装

RAGFlow的安装我建议可以直接去github(https://github.com/infiniflow/RAGFlow)上看README_zh.md,教程已经很详尽,当然你嫌麻烦也可以直接看我的,首先基于git拉取RAGFlow项目:

git clone https://github.com/infiniflow/RAGFlow.git

进入RAGFlow/docker文件夹输入cmd打开命令提示符窗口:

如需下载不同于 v0.17.2-slim 的 Docker 镜像,请在运行 docker compose 启动服务之前先更新 docker/.env 文件内的 RAGFlow_IMAGE 变量。比如,你可以通过设置 RAGFlow_IMAGE=infiniflow/RAGFlow:v0.17.2 来下载 RAGFlow 镜像的 v0.17.2 完整发行版。这里的版本是我自己的版本,你的版本需要打开.env软件自己确认。

运行命令:docker compose -f docker-compose.yml up -d安装RAGFlow,安装完以后可以使用docker ps看一下容器列表,找到RAGFlow容器id,使用docker logs -f (容器id)查看容器运行情况:

在浏览器输入localhost,能看到以下界面则表明RAGFlow安装成功了:

注册账号后就能登录至首页:

点击头像后,在侧边导航栏选择模型提供商,选择Ollama:

配置chat模型,模型名称使用ollama list命令获取(win+R打开命令提示符窗口输入ollama list):

基础uri处配置为http://你的ip:11434:

配置embedding模型,基础uri处配置为http://你的ip:11434:

点击系统模型设置设置相应模型:

3.2.3. 知识库搭建

新增知识库,我这里为了示范新增了一个小肥肠咖啡厅员工管理规范的知识库,配置知识库:

在RAGFlow中 提供了两种主要的文档解析器:

  1. Naive解析器:该解析器在处理文档时,不仅提取文本内容,还将表格数据转换为HTML格式。然而,在解析复杂表格时,可能会出现错行或格式偏差的问题。 
  2. DeepDoc解析器:这是RAGFlow的核心组件,利用视觉处理和解析技术,对文档进行深度理解。它支持OCR(光学字符识别)、布局识别和表格结构识别(TSR),能够处理多种文档格式,如PDF、DOCX、Excel和PPT,并提取文本块、表格和图像等信息。 

总的来说,Naive解析器适用于对解析速度要求较高且文档格式较简单的场景,而DeepDoc解析器则更适合处理复杂布局和多种格式的文档,提供更精确的解析结果。

接下来就是准备知识库的数据集,数据集越规范查询效果越好,这里是我造假的一个数据(pdf):

上传文件:

实时查看解析进度:

解析以后点击数据集可以查看解析块:

配置完知识库之后新建聊天助理测试一下效果:

开始聊天,从下图中可以看出聊天小助理已经能够很好地提取知识库的内容进行回答了:

4. 资料获取

如果你对DeepSpeek的相关知识还不熟悉,可以关注gzh后端小肥肠,点击底部【资源】菜单获取DeepSpeek相关教程资料。

5. 结语

本文带领读者深入了解了RAG(检索增强生成)技术相关的基本原理,基于保姆级教程一步一步讲解了怎么基于RAGFlow本地部署DeepSpeek-R1大模型与知识库的搭建。随着AI技术的发展,RAG技术将成为程序员转型为AI工程师的重要工具。掌握RAG技术不仅能帮助开发更高效的知识库系统,还能提升模型的准确性和响应能力,为处理知识密集型任务提供强有力的支持。

如果本文对你有帮助,不要忘记动动小手点点关注哦,小肥肠专注分享AI领域干货知识,点关注不迷路~

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

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

相关文章

SpringBoot 集成logback日志链路追踪

项目场景 有时候一个业务调用链场景,很长,调了各种各样的方法,看日志的时候,各个接口的日志穿插,确实让人头大。 为了解决这个痛点,就使用了 TraceId,根据 TraceId 关键字进入服务器查询日志中…

【Python办公】Excel通用匹配工具(双表互匹)

目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专…

【JAVA】七、基础知识“if+switch+循环结构”详细讲解~简单易懂!

目录 7、逻辑控制 7.1 分支结构 7.1.1 if 语句 语法格式1 语法格式2 语法格式3 7.1.2 switch语句 基本语法 执行流程 7.2 循环结构 7.2.1 while循环 语法格式 7.2.2 Break 7.2.3 Continue 7.2.4 for循环 语法格式 执行过程 7.2.5 do while循环 语法格式 7.3 …

【C++】每日一练(轮转数组)

本篇博客给大家带来的是用C语言来解答轮转数组! 🐟🐟文章专栏:每日一练 🚀🚀若有问题评论区下讨论,我会及时回答 ❤❤欢迎大家点赞、收藏、分享! 今日思想:不服输的少年啊…

Python(学习一)

做网站有成熟的框架像FLASK、DJANGO、TORNADO,写爬虫有好用到哭的REQUESTS,还有强大到没盆友的SCRAPY 随着NUMPY、SCIPY、MATLOTLIB等众多第三方模块的开发和完善,不仅支持py支持各种数学运算,还可以绘制高质量的2D和3D图像&…

Java中类和对象

类和对象 面向对象的认识类的定义和使用1 类的定义2 类的创建3 类的实例化 构造方法1 构造方法的概念2 构造方法的注意事项 this关键字 面向对象的认识 前言 何为面向对象何为面向过程呢?,C语言是最经典的面向过程的语言,但是C语言虽然可以解决一定的问…

文本组件+Image组件+图集

Canvas部分知识补充 元素渲染顺序 以Hierarchy参考 下方物体在上方物体前显示 子物体在父物体前显示 下方物体永远在前显示,无论上方的层次结构 资源导入 绝对路径:C:\Windows\Fonts下的许多字体可以用做UIText的字体资源 图片导入: 1.图…

PyCharm 2019.1.3使用python3.9创建虚拟环境setuptools-40.8.0报错处理

目录 前置: 一劳永逸方法(缺最后一步,没有成行) step one: 下载高版本的pip、setuptools、virtualenv的tar.gz包 step two: 进入PyCharm安装目录的 helpers 目录下 step three: 下载并安装grep和sed命令,然后执行 …

服务器部署RocketMQ----Docker方式

拉取镜像并创建docker network 按照官方文档提供的方式拉取镜像:docker pull apache/rocketmq:4.9.6 创建一个docker网络:docker network create rocketmq 启动NameServer以及Broker 启动NameServer # 启动NameServer docker run -d --name rmqnames…

【推荐项目】052-用水监控管理系统

052-用水监控管理系统 介绍 用水监控管理系统 springboot java vuejs jdk1.8 当然,以下是一个简洁的用水监控管理系统的功能模块划分,基于Spring Boot(JDK 1.8)后端和Vue.js前端: 用水监控管理系统功能模块 后端&…

零基础上手Python数据分析 (2):Python核心语法快速入门

写在前面 场景:每周销售数据报表整理 任务描述: 你需要每周从多个Excel文件中汇总销售数据,计算各项指标(销售额、订单量、客单价等),并生成周报。Excel操作痛点: 文件太多,手动打开复制粘贴,效率低下,容易出错。 多个Excel文件,每个都要打开、筛选、复制数据,重复…

游戏引擎学习第160天

回顾和今天的计划 我们没有使用任何游戏引擎和库,完全靠我们自己,使用的是老式的编程方式。 我们已经构建了很多内容,游戏引擎开发也慢慢接近尾声。现在我们已经接近完成了所有为支持游戏开发所需要的工作,接下来将逐步过渡到游戏…

从零搭建微服务项目Pro(第2-2章——JSR303自定义文件校验+整合至微服务公共模块)

前言: JSR 303,即 Bean Validation,是 Java EE 6 中的一项子规范,旨在为 Java Bean 提供一种标准化的数据验证机制。它通过注解的方式,允许开发者在 Java 类的字段或方法上直接定义验证规则,从而将验证逻辑…

如何用URDF文件构建机械手模型并与MoveIt集成

机械手URDF文件的编写 我们用urdf文件来描述我们的机械手的外观以及物理性能。这里为了简便&#xff0c;就只用了基本的圆柱、立方体了。追求美观的朋友&#xff0c;还可以用dae文件来描述机械手的外形。 import re def remove_comments(text):pattern r<!--(.*?)-->…

【训练细节解读】文本智能混合分块(Mixtures of Text Chunking,MoC)引领RAG进入多粒度感知智能分块阶段

喜欢本文可以在主页订阅专栏哟 核心创新&#xff1a;双重评估指标与混合分块架构&#xff1a; 第一章&#xff1a;检索增强生成&#xff08;RAG&#xff09;技术演进与分块挑战 1.1 RAG架构的核心演变 检索增强生成&#xff08;Retrieval-Augmented Generation&#xff09…

招聘信息|基于SprinBoot+vue的招聘信息管理系统(源码+数据库+文档)

招聘信息管理系统 目录 基于SprinBootvue的招聘信息管理系统 一、前言 二、系统设计 三、系统功能设计 5.1系统功能模块 5.2管理员功能模块 5.3企业后台管理模块 5.4用户后台管理模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、…

HCIA-AI人工智能笔记1:大模型技术演进与发展历程

一、大模型发展的技术演进图谱 timelinetitle 大模型发展关键里程碑1958 : 感知机模型诞生&#xff08;Frank Rosenblatt&#xff09;1986 : BP反向传播算法&#xff08;Rumelhart&#xff09;2012 : AlexNet开启深度学习时代2017 : Transformer架构提出&#xff08;《Attenti…

在微信小程序或前端开发中,picker 和 select 都是用户交互中用于选择的组件,但它们在功能、设计和使用场景上有一定的区别

在微信小程序或前端开发中&#xff0c;picker 和 select 都是用户交互中用于选择的组件&#xff0c;但它们在功能、设计和使用场景上有一定的区别。 1. picker 的特点 描述&#xff1a; picker 是微信小程序中的原生组件&#xff0c;通常用于选择单项或多项值&#xff0c;如时…

向量数据库对比以及Chroma操作

一、向量数据库与传统类型数据库 向量数据库&#xff08;Vector Storage Engine&#xff09;与传统类型的数据库如关系型数据库&#xff08;MySQL&#xff09;、文档型数据库&#xff08;MongoDB&#xff09;、键值存储&#xff08;Redis&#xff09;、全文搜索引擎&#xff0…

Python Matplotlib面试题精选及参考答案

绘制函数 y2x5 在区间 [1,10] 的折线图&#xff0c;设置标题和坐标轴标签 要绘制函数 y 2x 5 在区间 [1, 10] 的折线图&#xff0c;并设置标题和坐标轴标签&#xff0c;可借助 Python 的 matplotlib 库来实现。以下是详细的实现步骤与代码示例。 首先&#xff0c;要导入 mat…