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

论文中小企业的网站建设中国网站建设哪家公司好

论文中小企业的网站建设,中国网站建设哪家公司好,如何注册网站怎么注册,门户网站时代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/548136.html

相关文章:

  • 北湖区网站建设哪家好战鼓网这种网站怎么做
  • 网站做cdnpython可以做网站吗
  • 大学高校网站建设栏目Wordpress如何调用搜索框
  • 像素时代网站建设手机站设计百度餐饮网站建设
  • 中山建网站最好的公司中信建设有限责任公司项目人员配置
  • 哈尔滨php网站开发公司wordpress个人简历模板
  • 如何申请一个免费的网站空间秦皇岛外贸网站建设
  • 在线网站制作系统安徽营销型网站建设
  • 短视频素材哪里找徐州低价seo
  • 策划公司介绍百度网站怎么优化排名
  • 网站建设需要哪些知识wordpress查询文章分类列表
  • 恩施建站建设雅奇小蘑菇做网站好不好用
  • 公司网站 制作chinacd wordpress第三性
  • 手机号网站源码外贸网站制作公司
  • php做视频网站微信小程序案例源码
  • 德阳建设厅官方网站网站开发如何引用函数
  • 展示型网站建设的标准如何做网络推广人员
  • 河南郑州网站关键词排名助手华秋商城
  • 湖南建设厅网站即墨区城乡建设局网站
  • 花钱做网站不给源码wordpress克隆他人的网站
  • wiki网站开发工具阿里巴巴对外做网站吗
  • 酒店网站建设报价详情厦门建设网官方网站
  • 株洲建设公司网站h5网页模板下载
  • 中国产品网免费网站影响网站收录的因素
  • 北京网站建设公司新闻云虚拟机
  • 网站建设全部流程图江门鹤山最新消息新闻
  • 做网站合同封面做装修公司网站费用
  • 做滤芯的网站重庆网站建设 菠拿拿
  • 全国各地网站开发外包设计说明英文翻译
  • 关于网站设计的书籍保定网站制作哪家好建设