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

spring Ai---向量知识库(一)

在一些垂直领域以及公司内部信息相关或者实时性相关的大模型应用,就无法直接使用chatGPT。
这个时候,向量知识库就进入了。
通过坐标向量最接近的即为匹配相关答案。
向量模型定义:将文档向量化,保证内容越相似的文本,在向量空间中距离越近;
第一步:引入依赖

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

测试输入一段文本,被存储在里面的坐标

 float[] textFlot = openAiEmbeddingModel.embed("我是中国人");System.out.println("输出"+ Arrays.toString(textFlot));

第二步,配置:

      embedding:options:model: text-embedding-v3dimensions: 1024

存储文档的可以用redis, es等;
对于API调用层,都是如下的调用方法
在这里插入图片描述
本次案例使用自带的SimpleVectorStore

    @Beanpublic VectorStore vectorStore(OpenAiEmbeddingModel embeddingModel) {return SimpleVectorStore.builder(embeddingModel).build();}

第三步:实现测试
我们需要先将文档转为Document,存入向量库

        // 1.创建PDF的读取器PagePdfDocumentReader reader = new PagePdfDocumentReader(resource, // 文件源PdfDocumentReaderConfig.builder().withPageExtractedTextFormatter(ExtractedTextFormatter.defaults()).withPagesPerDocument(1) // 每1页PDF作为一个Document.build());// 2.读取PDF文档,拆分为DocumentList<Document> documents = reader.read();// 3.写入向量库vectorStore.add(documents);

然后进行组装搜索

    SearchRequest request = SearchRequest.builder().query("论语中教育的目的是什么").topK(1).similarityThreshold(0.6).filterExpression("file_name == '知识笔记.pdf'").build();

最后通过调用接口搜索

 List<Document> docs = vectorStore.similaritySearch(request);

以上就实现了一个简单的自带存储PDF,然后进行向量接口搜索的demo

相关文章:

  • [Java · 初窥门径] Java API 文档使用说明
  • 青少年编程与数学 02-016 Python数据结构与算法 29课题、自然语言处理算法
  • 【家政平台开发(60)】数据驱动:数据分析与应用深度解析
  • 边生成边训练:构建合成数据驱动的在线训练系统设计实战
  • Cache优化原则
  • MCP协议用到的Node.js 和 npm npx
  • 【SAP ME 45】并发SFC拆分导致 SFC_STEP中的QTY_IN_QUEUE与SFC表中的QTY不一致
  • 【Flutter动画深度解析】性能与美学的完美平衡之道
  • PrintWriter 类详解
  • Python:使用web框架Flask搭建网站
  • php实现zip压缩
  • 作业2 CNN实现手写数字识别
  • C++入门小馆: 深入string类
  • 藏品馆管理系统
  • Spring Boot 中基于 Reactor 的服务器端事件(SSE)推送机制实践
  • Linux系统:详解进程等待wait与waitpid解决僵尸进程
  • TensorFlow 实现 Mixture Density Network (MDN) 的完整说明
  • 【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(16):ReactExecutor
  • 蓝桥杯之递归
  • Python异常处理
  • 文旅部:加强对景区索道、游船等设施设备安全隐患排查整治
  • 印巴矛盾已达近年“最高点”:军政经文全面紧张,巴将向联合国通报局势
  • Neuralink脑接设备获FDA突破性医疗设备认证
  • 五一假期,新任杭州市委书记刘非到嘉兴南湖瞻仰红船
  • 首都航空:太原至三亚航班巡航阶段出现机械故障,已备降南宁机场
  • 习近平给谢依特小学戍边支教西部计划志愿者服务队队员的回信