use embeddings stored in vector db to reduce work for LLM generating response

题意:使用存储在向量数据库中的嵌入来表示,以减少大型语言模型(LLM)生成响应的工作量。

问题背景:

I'm trying to understand what the correct strategy is for storing and using embeddings in a vector database, to be used with an LLM. If my goal is to reduce the amount of work the LLM has to do when generating a response, (So you can think of a RAG implementation where I've stored text, embeddings I've created using an LLM, and metadata about the text.) I'm then trying to generate responses using say openai model from queries about the data, and I don't want to have to spend a bunch of money and time chunking up the text and creating embeddings for it every time I want to answer a query about it.

我正在尝试理解在向量数据库中存储和使用嵌入的正确策略,以便与大型语言模型(LLM)一起使用。如果我的目标是减少LLM在生成响应时所需的工作量(你可以想象一个RAG实现,其中我存储了文本、使用LLM创建的嵌入以及关于文本的元数据),那么我试图通过使用例如OpenAI模型从关于数据的查询中生成响应,并且我不想每次想要回答关于数据的查询时都花费大量金钱和时间来分割文本并为其创建嵌入。

If I create a vector database, for example a chroma database and I use an LLM to create embeddings for a corpus I have. I save those embeddings into the vector database, along with the text and metadata. Would the database use those embeddings I created to find the relevant text chunks, or would it make more sense for the vector database to use it's own query process to find the relevant chunks (not using the embeddings the LLM created)?

如果我创建一个向量数据库,例如一个色度数据库,并使用一个大型语言模型(LLM)来为我已有的语料库创建嵌入表示。我将这些嵌入表示与文本和元数据一起保存到向量数据库中。那么,这个数据库会使用我创建的这些嵌入表示来找到相关的文本片段,还是让向量数据库使用它自己的查询过程来找到相关片段(而不是使用LLM创建的嵌入表示)会更合理呢?

Also do I want to pass the embeddings from the vector database to the LLM to generate the response, or do I pass the text that the vectore database found was most relevant to the LLM along with original text query so the LLM can then generate a response?

此外,我是否应该将向量数据库中的嵌入表示传递给大型语言模型(LLM)以生成响应,还是将向量数据库找到的最相关的文本与原始文本查询一起传递给LLM,以便LLM可以据此生成响应?

问题解决:

You'll initially chunk up your own content, create vector embedding using any embedding model (of your choice) and persist them to a vectore store (of your choice). Later, using techniques like prompt engineering, you will ask your questions to interact with your own proprietary data that is stored within the vector store to help find insights. During this process, your question/ask will need to be converted to embeddings (this is where embedding model comes in) to be able to sent to the vector store, which will in-turn use those embeddings to figure out the nearest / closest responses (see benefits of vector search) based on the corpus of data and will return back responses. One will then use these responses and pass it on the OpenAI (can be substituted w/ others of your choice) to prepare the final response.

首先,你需要将自己的内容切分成块,使用任何嵌入模型(你选择的)创建向量嵌入,并将它们保存到向量存储(你选择的)中。之后,通过诸如提示工程等技术,你可以向存储在向量存储中的专有数据提出问题以获取洞察。在这个过程中,你的问题/查询需要被转换为嵌入表示(这就是嵌入模型发挥作用的地方),以便能够发送到向量存储。向量存储将使用这些嵌入表示,基于数据语料库来确定最接近/最相关的响应(这就是向量搜索的优势),并返回这些响应。然后,你将使用这些响应,并将其传递给OpenAI(也可以替换为你选择的其他模型)以准备最终响应。

Would the database use those embeddings I created to find the relevant text chunks...

数据库会使用我创建的这些嵌入表示来找到相关的文本片段...

Yes, the vector store will use the vector embeddings to find the relevant match based on your input embedding

是的,向量存储将使用向量嵌入来根据你输入的嵌入表示找到相关的匹配项。

Also do I want to pass the embeddings from the vector database to the LLM to generate the response, or do I pass the text that the vectore database found was most relevant to the LLM along with original text query so the LLM can then generate a response?

另外,我是否应该将向量数据库中的嵌入表示传递给大型语言模型(LLM)以生成响应,还是将向量数据库找到的最相关的文本与原始文本查询一起传递给LLM,以便LLM可以据此生成响应?

