检索器组件深入学习与使用技巧 BaseRetriever 检索器基类

article/2025/6/24 11:57:18

1. BaseRetriever 检索器基类

LangChain 中,传递一段 query 并返回与这段文本相关联文档的组件被称为 检索器,并且 LangChain 为所有检索器设计了一个基类——BaseRetriever,该类继承了 RunnableSerializable,所以该类是一个 Runnable 可运行组件,支持使用 Runnable 组件的所有配置,在 BaseRetriever 下封装了一些通用的方法,类图如下:在这里插入图片描述
其中 get_relevance_documents() 方法将在 0.3.0 版本开始被遗弃(老版本非 Runnable 写法),使用检索器的技巧也非常简单,按照特定的规则创建好检索器后(通过 as_retriever() 或者 构造函数),调用 invoke() 方法即可。
资料推荐

  • 💡大模型中转API推荐
  • ✨中转使用教程
  • ✨模型优惠查询

并且针对所有 向量数据库,LangChain 都配置了 as_retriever() 方法,便于快捷将向量数据库转换成检索器,不同的检索器传递的参数会有所差异,需要查看源码或者查看文档搭配使用,例如下方是一个向量数据库检索器的使用示例:

import dotenv
import weaviate
from langchain_core.runnables import ConfigurableField
from langchain_openai import OpenAIEmbeddings
from langchain_weaviate import WeaviateVectorStore
from weaviate.auth import AuthApiKeydotenv.load_dotenv()# 1.构建向量数据库
db = WeaviateVectorStore(client=weaviate.connect_to_wcs(cluster_url="https://eftofnujtxqcsa0sn272jw.c0.us-west3.gcp.weaviate.cloud",auth_credentials=AuthApiKey("21pzYy0orl2dxH9xCoZG1O2b0euDeKJNEbB0"),),index_name="DatasetDemo",text_key="text",embedding=OpenAIEmbeddings(model="text-embedding-3-small"),
)# 2.转换检索器
retriever = db.as_retriever(search_type="similarity_score_threshold",search_kwargs={"k": 10, "score_threshold": 0.5},
)# 3.执行基础相似性搜索
similarity_documents = retriever.invoke("关于应用配置的接口有哪些?")
print("相似性搜索: ", similarity_documents)
print("内容长度:", len(similarity_documents))

输出内容:

相似性搜索:  [...]
内容长度: 10

http://www.hkcw.cn/article/mWcynJJjuG.shtml

相关文章

上迪一对情侣和一家三口扭打 拍照冲突引热议

5月31日,有网友发布视频称,在上海迪士尼有一对情侣和一家三口发生了冲突并打斗,此事引发了广泛关注。视频中可以看到,双方在现场扭打,周围的人纷纷上前劝阻。据权威人士透露,事件发生在5月31日,地点并非排队区域,而是游客自由打卡拍照的地方。情侣和一家三口因拍照问题…

一干部违规聚餐喝酒后死亡 酒桌文化再引反思

一干部违规聚餐喝酒后死亡 酒桌文化再引反思!过去有句话说,革命的小酒天天醉,喝坏了党风喝坏了胃,喝的男女背靠背,搂着别人的老婆床上睡。随着时代发展,这种饮酒风气带来的后果愈发严重,不仅损害个人健康,还可能断送政治前程,甚至危及生命。今年3月21日,河南省信阳市…

镇政府回应吉林一地现龙卷风:持续不到一小时,领导正部署工作

镇政府回应吉林一地现龙卷风。6月2日,有网友发文称吉林松原前郭县长山镇出现龙卷风。长山镇人民政府工作人员表示,持续不到一小时,领导正部署工作。镇政府回应吉林一地现龙卷风镇政府回应吉林一地现龙卷风镇政府回应吉林一地现龙卷风责任编辑:0882

企业级 AI 开发新范式:Spring AI 深度解析与实践

一、Spring AI 的核心架构与设计哲学 1.1 技术定位与价值主张 Spring AI 作为 Spring 生态系统的重要组成部分,其核心使命是将人工智能能力无缝注入企业级 Java 应用。它通过标准化的 API 抽象和 Spring Boot 的自动装配机制,让开发者能够以熟悉的 Spr…

特尔将不会随拜仁征战世俱杯 入选法国U21国家队

北京时间6月2日,法国足协公布了U21国家队大名单,马蒂斯-特尔入选。这表明他将不会出现在拜仁俱乐部的世俱杯阵容中。此前,拜仁在冬季转会窗口将马蒂斯-特尔租借至托特纳姆热刺。在热刺期间,特尔参加了14场比赛,但未能取得进球,仅有一次助攻。责任编辑:zx0176

振动力学:有阻尼单自由度系统

文章1中的无阻尼系统是一种理想化的系统,实际应用中的振动系统总是受到阻尼影响。本文采用线性阻尼元件描述阻尼作用。 1. 振动方程的解 根据文章1中的式(1.4),可知有阻尼单自由度系统的振动方程为: m u ( t ) c u ˙ ( t ) k u ( t ) …

vllm并发怎么处理,1秒发送6个请求,服务端是同时回复请求还是列队处理?

