Langchain构建向量数据库和检索器

目录:

    • 1、安装向量数据库
    • 2、代码示例
      • 2.1、向量数据库检索文档
      • 2.2、检索器
      • 2.3、检索器与模型结合

1、安装向量数据库

pip install langchain-chroma

2、代码示例

2.1、向量数据库检索文档

#!/usr/bin/env pythonfrom langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage
from langchain_core.messages import HumanMessage
import osos.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = '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'  #langsmith监控key
os.environ["OPENAI_API_KEY"] = 'aHP78iUOsuamufjyc2lkt0KD0iOFRKfly8fQ74QcdWrPbyrm‌'  #openai的keymodel = ChatOpenAI(model="gpt-4-turbo")#构建测试文档数据(真实是从数据库中来)
documents = [Document(page_content="狗是伟大的伴侣,以其忠诚和友好而闻名。",metadata={"source":"哺乳动物宠物文档"}),Document(page_content="猫是伟大的伴侣,通常喜欢自己的空间。",metadata={"source":"哺乳动物宠物文档"})
]#实例化一个向量数据库
vector_store = Chroma.from_documents(documents , embedding = OpenAIEmbeddings())
#相似度查询,分数越低相似度越高
print(vector_store.similarity_search_with_score('加菲猫'))

测试结果:

在这里插入图片描述

2.2、检索器

在这里插入图片描述
多个相似度的查询。

2.3、检索器与模型结合

在这里插入图片描述
在这里插入图片描述

这里我们使用模型链,里面有retriever上下文,这样就会根据文档的上下文做回答,如果没有的话,大模型会根据网上搜索进行一个笼统的回答。

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

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

相关文章

C# .NET Core 源代码生成器(dotnet source generators)

介绍 在这篇博文中,我们将介绍源生成器的基础知识、涉及的主要类型、您可能遇到的一些常见问题、如何正确记录这些问题以及如何修复这些问题。 自 2020 年末首次推出 .NET 5 以来,源生成器就已经存在。自首次发布以来,它们已经有了许多改进&a…

Vue:表格动态渲染列,出现多个表格的情况下(弹窗表格和页面显示表格处理)

处理后效果 后端返回弹窗的列数据 后端返回的页面列数据 在正常情况下两者如果在组件中共用同一个key的话,会导致所有的表格中列名,都会是一样的(最后一次请求返回的列),这样的话,打开弹窗也会影响到页面中已经渲染好的列。 代…

C#实战:解决NPOI读取Excel单元格数值0.00001显示为1E-05的问题

目录 问题复现 原因分析 1. Excel的底层存储机制 2. NPOI的默认读取行为 3. 精度丢失的误解 解决方案 方法一:使用DataFormatter获取格式化值(推荐) 方法二:修改Excel模板格式 方法三:数值类型转换处理 性能对比 总结 在最近的数据分析项目中,我遇到了一个看似…

每日学习一道数模题-2024国赛C题-农作物的种植策略

自研AI生成,仅供参考 数模AI智能体扣子是新一代 AI 大模型智能体开发平台。整合了插件、长短期记忆、工作流、卡片等丰富能力,扣子能帮你低门槛、快速搭建个性化或具备商业价值的智能体,并发布到豆包、飞书等各个平台。https://www.coze.cn/…

.NetCore 8 反射与源生成器(Reflection vs Source Generators)

示例代码:https://download.csdn.net/download/hefeng_aspnet/90959927 找到将 CSV 数据映射到类属性的快速方法 处理 CSV 文件时,一个常见的任务是读取文件并使用其内容填充类的属性。但如果可以自动化这个过程会怎样呢?在本文中&#xf…

分布式系统

文章目录 1. 单机架构2. 应用服务和数据库服务分离3. 引入负载均衡器4. 引入读写分离5. 引入缓存--冷热分离6. 引入分库分表7. 引入微服务 其实所谓的“分布式系统”,就是想尽办法引入更多的硬件资源!!! 明确几个概念&#xff1a…

Vue实现的前端项目开发

一、工具安装 安装前端编辑器vscode:shiftaltF指令格式化 vscode安装地址:Download Visual Studio Code - Mac, Linux, Windows 搭建node环境和npm安装 Node.js 就是运行在服务端的 JavaScript,可类比为java npm:是nodejs的包管理工具,可…

远程主机不满足运行VSCode服务器的先决条件:解决方案

下载好VSCode后连接服务器报错:远程主机不满足运行VSCode服务器的先决条件: 解决方案:这种情况一般是VSCode版本过高导致的,帮助>关于看一下VSCode版本: 然后卸载安装低版本VSCode即可。

