首个窗口级无人机配送VLN系统!中科院LogisticsVLN:基于MLLM实现精准投递
导读
随着智能物流需求日益增长,特别是“最后一公里”配送场景的精细化,传统地面机器人逐渐暴露出适应性差、精度不足等瓶颈。为此,本文提出了LogisticsVLN系统——一个基于多模态大语言模型的无人机视觉语言导航框架,专为窗户级别的终端配送任务设计。
©️【深蓝AI】编译
本文由paper一作——Xinyuan Zhang授权【深蓝AI】编译发布!
论文标题:LogisticsVLN: Vision-Language Navigation For Low-Altitude Terminal Delivery Based on Agentic UAVs
论文作者:Xinyuan Zhang, Yonglin Tian, Fei Lin, Yue Liu, Jing Ma, Kornelia Sara Szatmary, Fei-Yue Wang
论文地址:https://www.arxiv.org/abs/2505.03460
与现有研究多聚焦于长距离、粗粒度的目标定位不同,LogisticsVLN面向真实住宅场景中的窗户级精细导航任务,无需环境先验地图或特定训练。系统通过语言理解模块解析用户请求,利用轻量化的VLM完成楼层定位、目标窗口识别,并结合深度辅助机制进行视角选择与导航控制,最终实现精准投递。
论文还构建了VLD数据集,模拟复杂住宅环境下的300个任务,涵盖不同楼层、难度与指令风格。实验验证了系统的可行性,并通过模块级消融分析,评估了VLM在各子任务中的表现优劣。
这项研究不仅填补了空中VLN在终端配送中的空白,还为基础模型在真实智能物流系统中的部署提供了可行路径和有益启示。
1. 引入
在电子商务与城市化迅速发展的推动下,物流系统已成为现代社会中愈发关键的组成部分。特别是在终端配送环节,即将商品直接送达用户住所的最后一步,稳定、高效且以用户为中心的配送服务需求日益增长。
该研究认为,一种有前景的解决方案是利用具备智能体能力的无人机(Agentic UAVs)执行视觉-语言导航(VLN)任务,来满足终端配送的需求。
然而,传统的视觉-语言导航方法大多依赖于基于网络的模型,这些方法通常需要大量训练数据来实现泛化。现有基于无人机的VLN研究主要集中在长距离、粗粒度目标的导航任务上,因此难以满足对终端配送任务中高精度、细粒度导航的需求。虽然近期有研究尝试将基础模型用于地面机器人进行楼宇级配送,并取得了无需训练即可实现的零样本导航能力,但这种方法无法实现更精细的窗户级送达目标。
为了解决这些问题,该研究提出了LogisticsVLN系统,这是一个基于轻量级多模态大语言模型(MLLM)的无人机导航系统,具备良好的可扩展性,专为窗户级终端配送任务而设计。
该系统首先通过大语言模型(LLM)解析用户的自然语言请求,提取出目标窗户的关键属性;接着利用视觉-语言模型(VLM)实现楼层定位,引导无人机上升到合适的高度;在抵达目标楼层后,无人机再通过视角选择算法、目标检测VLM与决策VLM,在建筑周围探索寻找目标窗户。同时系统集成了一个深度感知辅助模块,提升操作的安全性。
图1|全文方法总览©️【深蓝AI】编译
2. 具体方法与实现
1. 任务定义
该研究聚焦于面向窗户级终端配送的空中视觉语言导航任务。任务场景假设无人机从目标建筑附近出发,仅依据用户提供的自然语言请求,自主导航至指定窗户位置完成配送。整个过程中不依赖预先构建的环境地图,更贴近现实中住宅区域缺乏详尽室内结构信息的实际场景。
在执行任务过程中:
● 无人机以离散时间步推进,每一步都会从传感器(包括多个方向的 RGB-D 摄像头)获取环境观测;
● 系统融合当前观测信息与语言描述,通过策略模型动态规划下一步动作;
● 最终目标是在满足空间安全约束的前提下,使无人机抵达目标窗户附近的邻域区域,实现高精度包裹投递。
2. 系统总览
该系统部署于具备智能体能力的无人机平台上。无人机配备了五组朝向不同角度(前、左前、右前、左侧、右侧)的 RGB-D 摄像头,实现对周围环境的半环绕感知。
配送流程从自然语言请求开始,系统首先使用内嵌的大语言模型解析请求信息;随后由视觉语言模型模块完成楼层定位和目标窗户识别。三个 VLM 被分别用于楼层估计、对象识别和动作决策,并通过一个深度辅助模块增强空间理解能力。当目标窗户被成功检测到后,无人机根据这些模块的引导精准调整位置,完成包裹的窗户级配送。
2.1 请求理解
用户的请求文本通常包含了目标窗户的位置描述、所在楼层、附近的显著物体(例如绿色花盆)以及一些无关或干扰性内容。
该系统采用 DeepSeek-R1-Distill-Qwen-14B 模型,结合三步链式推理(Chain-of-Thought)设计的提示词模板,对请求进行解析。通过这一过程,系统提取出两个关键信息:目标楼层编号和显著参照物,为后续模块的环境感知和决策提供支持。
2.2 楼层定位
该模块旨在引导无人机到达目标所在楼层高度,具备以下特点:
● 使用一个基于视觉语言模型构建的楼层计数器(Floor Count VLM);
● 无人机从建筑底部依次飞行到预设的垂直高度点,并在每个高度拍摄正前方图像;
● 模型分析图像中可见楼层数,实时更新无人机当前位置的楼层估计;
● 基于当前估计结果与目标楼层的对比,系统决定:
○ 继续上升;
○ 或进入楼层内微调阶段;
一旦到达目标高度,无人机锁定该楼层,维持固定飞行高度,进入环绕探索阶段。
2.3 目标探索
由于该任务中没有预构建地图,无人机需依靠自身感知能力探索目标窗户。为此,系统设计了一个探索模块,结合了对象识别 VLM、动作选择 VLM 和深度辅助模块。
对象识别: 系统将五个方向的 RGB 图像输入对象识别 VLM,并结合显著参照物的描述,判断目标窗户是否在视野内。如果识别成功,系统返回目标窗户的边界框,并利用深度信息计算一条安全的接近路径,确保无人机能够精准且安全地靠近目标。
视角选择: 若当前图像中未检测到目标窗户,系统会基于深度图评估各个摄像头视角的探索潜力,选出最有可能发现目标的视角继续移动。该过程通过分析深度图中的显著深度变化区来推断建筑转角等潜在视野突破口。
动作选择: 一旦选定新的视角,系统会在图像上标记若干探索方向,结合深度信息估算每个方向的安全行进距离,并将这些信息连同任务描述送入动作选择 VLM,选择最佳的移动方向与距离,从而实现连续、高效且避障的探索行为。
3.实验
为验证系统性能,该研究在 CARLA 模拟器中构建了一个名为 VLD 的视觉语言配送数据集,覆盖22类建筑,共300个窗户级别配送任务。任务具有多样的目标类别、楼层分布和不同难度等级,通过模拟不同用户请求风格,进一步提升数据集的语言多样性。
图4|数据集示例©️【深蓝AI】编译
在系统评估中,研究者选用了三种轻量级视觉语言模型(VLM)进行对比。结果显示,Qwen2-VL 模型表现最佳,在任务完成率与导航效率上均优于 LLaMA-3.1 和 Yi-VL 模型。Yi-VL 模型在任务执行中频繁拒绝提供明确的楼层判断,导致定位失败率较高,而 LLaMA-3.1 也在对象识别与楼层判断上表现不稳定,尤其容易被颜色等视觉属性干扰,误识别目标。
图5|不同楼层定位结果©️【深蓝AI】编译
为进一步验证系统中各模块的效果,该研究还设计了多项消融实验。例如,与传统楼层计数方式相比,自研的楼层定位方法显著降低了定位失败率,提高了系统的稳定性。在探索策略方面,深度驱动的视角选择算法相比于随机或默认策略,在成功率和路径效率上也有明显优势,尤其在需要绕行建筑多面的“困难任务”中表现突出。
图6|消融实验结果©️【深蓝AI】编译
尽管动作选择模块(Choice VLM)在整体指标上提升有限,但在视角选择不理想的情况下,其策略性判断能有效避免死锁和碰撞,保障任务安全完成。
总结
这项研究提出了一个叫 LogisticsVLN 的系统,目标是让无人机能够自动把包裹送到用户家窗户前,整个过程不需要提前训练、也不需要地图。系统主要依靠“多模态大模型”来理解语言、识别图像,并做出导航决策。
为了测试这个系统是否真的有效,研究团队在一个逼真的虚拟城市环境里,设计了一个专门的数据集,模拟了各种建筑、不同风格的用户请求和复杂的送货场景。实验结果表明,LogisticsVLN 不仅能完成任务,还能较好应对楼层定位、窗户识别等挑战。
更重要的是,研究者还对系统中的每个关键环节做了分析,比如:哪种模型更适合识别楼层?哪种算法能更聪明地选择视角来探索?这些分析帮助大家更清楚地了解大模型在真实配送任务中的优点与不足。
未来,该团队计划继续优化系统结构,让它能更充分地发挥大模型的能力,并探索如何把这套方案真正用在现实中的空中配送服务中。
相关文章:
首个窗口级无人机配送VLN系统!中科院LogisticsVLN:基于MLLM实现精准投递
导读 随着智能物流需求日益增长,特别是“最后一公里”配送场景的精细化,传统地面机器人逐渐暴露出适应性差、精度不足等瓶颈。为此,本文提出了LogisticsVLN系统——一个基于多模态大语言模型的无人机视觉语言导航框架,专为窗户级别…...
仓颉Magic亮相GOSIM AI Paris 2025:掀起开源AI框架新热潮
巴黎,2025年5月6日——由全球开源创新组织GOSIM联合CSDN、1ms.ai共同主办的 GOSIM AI Paris 2025 大会今日在法国巴黎盛大开幕。GOSIM 作为开源人工智能领域最具影响力的年度峰会之一,本届大会以“开放、协作、突破”为核心,汇聚了来自华为、…...
《Effective Python》第2章 字符串和切片操作——深入理解Python 中的字符数据类型(bytes 与 str)的差异
引言 本篇博客基于学习《Effective Python》第三版 Chapter 2: Strings and Slicing 中的 Item 10: Know the Differences Between bytes and str 的总结与延伸。在 Python 编程中,字符串处理是几乎每个开发者都会频繁接触的基础操作。然而,Python 中的…...
windows 强行终止进程,根据端口号
步骤1:以管理员身份启动终端 右键点击开始菜单 → 选择 终端(管理员) 或 Windows PowerShell(管理员)。 步骤2:检测端口占用状态 # 查询指定端口(示例为1806) netst…...
PHP-FPM 调优配置建议
1、动态模式 pm dynamic; 最大子进程数(根据服务器内存调整) pm.max_children 100 //每个PHP-FPM进程大约占用30-50MB内存(ThinkPHP框架本身有一定内存开销)安全值:8GB内存 / 50MB ≈ 160,保守设置为100 ; 启动时创建的进程数&…...
我喜欢的vscode几个插件和主题
主题 Monokaione Monokai Python 语义高光支持 自定义颜色为 self 将 class , def 颜色更改为红色 为装饰器修复奇怪的颜色 适用于魔法功能的椂光 Python One Dark 这个主题只在python中效果最好。 我为我个人使用做了这个主题,但任何人都可以使用它。 插件 1.Pylance Pylanc…...
openharmony 地图开发(高德sdk调用)
1.显示地图 2.利用sdk完成搜索功能,以列表形式展示,并提供定位和寻路按钮 3.利用sdk完成寻路,并显示路线信息和画出路线,路线和信息各自点击后可联动到对方信息显示 4.调用sdk 开始导航 商务合作:...
Kotlin-类和对象
文章目录 类主构造函数次要构造函数总结 对象初始化 类的继承成员函数属性覆盖(重写)智能转换 类的扩展 类 class Student { }这是一个类,表示学生,怎么才能给这个类添加一些属性(姓名,年龄…)呢? 主构造函数 我们需要指定类的构造函数。构造函数也是函数的一种,但是它专门…...
LVS+keepalived实战案例
目录 部署LVS 安装软件 创建VIP 创建保存规则文件 给RS添加规则 验证规则 部署RS端 安装软件 页面内容 添加VIP 配置系统ARP 传输到rs-2 客户端测试 查看规则文件 实现keepalived 编辑配置文件 传输文件给backup 修改backup的配置文件 开启keepalived服务 …...
可视化+智能补全:用Database Tool重塑数据库工作流
一、插件概述 Database Tool是JetBrains系列IDE(IntelliJ IDEA、PyCharm等)内置的数据库管理插件。它提供了从数据库连接到查询优化的全流程支持,让开发者无需离开IDE即可完成数据库相关工作。 核心价值: 统一工作环境…...
【认知思维】沉没成本谬误:为何难以放弃已投入的资源
什么是沉没成本谬误 沉没成本谬误(Sunk Cost Fallacy)是指人们倾向于根据过去已经投入的资源(时间、金钱、精力等)而非未来收益来做决策的一种认知偏差。简单来说,它反映了"我已经投入这么多,不能就这…...
Linux 系统安全基线检查:入侵防范测试标准与漏洞修复方法
Linux 系统安全基线检查:入侵防范测试标准与漏洞修复方法 在 Linux 系统的安全管理中,入侵防范是至关重要的环节。通过对系统进行安全基线检查,可以有效识别潜在的安全漏洞,并采取相应的修复措施,从而降低被入侵的风险…...
【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
题意 需要维护 n n n \times n nn 平面上的整点,每个点 ( x , y ) (x, y) (x,y) 有权值 V ( x , y ) V(x, y) V(x,y),初始都为 0 0 0。 同时给定 n n n 次修改操作,每次修改给出 x 1 , x 2 , y 1 , y 2 , v x_1, x_2, y_1, y_2, v x…...
目标检测任务常用脚本1——将YOLO格式的数据集转换成VOC格式的数据集
在目标检测任务中,不同框架使用的标注格式各不相同。常见的框架中,YOLO 使用 .txt 文件进行标注,而 PASCAL VOC 则使用 .xml 文件。如果你需要将一个 YOLO 格式的数据集转换为 VOC 格式以便适配其他模型,本文提供了一个结构清晰、…...
2025深圳杯D题法医物证多人身份鉴定问题四万字思路
Word版论文思路和千行Python代码下载:https://www.jdmm.cc/file/2712074/ 引言 法医遗传学中的混合生物样本分析,特别是短串联重复序列(Short Tandem Repeat, STR)分型结果的解读,是现代刑事侦查和身份鉴定领域的核心…...
利用自适应双向对比重建网络与精细通道注意机制实现图像去雾化技术的PyTorch代码解析
利用自适应双向对比重建网络与精细通道注意机制实现图像去雾化技术的PyTorch代码解析 漫谈图像去雾化的挑战 在计算机视觉领域,图像复原一直是研究热点。其中,图像去雾化技术尤其具有实际应用价值。然而,复杂的气象条件和多种因素干扰使得这…...
Focal Loss 原理详解及 PyTorch 代码实现
Focal Loss 原理详解及 PyTorch 代码实现 介绍一、Focal Loss 背景二、代码逐行解析1. 类定义与初始化 三、核心参数作用四、使用示例五、应用场景六、总结 介绍 一、Focal Loss 背景 Focal Loss 是为解决类别不平衡问题设计的损失函数,通过引入 gamma 参数降低易…...
VScode 的插件本地更改后怎么生效
首先 vscode 的插件安装地址为 C:\Users\%USERNAME%\.vscode\extensions 找到你的插件包进行更改 想要打印日志,用下面方法 vscode.window.showErrorMessage(console.log "${name}" exists.); 打印结果 找到插件,点击卸载 然后点击重新启动 …...
这类物种组织heatmap有点东西
如果想知道研究对象(人、小鼠、拟南芥、恒河猴等)某个时候各个器官的fMRI信号强度、炎症程度等指标的差异,gganatogram可以以热图的形式轻松满足你的需求。 数据准备 以男性为例,数据包含四列, 每列详细介绍 org…...
通讯录程序
假设通讯录可以存放100个人的信息(人的信息:姓名、年龄、性别、地址、电话) 功能:1>增加联系人 2>删除指定联系人 3>查找指定联系人信息 4>修改指定联系人信息 5>显示所有联系人信息 6>排序(…...
无需翻墙!3D 优质前端模板分享
开发网站时,无需撰写 HTML、CSS 和 JavaScript 代码,直接调用模板内现成的组件,通过拖拽组合、修改参数,几天内即可完成核心页面开发,开发速度提升高达 70% 以上。让开发者更专注于业务逻辑优化与功能创新,…...
Shinkai开源程序 是一个双击安装 AI 管理器(本地和远程),它允许您使用简单的 UI 在 5 分钟或更短的时间内创建 AI 代理
一、软件介绍 文末提供程序和源码下载 Shinkai 开源应用程序在 Web 浏览器中解锁了一流 LLM (AI) 支持的全部功能/自动化。它允许创建多个代理,每个代理都连接到本地或第三方LLMs(例如 OpenAI GPT),这些…...
vscode不能跳转到同一个工作区的其他文件夹
明白了,你说的“第二种情况”是指: 你先打开的是项目文件夹(比如 MyProject),然后通过 VS Code 的“添加文件夹到工作区”功能,把 ThirdPartyLib 文件夹添加进来。 结果,项目代码里 #include “…...
containerd 之使用 ctr 和 runc 进行底层容器操作与管理
containerd 是目前业界标准的容器运行时,它负责容器生命周期的方方面面,如镜像管理、容器执行、存储和网络等。而 ctr 是 containerd 自带的命令行工具,虽然不如 Docker CLI 用户友好,但它提供了直接与 containerd API 交互的能力…...
IMU 技术概述
IMU(惯性测量单元,Inertial Measurement Unit)是一种通过传感器组合测量物体运动状态和姿态的核心设备,广泛应用于导航、控制、智能设备等领域。以下从原理、组成、应用和发展趋势展开说明: 一、核心定义与本质 IMU …...
talk-centos6之间实现
在 CentOS 6.4 上配置和使用 talk 工具,需要注意系统版本较老,很多配置可能不同于现代系统。我会提供 详细步骤 自动化脚本,帮你在两台 CentOS 6.4 机器上实现局域网聊天。 ⸻ 🧱 一、系统准备 假设你有两台主机: …...
hivesql是什么数据库?
HiveSQL并非指一种独立的数据库,而是指基于Apache Hive的SQL查询语言接口,Hive本身是一个构建在Hadoop生态系统之上的数据仓库基础设施。 以下是对HiveSQL及其相关概念的详细解释: 一、Hive概述 定义: Hive是由Facebook开发&…...
(1)python开发经验
文章目录 1 安装包格式说明2 PySide支持Windows7 更多精彩内容👉内容导航 👈👉Qt开发 👈👉python开发 👈 1 安装包格式说明 PySide下载地址 进入下载地址后有多种安装包,怎么选择: …...
[论文翻译]PPA: Preference Profiling Attack Against Federated Learning
文章目录 摘要一、介绍1、最先进的攻击方式2、PPA3、贡献 二、背景和相关工作1、联邦学习2、成员推理攻击3、属性推理攻击4、GAN攻击5、联邦学习中的隐私推理攻击 三、PPA1、威胁模型与攻击目标(1)威胁模型(2)攻击目标 2、PPA 概述…...
北三短报文数传终端:筑牢水利防汛“智慧防线”,守护江河安澜
3月15日我国正式入汛,较以往偏早17天。据水利部预警显示,今年我国极端暴雨洪涝事件趋多趋频趋强,叠加台风北上影响内陆的可能性,灾害风险偏高,防汛形势严峻复杂。面对加快推进“三道防线”建设,提升“四预”…...
函数加密(Functional Encryption)简介
1. 引言 函数加密(FE)可以被看作是公钥加密(PKE)的一种推广,它允许对第三方的解密能力进行更细粒度的控制。 在公钥加密中,公钥 p k \mathit{pk} pk 用于将某个值 x x x 加密为密文 c t \mathit{ct} c…...
思维链实现 方式解析
思维链的实现方式 思维链的实现方式除了提示词先后顺序外,还有以下几种: 增加详细的中间步骤提示:通过提供问题解决过程中的详细中间步骤提示,引导模型逐步推导和思考。例如,在解决数学证明题时,提示词可以具体到每一步需要运用的定理、公式以及推理的方向,帮助模型构建…...
深入学习Zookeeper的知识体系
目录 1、介绍 1.1、CAP 理论 1.2、BASE 理论 1.3、一致性协议ZAB 1、介绍 2、角色 3、ZXID和myid 4、 历史队列 5、协议模式 6、崩溃恢复模式 7、脑裂问题 2、zookeeper 2.1、开源项目 2.2、功能 2.3、选举机制 3、数据模型 3.1、介绍 3.2、znode分类 4、监听…...
电商平台一站式安全防护架构设计与落地实践
引言:安全即业务,防御即增长 国际权威机构 Forrester 最新报告指出,2024 年全球电商平台因安全防护不足导致的直接营收损失高达 $180 亿,而采用一体化防护方案的头部企业客户留存率提升 32%。本文基于 10 万 节点防护实战数据&a…...
【Pandas】pandas DataFrame cummin
Pandas2.2 DataFrame Computations descriptive stats 方法描述DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 TrueDataFrame.any(*[, axis, bool_only, skipna])用于判断…...
奇妙小博客
import matplotlib.pyplot as plt# 定义顶点坐标 A [0, 0] B [6, 1] C [4, 6] P [4, 3]# 绘制三角形 ABC plt.plot([A[0], B[0], C[0], A[0]], [A[1], B[1], C[1], A[1]], b-, labelTriangle ABC) # 绘制点 P plt.scatter(P[0], P[1], colorr, labelPoint P(4,3))# 标注顶点…...
嵌入式学习笔记 - HAL_ADC_ConfigChannel函数解析
贴函数原型: 一 首先配置规则通道序列 其实所有的配置函数都是在对寄存器进行操作,要想看懂Hal库底层函数驱动就先把寄存器如何配置看懂,以下是配置规则通道寄存器的介绍,以ADC_SQR3为例,也就是通道序列1到序列6&…...
Java反射详细介绍
的反射(Reflection)是一种强大的机制,允许程序在运行时动态获取类的信息、操作类的成员(属性、方法、构造器),甚至修改类的行为。它是框架开发(如 Spring、MyBatis)、单元测试工具&a…...
2025年土木建筑与水利工程国际会议(ICCHE 2025)
2025 International Conference on Civil and Hydraulic Engineering (ICCHE 2025) (一)会议信息 会议简称:ICCHE 2025 大会地点:中国银川 投稿邮箱:icchesub-paper.com 收录检索:提交Ei Compendex,CPCI,C…...
适应性神经树:当深度学习遇上决策树的“生长法则”
1st author: Ryutaro Tanno video: Video from London ML meetup paper: Adaptive Neural Trees ICML 2019 code: rtanno21609/AdaptiveNeuralTrees: Adaptive Neural Trees 背景 在机器学习领域,神经网络(NNs)凭借其强大的表示学习能力&…...
IBM BAW(原BPM升级版)使用教程第十四讲
续前篇! 一、流程设计中的编程 在 IBM Business Automation Workflow (BAW) 中,编程部分涵盖了多种技术、工具和策略,帮助用户定制和扩展流程。BAW 主要通过脚本、集成、服务和自定义代码来实现流程的灵活性和定制化。下面将详细讲解 BAW …...
【计算机网络 第8版】谢希仁编著 第四章网络层 题型总结3 SDN OpenFlow
SDN OpenFlow题型 这题其实,认真看书P196-197的例子也不难理解。我个人认为所谓防自学设计主要就是你没看懂这张图的时候就是天书,你知道怎么读这张图的时候就很简单。不过我相信这个用心一点应该也都是能懂的。 题目 4.66-4.69 4-66 我最大的一个问题…...
【React中函数组件和类组件区别】
在 React 中,函数组件和类组件是两种构建组件的方式,它们在多个方面存在区别,以下详细介绍: 1. 语法和定义 类组件:使用 ES6 的类(class)语法定义,继承自 React.Component。需要通过 this.props 来访问传递给组件的属性(props),并且通常要实现 render 方法返回 JSX…...
多线程代码案例-1 单例模式
单例模式 单例模式是开发中常见的设计模式。 设计模式,是我们在编写代码时候的一种软性的规定,也就是说,我们遵守了设计模式,代码的下限就有了一定的保证。设计模式有很多种,在不同的语言中,也有不同的设计…...
langChain存储文档片段,并进行相似性检索
https://python.langchain.ac.cn/docs/how_to/document_loader_pdf/#vector-search-over-pdfs 这段代码展示了如何使用LangChain框架中的InMemoryVectorStore和OpenAIEmbeddings来存储文档片段,并基于提供的查询进行相似性搜索。下面是对每一行代码的详细解释&…...
MQTT协议技术详解:深入理解物联网通信基础
MQTT协议技术详解:深入理解物联网通信基础 1. MQTT协议概述 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的发布/订阅消息传输协议,专为资源受限设备和低带宽、高延迟或不可靠网络环境设计。作为物联网通信的核心协议之一,MQTT…...
python中的进程锁与线程锁
在Python中,线程和进程使用锁的机制有所不同,需分别通过threading和multiprocessing模块实现。以下是具体用法及注意事项: 一、线程锁(Thread Lock) 基本用法 线程锁用于多线程环境下保护共享资源,防止数据…...
导出导入Excel文件(详解-基于EasyExcel)
前言: 近期由于工作的需要,根据需求需要导出导入Excel模板。于是自学了一下下,在此记录并分享!! EasyExcel: 首先我要在这里非常感谢阿里的大佬们!封装这么好用的Excel相关的API,真…...
仿正点原子驱动BMP280气压传感器实例
文章目录 前言 一、寄存器头文件定义 二、设备树文件中添加节点 三、驱动文件编写 四、编写驱动测试文件并编译测试 总结 前言 本文驱动开发仿照正点原子的iic驱动实现,同时附上bmp280的数据手册,可访问下面的链接: BMP280_Bosch(博世…...
Java 反射机制(Reflection)
一、理论说明 1. 反射的定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为 Jav…...