With techniques like RAG, you would pass the text (using own proprietary data corpus) that the vector database found as relevant to the LLM to generate the final resposne.

使用如RAG(Retrieval-Augmented Generation)这样的技术,你会将向量数据库找到的相关文本(使用你自己的专有数据语料库)传递给大型语言模型(LLM),以生成最终响应。

You could check out some techniques as highlighted here to see how to build GenAI apps to take some inspiration.

你可以查看这里提到的一些技术,看看如何构建生成式人工智能(GenAI)应用,以获取一些灵感。

I hope that helps.        希望这有所帮助。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

el-select多选超过两个选项省略

前言 相信大家都遇到过这种情况:Element下拉框多选的时候有个毛病,就是选的数量过多就会把下拉框撑高,从而影响布局;但是如果使用了里面collapse-tags属性,element设置的只显示一个,超过一个就隐藏省略了&…

【Java】微博系统设计:怎么应对热点事件的突发访问压力?

一、问题解析 微博(microblog)是一种允许用户即时更新简短文本(比如140个字符),并可以公开发布的微型博客形式。今天我们就来开发一个面向全球用户、可以支持10亿级用户体量的微博系统,系统名称为“Weitte…

PyCharm左侧项目区域出现淡黄色背景如何解决

PyCharm左侧项目区域出现淡黄色背景如何解决 解决方法: 1、打开pycharm 文件 - > Setting-> 项目 -> 项目结构 2、添加内容根 为 你的项目根目录即可恢复

OpenCV使用forEach的方式来遍历像素值

opencv 4.x新增了forEach的方式遍历像素值&#xff0c;比传统方式略快一些。因为它本身是使用多线程并行的方法来遍历的。从opencv源码能看到这句话&#xff1a; parallel_for_(cv::Range(0, LINES), PixelOperationWrapper(reinterpret_cast<Mat_<_Tp>*>(this), …

iOS之如何创建.a静态库

番外&#xff1a;想要查看如何创建.framework静态库可前往看我​​​​​​​iOS之如何创建.framework静态库-CSDN博客这篇文章。 一、创建静态库项目 ①、打开 Xcode 并创建一个新的 Xcode 项目。 ②、选择 "macOS" -> "Framework & Library" -&…

idea的代码提示插件使用记录

安装ai插件卸载之后&#xff0c;偶尔还是idea一直占用100%&#xff0c;将idea缓存全清理了&#xff0c;重新生成之后就正常了 idea官方插件 下面几个感觉…基本没有感觉 按行提示的偶尔有提示&#xff0c;&#xff08;cpu占用不小&#xff0c;提示不强&#xff09; 缺点&am…

一个易于使用、与Android系统良好整合的多合一游戏模拟器

大家好&#xff0c;今天给大家分享的是一个易于使用、与Android系统良好整合的多合一游戏模拟器 Lemuroid。 Lemuroid 是一个专为Android平台设计的开源游戏模拟器项目&#xff0c;它基于强大的Libretro框架&#xff0c;旨在提供广泛的兼容性和卓越的用户体验。 项目介绍 Lem…

AI在落地企业应用时的“数据幻觉”缘何这么难解决一谈LORA微调与数据质量处理之争

开篇 近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;越来越多的企业开始将AI落地应用于业务中。然而&#xff0c;不可忽视的是&#xff0c;企业在落地LLM RAG系统时&#xff0c;常常面临一个令人头痛的问题——数据幻觉。 就像透过雾霭的眼睛,看到了一片迷人的景…

ClickHouse-Keeper安装使用

1.rpm 安装 clickhouse-keeper rpm -ivh clickhouse-keeper-23.8.11.28.x86_64.rpm 2.修改keeper的配置文件 vi /etc/clickhouse-keeper/keeper_config.xml修改部分参数 1.可修改日志等存储路径 2.增加监听配置 <listen_host>0.0.0.0</listen_host> 3.server_id…

pycharm terminal终端不能激活 conda 虚拟环境,解决方法

# 1. 确保执行策略已更改 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser# 2. 初始化Conda conda init powershell# 3. 重启PowerShell# 4. 验证Conda初始化 conda --version# 5. 激活Conda环境 conda activate shi_labelme关闭所有的终端&#xff0c;然后重新打开新的终…