navicat 有免费版了,navicat 官方免费版下载

navicat 有免费版了,navicat 官方免费版下载 1、navicat 官方免费版下载 1、navicat 官方免费版下载 链接: https://www.navicat.com.cn/products#navicat-premium-lite

开疆智能ModbusTCP转Devicenet网关连接远程I/O配置案例

网关配置 步骤1:使用开疆智能网关配置工具,设置网关的参数(IP地址、设备名称由PLC组态软件分配侧一致)。 步骤2设置数据传输长度以及掉线后数据处理方式 步骤3:配置DeviceNet参数: 波特率(通常…

给element-plus的table表格加上连续序号

<el-table-column show-overflow-tooltip type"index" :index"indexMethod" width"80" label"序号" />const indexMethod (index: number) > {return (currentPage.value - 1) * pageSize.value index 1 }

嵌入式PADS中元件封装绘制与实现

前言 上次我们已经把原理图画好了,那么这一次我们要开始设计元件封装。 元件封装 首先我们打开PADS layout,layout是PADS用来做PCB布局的子软件,打开后我们选择文件->新建来先新建一个PCB图纸文件 和设计原理图那会操作一样,也是先设计一个元器件的PCB封装。点击文件…

Linux 系统设置时区

Linux 系统设置时区 文章目录 Linux 系统设置时区在 Linux 系统中设置时区为上海步骤 1: 检查时区文件步骤 2: 使用 ln 修改时区步骤 3: 验证时区步骤 4: 修改系统时区配置文件&#xff08;可选&#xff09;结语 在 Linux 系统中设置时区为上海 在 Linux 系统中&#xff0c;我…

2 事务讲解

第一个问题 就是 监听与实例 由于我们的ORACLE的客户端也好,ORACLE服务端也好,如果想要正常将两端连接上,必然产生会话(SESSION),而SEESION是SQL上传的唯一途径。 只要涉及到会话就一定包含了TCP/IP协议。而我们的ORACLE数据库将原本的TCP/IP协议进行了更好的封装,产生了…

React SSR同构渲染方案是什么?

一、背景 目前主流的前端架构分为SSR、CSR、SSG&#xff0c;比较适合首屏直出的方案除了CSR都还不错&#xff0c;因为服务端会直接返回路由对应的html css&#xff0c;浏览器直接解析DOM即可&#xff0c;而水合的作用是什么&#xff1f;服务端首次返回的是静态页面&#xff0…

【1/2, 2/3, 3/5, 5/8, 8/13, ...写一个函数,计算以下数列的前10项之和,在主函数中调用该函数并输出结果。】2022-5-19

缘由这个c程序怎么编写呀-编程语言-CSDN问答 int fm 2, fz 1, zz 0, x 0; double jg 0;while (x < 10)cout << x << ":" << fz << "/" << fm << "\n",jg 1.0*fz / fm, zz fz, fz fm, fm zz;cou…

基于51单片机的简易售货机系统

目录 具体实现功能 设计介绍 资料内容 全部内容 资料获取 具体实现功能 具体功能&#xff1a; &#xff08;1&#xff09;售货机上电后显示商品信息&#xff0c;具有5种商品&#xff0c;可以按键选择商品&#xff0c;选择后进入付款界面&#xff1b; &#xff08;2&#…

线性回归原理推导与应用(九):逻辑回归多分类问题的原理与推导

普通的逻辑回归只能针对二分类问题&#xff0c;也就是分类结果为是和不是&#xff0c;好和不好等问题&#xff0c;而实际应用中还会有多分类的问题&#xff0c;例如金融行业信用评分中需要将用户分为好&#xff0c;中&#xff0c;差三类&#xff0c;对企业信用评级要划分为低风…

JPA将大数据量的Excel文件导入到数据库中

在日常的数据处理中&#xff0c;经常碰到Excel的数据&#xff0c;需要将Excel的数据导入到数据库中。 Excel数据的预处理 将sheet分拆为不同的文件 如果一个文件中有太多的sheet&#xff0c;在处理的时候&#xff0c;对计算机的内存要求很高&#xff0c;为了避免内存崩溃。预…

异步爬虫---

代码结构分析 这是一个同步新闻爬虫程序&#xff0c;主要包含以下几个部分&#xff1a; 们把爬虫设计为一个类&#xff0c;类在初始化时&#xff0c;连接数据库&#xff0c;初始化logger&#xff0c;创建网址池&#xff0c;加载hubs并设置到网址池。 爬虫开始运行的入口就是r…