当前位置: 首页 > wzjs >正文

javaweb网站开发的步骤互联网产品运营推广方案

javaweb网站开发的步骤,互联网产品运营推广方案,html5手机网站开发视频,建设厅企业锁在哪个网站登录Spring AI 前两天(4.10 日)更新了 1.0.0-M7 版本后,原来的 SimpleVectorStore 内存级别的向量数据库就不能用了,Spring AI 将其全部源码删除了。 此时我们就需要一种成本更低的解决方案来解决这个问题,如何解决呢&…

Spring AI 前两天(4.10 日)更新了 1.0.0-M7 版本后,原来的 SimpleVectorStore 内存级别的向量数据库就不能用了,Spring AI 将其全部源码删除了。

此时我们就需要一种成本更低的解决方案来解决这个问题,如何解决呢?我们一起来看。

解决方案:Redis 向量数据库

虽然 SimpleVectorStore 不支持了,但 Spring AI 内置了 Redis 或 ES 作为向量数据库的分布式存储中间件,我们可以用他们来进行向量的存储。

而在这两种方案中,显然 Redis 使用成本更低,因此,我们来看如何将向量存储到 Redis 数据库中。

它的具体实现步骤如下。

安装Redis-Stack

  1. 下载 Docker Hub:https://www.docker.com/get-started/
  2. 安装 redis-stack-server:使用“docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server”。

添加依赖

我们使用阿里云百炼平台的嵌入模型 text-embedding-v3 是兼容 OpenAI 的 SDK 的,因此,我们需要添加 OpenAI 和 Redis Vector 依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-vector-store-redis</artifactId>
</dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>

设置配置信息

配置 Redis 连接信息,以及嵌入模型的配置信息:

spring:data:redis:host: localhostport: 6379ai:vectorstore:redis:initialize-schema: trueindex-name: custom-indexprefix: custom-prefixopenai:api-key: ${ALIYUN-AK}embedding:options:model: text-embedding-v3

阿里云百炼平台支持的向量模型:

代码实现

Redis 添加向量数据

@Autowired
private VectorStore vectorStore;// 构建数据
List<Document> documents =
List.of(new Document("I like Spring Boot"),new Document("I love Java"));
// 添加到向量数据库
vectorStore.add(documents);

当然,向量数据的数据源可以是文件、图片、音频等资源,这里为了简单演示整体执行流程,使用了更简单直观的文本作为数据源。

VectorStore 提供的常用方法如下:

  • add(List documents) :添加文档。
  • delete(List idList) :按 ID 删除文档。
  • delete(Filter.Expression filterExpression) :按过滤表达式删除文档。
  • similaritySearch(String query) 和 similaritySearch(SearchRequest request) :相似性搜索。

执行结果如下:

查询向量数据

@RestController
@RequestMapping("/vector")
public class VectorController {@Resourceprivate VectorStore vectorStore;@RequestMapping("/find")public List find(@RequestParam String query) {// 构建搜索请求,设置查询文本和返回的文档数量SearchRequest request = SearchRequest.builder().query(query).topK(3).build();List<Document> result = vectorStore.similaritySearch(request);System.out.println(result);return result;}
}

执行结果如下:

从上述结果可以看出,和“java”相似度最高的向量为“I love Java”,相似度评分为 0.77,如果我们 SearchRequest 对象中的 topK 设置为 1 的话,只会查询“I love Java”这条数据,如下图所示:

本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、并发编程、MySQL、Redis、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、JVM、设计模式、消息队列、场景题等模块。

http://www.dtcms.com/wzjs/179653.html

相关文章:

  • 免费国外服务器租用seo优化公司
  • 济宁市城市建设局网站windows优化大师怎么样
  • 深圳做网上商城网站关于网络营销的方法
  • 长沙优化网站分析58同城关键词怎么优化
  • 政府门户网站改版升级建设方案域名注册哪个平台比较好
  • 电子商务网站模板免费下载疫情最新消息今天
  • 专业网站制作 广州番禺seo英文
  • 群艺馆网站建设方案惠州百度seo哪家好
  • 厦门网站排名优化价格网站域名ip查询
  • 什么渠道做网站建设宁波网络推广软件
  • 自助建设网站软件软文兼职
  • 怎样建设一个网站赚钱seo报名在线咨询
  • 厦门帮忙建设网站重庆关键词快速排名
  • 网站建设实训个人总结3000字公司注册流程
  • 旅游网站建设方案的总结互联网运营推广公司
  • 长沙专业做网站排名推广优化排名
  • 郫县哪里有做网站的seo黑帽技术有哪些
  • 锡林郭勒盟建设厅官方网站杭州seo排名
  • dw 动态网站商品页怎么做电子商务与网络营销教案
  • dw自己做网站需要什么区别南京市网站
  • 网站制作用的软件有哪些手机网站智能建站
  • 网站优化公司的seo做的好福州seo优化排名推广
  • 扶贫网站建设方案360手机优化大师安卓版
  • 国外域名交易网站企业课程培训
  • 织梦做分销网站百度新闻网页
  • 网站建设公司做销售好不好外贸网站建设平台
  • 公司网站手机版模板营销型网站建设模板
  • 重庆高端网站设计2023最火的十大新闻
  • 营销型网站建设广告语个人自己免费建网站
  • 广州网页设计公司网站珠海网站seo