为招聘人员安排面试的最佳工具

时间对每个招聘人员来说都是宝贵的资源。令人震惊的是&#xff0c;67%的受访者表示&#xff0c;面试需要30分钟到2个小时。56%的企业在招聘团队中包括负责面试安排的人。显然&#xff0c;面试安排是招聘过程的重要组成部。 使用调度软件免费自动检测调度矛盾&#xff0c;并建议…

低空经济再获新动能!沃飞长空完成新一轮数亿元融资

当下&#xff0c;作为中国"新质生产力"代表的低空经济正在成为新的发展“风口”&#xff0c;全国各地开足马力加速入场。 低空经济有多“火”&#xff1f;政策方面&#xff0c;据不完全统计&#xff0c;已有26个省份的政府工作报告对发展低空经济作出部署&#xff1…

使用k8s变更线上版本号

第一步&#xff0c;在镜像仓库中找到历史版本号 第二步&#xff0c;在rancher中在工作负载里 第三步&#xff0c;在rancher找到这个版本号&#xff0c;可以更改之前的版本号 这样就可以很方便的退回到之前的版本了

Linux 安装 MySQL 8.0.26

1、MySQL 8.0.26 下载 官方网站下载 MySQL 8.0.26 安装包&#xff0c;下载地址&#xff1a;mysql8.0.26 本案例采用Linux 64位操作系统进行讲解&#xff0c;通过wget命令下载安装包。 使用df -lh命令查看&#xff0c;磁盘大小&#xff0c;尽量安装在比较大的磁盘下&#xff0c…

3Dmax模型渲染时的常见问题与解决方法

3Dmax是一个广为人知的三维建模工具&#xff0c;它在建筑、电影制作和游戏开发等多个领域都有着广泛的应用。尽管如此&#xff0c;在进行3Dmax模型渲染的过程中&#xff0c;用户可能会遇到一些常见问题。本文将提供这些常见问题的解决方案&#xff0c;以帮助用户提高渲染效率和…

是真的吗,不会代码也能开发一款AI应用?GPTs让人梦想成真

去年&#xff0c;11月6日&#xff0c;Open AI进行了一场开发者大会&#xff0c;在这场开发者大会中&#xff0c;Open AI推出了最新的GPTS。 对于这样的一个新鲜事物&#xff0c;心中难免有很多疑问&#xff0c;比如&#xff1a; 什么是GPTs&#xff1f; 如何才能使用GPTs&…

Java鲜花下单预约系统源码小程序源码

让美好触手可及 &#x1f338;一、开启鲜花新篇章 在繁忙的都市生活中&#xff0c;我们总是渴望那一抹清新与美好。鲜花&#xff0c;作为大自然的馈赠&#xff0c;总能给我们带来无尽的惊喜与愉悦。但你是否曾因为工作繁忙、时间紧张而错过了亲自挑选鲜花的机会&#xff1f;今…

程序的调试技术,设置断点

断点&#xff08;break point&#xff09;是指在代码中指定位置&#xff0c;当程序运行到此位置时变中断下来&#xff0c;并让开发者可查看此时各变量的值。因断点中断的程序并没有结束&#xff0c;可以选择继续执行。 在程序的调试过程中&#xff0c;设置断点是一个很有用的分…

怎么把图片转成jpg格式?其他格式快速转换成jpg图片的方法

怎么把图片在线转jpg&#xff1f;jpg格式的图片是现在使用最广泛的一种图片格式&#xff0c;一般在网上传图时都会需要使用jpg格式的图片&#xff0c;那么当手中的图片不满足使用的要求时&#xff0c;如何操作能够快速将其他格式的图片转换jpg格式呢&#xff1f; 下面来教大家…

基于Boost和平均电流控制方法的APFC电路设计

通过学习无线充电相关知识&#xff0c;为更快熟悉APFC工作原理&#xff0c;通过实验得以掌握 技术要求&#xff1a; 1&#xff09;输入电压&#xff1a;AC 85V&#xff5e;265V&#xff1b; 2&#xff09;输出电压&#xff1a;400V1%&#xff1b; 3&#xff09;输出额定电流…