分享好友 最新动态首页 最新动态分类 切换频道
Springboot RAG 一站式混合搜索方案
2024-12-26 11:58

第一章 Springboot RAG 一站式混合搜索方案

Springboot RAG 一站式混合搜索方案



最近在做一个政策类查询的RAG方案,做成一站式可以快速使用的方案。
数据库是PG, PGVector作为向量数据库,采用Hybrid Search方法来同时匹配向量和其他字段。
项目采用Springboot 作为后端;大模型相关的,使用到的API有Chatgpt, moonshot, qwen,讯飞星火等不同厂家的方案。
该方案从产品方面来考虑,可扩展性,可便利性等没有太多考虑;从单个项目来说,算是一个可用的方案。
Spring AI 支持所有主要的模型提供商,如 OpenAI、Microsoft、Amazon、Google 和 Huggingface;国内的大模型还没有支持,国内大模型的API的返回,有几个是兼容OpenAI的,另外一些是不兼容的,需要做不少工作来完全兼容。这是后面可以优化的方向,做成一个统一的接口,便于系统维护和更多人的上手使用。

系统的数据库采用PG, 文本也是放在一个text字段中,用PG自带的全文检索,同时把向量匹配也放到一起过滤,所以向量数据库采用PGVector。

PGVector的安装有很多写的详细的过程,这里略过。

PostgreSQL 全文检索:PostgreSQL 自带的全文检索功能可以使用 tsvector 和 tsquery 数据类型,通过分词和倒排索引来实现语义搜索的基本需求。
Zhparser 分词插件:对于中文文本,可以使用 PostgreSQL 的 Zhparser 插件进行中文分词,结合全文检索功能实现语义搜索。

系统里面使用SpringBoot, MyBatisPlus的方式来,目前MyBatisPlus本身并不支持PGVector。需要增加一个PGVector的方式
PGVector有项目https://github.com/pgvector/pgvector-java.git, 实现过程中参考该项目来实现PGVector(也可以参考SpringAI项目对PGVector支持)

 
 
 

MyBatisConfig.java对应修改

 

PGvectorConfiguration.java

 

FaguikuMapper.java

 

FaguikuMapper.xml

 

embeddings 通过Embedding API去获取,可以通过各个大模型的Embedding API,也可以通过部署Embeddings API, 根据huggingface中的排名来选择中文支持较好的Embedding模型


最新文章
活动回顾 | “心航向”职业生涯规划工作坊
“心航向”职业生涯规划工作坊— 活 动 回 顾 —在职业道路的选择上,明确的方向和明智的规划是成功的关键。2024年12月7日,浙江大学心理与行为科学系在海纳苑3幢417室举办了一场意义深远的“心航向”职业生涯规划工作坊,旨在为心理系学子
看过《被困百万年:弟子遍布诸天万界》的人还看过
感谢您对我方的信任,我们将按照法律法规要求,采取严格的安全保护措施,保护您的个人隐私信息。在此,我们郑重的提醒您:1.在您使用我方提供的服务时,建议您详细阅读本用户隐私政策,详细了解我方收集,存储,使用,披露和保护您的个人信
美甲培训如何助力你在教育行业中脱颖而出?
作为一位教育行业从业者,我们都希望自己能够在竞争激烈的市场中脱颖而出。而美甲培训正是一个能够帮助我们实现这一目标的利器。在本文中,我们将从多个角度来阐述美甲培训如何助力我们在教育行业中取得成功。美甲培训不仅仅是教授学员如何
群辉包管理工具 synopkg
因为想安装docker,使用apt-get发现apt-get: command not found,这个的出现是因为系统的原因。Linux系统分为三种:1.RedHat系列:Redhat、Centos、Fedora等2.Debian系列:Debian、Ubuntu等3.其它。RedHat系列的包管理工具是yumDebian系列
网站迁移主机位置,会影响谷歌SEO吗?
在网站运营的广阔天地里,每一次细微的变动都可能牵动SEO的敏感神经。特别是当我们面临网站迁移主机位置这一重大决策时,其对于谷歌SEO的影响无疑是每位站长都关心的问题。基于我多年的实战经验和对行业动态的敏锐洞察,今天,我们就来深入
揭秘:排队免单模式如何快速吸引并留住用户?
揭秘:排队免单模式如何快速吸引并留住用户? 系统源码+商业模式设计+平台运营方案,微三云麦超解读前文引言:微三云温馨提醒:因为市场模式是经常变化的,不可能一个模式长期不变地玩如果系 统没有预留多种多样丰富的奖励模式,一旦满足不
阿里巴巴国际站排名怎么靠前?排名规则介绍
阿里巴巴是一个大型的批发网站,国内很多商家都是在这里进货的,除此之外,阿里巴巴还有一个国际站,面向全球各个国家。若是在阿里巴巴国际站开店,怎么提升排名呢?一、国际站排名怎么靠前?1. 首先是产品的类目要选择正确,怎样确定正确类
这里告诉你视频号广告投放推广怎么做
2022年08月26日陈建贵100资深效果广告开户代运营公司,小红书、B站信息流广告,达人探店种草,抖音千川,腾讯视频号等广告开户代运营日用百货销售;化妆品批发;食品销售(仅销售预包装食品);化妆品零售;新鲜水果零售;互联网销售(除销售需
骗人的!《uuopAPP》是诈骗软件,说我操作失误数据乱了要充钱修复漏洞才给提现怎么办
〖→被骗请点击进入帮助平台提现追款〗〖→被骗请点击进入帮助平台提现追款〗希望阅读此文的读者能够及时采取措施以减少损失;请及时与团队联系提供解决方案(文章上方点击添加技术员咨询快速追回)若想追回损失资产,务必仔细阅读以下内容
超逼真美女写真生成神器!探索AI绘画的宝藏工具攻略
DeepArt:这是一款将你的照片变成艺术风格的AI工具。用户可以上传自己的照片,然后选择不同的艺术风格,DeepArt会根据用户的选择生成俏丽的美女画像。它的优势在于简便易用,适合烧脑不太重的用户。不过,由于是将用户照片转化成艺术画作,
相关文章
推荐文章
发表评论
0评