环境: vllm 0.8.5 问题描述: vllm并发怎么处理,1秒发送6个请求,服务端是同时回复请求还是列队处理? 解决方案: vLLM服务端会自动将并发请求加入队列,并动态批量处理。多个请求会被合并成一个…

网络攻防技术四:网络侦察技术

文章目录 一、网络侦察概述(稍微看看)1、网络侦察内容 二、网络侦察方法1、搜索引擎信息收集2、Whois查询3、DNS信息收集4、网络拓扑发现 三、网络侦察防御1、防御搜索引擎侦察2、防御Whois侦察3、防御DNS侦察4、防御社会工程学和垃圾搜索 四、简答题1. …

BUUCTF[ACTF2020 新生赛]Include 1题解

BUUCTF[ACTF2020 新生赛]Include 1题解 题目分析:知识准备:php://filter 过滤器参数说明常用过滤器功能对照表 开始解题:原理解析构造payload 总结 题目分析: 生成靶机,打开网址,查看源码,抓包…

STM32 笔记 _《GPIO配置从低层走向高层》

目录 一.寄存器直接地址写入法 二.寄存器地址命名写入法 三.其它命名、及使用结构体 /枚举来归类 (逐步走向库函数) 三.GPIO一些参考图 一.寄存器直接地址写入法 操作IO口分三步: 1.打开相应的时钟; 2. 配置相应的I/O模式和频率(内部会…

c++继承

继承的概念及定义介绍 什么是继承,继承是面向对象而言的,他的地基是基于类而言的。最简单的介绍就是,一个类继承了另一个的成员,可以使用这个类成员,并且可以在此基础上,定义自己的成员,从而…

【后端高阶面经:架构篇】56、大数据技术架构的思想和原理是什么?

一、大数据架构的核心思想:分而治之的分布式哲学 (一)分布式存储与计算的本质 大数据架构的终极目标是解决单机存储与计算的性能瓶颈,其核心在于将数据与计算任务分散到多台廉价服务器,通过协同工作突破物理限制。这一思想的实现依赖两大基石: 数据分片(Data Sharding…

联想发布C55数码相机 6400万像素新选择

联想在京东上架了一款型号为C55的6400万像素数码相机,现已开售。该相机提供64GB和128GB两种版本,售价分别为499元和559元,首发价则为424元和475元。部分地区还支持叠加15%的国家补贴。这款相机采用了6400万像素的索尼CMOS传感器,尺寸为1/3英寸,配备2.8英寸液晶屏,支持ISO…

律师:厂家远程锁电动车侵权 经销商财产权受损

厂家远程锁电动车侵权 经销商财产权受损!最近,盐城市民王先生遇到了一个棘手的问题。去年他加盟销售一款品牌电动车,但由于销量不佳,最终自行关闭了店铺。在与厂家协商店铺装修赔偿事宜时,厂家通过技术手段将王先生已经付全款的库存电动车全部锁死,导致这批车辆无法正常销…

武汉女足主帅:王霜是核心,展现强大心脏

率队夺得女足亚冠冠军后,武汉车谷江大女足主教练常卫魏在接受采访时说:“赢得亚冠的历程,值得我一辈子回忆。陈晨成为扑点球的专家了,王霜展现了核心的价值。”关于门将陈晨在决赛中的表现,常卫魏提到,首发门将丁旋在上半场与对方球员有一次碰撞,中场休息时她表示腰部非…

【软件测试】火狐驱动下载镜像

CNPM Binaries Mirrorhttps://registry.npmmirror.com/binary.html?pathgeckodriver/

windows 缓冲区溢出实验关于VS的一些配置 (逆向与漏洞分析 (魏强) (Z-Library))

使用vs编写缓冲区溢出demo 的配置 最近在看 逆向与漏洞分析 (魏强) (Z-Library) 这本书,书上的关于缓冲区溢出的实验代码,使用vs 编写代码编译出来的可执行程序默认情况下就会存在一系列保护,如何不修改的话真的就调试不了书上的实验。主要是…

西红柿番茄成熟度目标检测数据集介绍

随着智能农业的发展,果蔬成熟度识别逐渐成为自动化采摘与质量控制中的核心问题之一。为了支持基于深度学习的目标检测算法对西红柿不同成熟阶段进行识别与分类,我们构建了一个西红柿成熟度目标检测数据集,该数据集包含三种成熟度类别&#xf…

大数据-275 Spark MLib - 基础介绍 机器学习算法 集成学习 随机森林 Bagging Boosting

点一下关注吧!!!非常感谢!!持续更新!!! 大模型篇章已经开始! 目前已经更新到了第 22 篇:大语言模型 22 - MCP 自动操作 FigmaCursor 自动设计原型 Java篇开…

贪心算法应用:线性规划贪心舍入问题详解

贪心算法应用:线性规划贪心舍入问题详解 贪心算法是一种在每一步选择中都采取当前状态下最优的选择,从而希望导致结果是全局最优的算法策略。在线性规划问题中,贪心算法特别是贪心舍入技术有着广泛的应用。下面我将全面详细地讲解这一主题。…