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

巩义网站建设方案表手机端网站开发书籍

巩义网站建设方案表,手机端网站开发书籍,济南做网站最好的单位,国内国际十大新闻Spring AI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案#xff0c;它在AI应用中扮演着至关重要的角色。以下是对Spring AI VectorStore的详细解析#xff1a; 一、VectorStore的基本概念 定义#xff1a;VectorStore特别适用于处理那些经过嵌入…Spring AI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案它在AI应用中扮演着至关重要的角色。以下是对Spring AI VectorStore的详细解析 一、VectorStore的基本概念 定义VectorStore特别适用于处理那些经过嵌入模型转化后的数据。在VectorStore中查询与传统关系数据库不同它执行的是相似性搜索而非精确匹配。当给定向量作为查询时它会返回与查询向量“相似”的向量。应用场景VectorStore主要用于将数据与AI模型集成。它存储并支持对这些向量的相似性搜索为AI模型提供丰富的上下文信息从而实现更精确、更智能的回复。这种技术被称为检索增强生成Retrieval Augmented GenerationRAG。 二、VectorStore的核心接口 Spring AI框架通过VectorStore接口为向量数据库交互提供了抽象化的API。VectorStore接口定义了以下核心操作 添加文档void add(List documents)将文档添加到向量数据库中。删除文档Optional delete(List idList)从向量数据库中删除指定ID的文档。相似性搜索 List similaritySearch(String query)根据查询字符串进行相似性搜索返回相似的文档列表。List similaritySearch(SearchRequest request)根据SearchRequest对象进行更复杂的相似性搜索。其中SearchRequest对象允许开发者微调相似性搜索的参数如指定要返回的相似文档的最大数量topK、相似度阈值threshold以及基于元数据的过滤表达式filterExpression。 三、VectorStore的使用流程 数据准备在将文档存储到向量数据库之前需要先将文档内容转换为向量嵌入。Spring AI框架支持多种嵌入模型如Word2Vec、GLoVE、BERT以及OpenAI的text-embedding-ada-002等。开发者可以根据自己的需求选择合适的嵌入模型。文档嵌入利用Spring AI框架提供的EmbeddingClient将文档转换为向量嵌入。存储到VectorStore将转换后的向量嵌入存储到VectorStore中。相似性搜索当用户发起查询时Spring AI框架会自动将查询字符串转换为向量并在VectorStore中执行相似性搜索返回与查询向量最相似的文档列表。AI模型处理将这些相似的文档作为用户问题的上下文信息与用户的查询一起发送到AI模型中进行处理从而实现更精确、更智能的回复。 四、Spring AI与VectorStore的集成案例 以基于Spring AI框架的聊天机器人项目为例该项目需要实现根据用户提供的文档数据进行回复的功能。由于对话有最大Token的限制无法直接将所有的数据发给AI模型进行处理。因此决定采用数据向量化的方式将文档数据存储到VectorStore中并在用户发起对话之前从VectorStore中检索一组相似的文档作为上下文信息。具体实现步骤如下 引入依赖在项目的pom.xml文件中引入Spring AI框架以及向量数据库相关的依赖。配置VectorStore在application.properties或application.yml文件中配置VectorStore的连接信息以及嵌入模型等参数。创建文档嵌入服务利用Spring AI框架提供的EmbeddingClient将文档转换为向量嵌入并存储到VectorStore中。实现相似性搜索在用户发起对话之前从VectorStore中检索一组相似的文档作为上下文信息。整合AI模型将检索到的上下文信息与用户的查询一起发送到AI模型中进行处理并返回处理结果给用户。 五、VectorStoreES8 1、添加依赖 首先在Spring Boot项目的构建文件中如pom.xml对于Maven项目或build.gradle对于Gradle项目添加Elasticsearch客户端的依赖。由于Spring AI框架可能不直接支持Elasticsearch作为VectorStore需要使用Elasticsearch的Java客户端库来与Elasticsearch进行交互。 !-- Maven 示例 -- dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-elasticsearch-store/artifactIdversion${spring-ai.version}/version/dependencydependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-elasticsearch-store-spring-boot-starter/artifactIdversion${spring-ai.version}/version/dependency2、配置Elasticsearch连接 在Spring Boot的配置文件中如application.properties或application.yml配置Elasticsearch的连接信息包括集群地址、端口和可能的认证信息。 spring:profiles:active: druidelasticsearch:uris: http://127.0.0.1:9200/ #请改成自己的路径ai:ollama:base-url: http://localhost:11434embedding:model: llama3.2vectorstore:elasticsearch:initialize-schema: true #请不要修改此配置index-name: zixiai #这是 zixiai 默认的索引请不要修改或删除dimensions: 2048 #不要修改这个配置与具体大模型本身的维度参数有关系similarity: cosinebatching-strategy: TOKEN_COUNT 3、业务代码 Overridepublic String embed(String msg, SetString fileIds) {log.debug(embedding... {}, msg);SetString finalFileIds (fileIds null) ? new HashSet() : fileIds;ListDocument st vectorStore.similaritySearch(SearchRequest.builder().query(msg).topK(5).build()); // .similaritySearch(SearchRequest.query(msg).withTopK(5));// 首先查询向量库String promptContent null;if (!CollectionUtils.isEmpty(st)) {promptContent st.stream().filter(doc - {if (CollectionUtils.isEmpty(finalFileIds)) {return true;}Object fileIdObject doc.getMetadata().get(file_id);String docFileId fileIdObject ! null ? fileIdObject.toString() : null;return finalFileIds.contains(docFileId);}).map(Document::getText).filter(StringUtils::hasText).collect(Collectors.joining( ));}// 确保 promptContent 不为空if (!StringUtils.hasText(promptContent)) {promptContent No information found in the database.;}log.debug(Prompt content: {}, promptContent);return chatClient.prompt(promptContent).user(msg).call().content();}详细样例代码样例 综上所述Spring AI中的 VectorStore为开发者提供了高效、灵活的向量数据存储与检索解决方案。通过集成VectorStore开发者可以轻松实现AI应用中的相似性搜索功能从而提升应用的智能化水平和用户体验。
http://www.w-s-a.com/news/274759/

相关文章:

  • 郑州市城市建设管理局网站制作公司网站 优帮云
  • 网站开发 瀑布结构普陀网站建设
  • 12380网站建设情况汇报plone vs wordpress
  • c 网站开发数据库连接与wordpress类似的都有哪些
  • 状元村建设官方网站长春做网站seo的
  • 做金融资讯网站需要哪些牌照海珠营销型网站制作
  • 学做网站需要买什么书手机网络
  • 寻找做电影网站团队合作西宁网站建设君博首选
  • 兴仁县城乡建设局网站爱站关键词查询
  • 漳州网站建设公司推荐wordpress更改主机
  • c2c商城网站建设方案英文网站注册
  • 电子商务网站的运营一般需要做哪些准备宣传片拍摄思路
  • 网站建设网页制作百度怎么做自己网站
  • 建设设计网站公司巴州建设局网站
  • 淘宝建设网站的好处韶关市网站建设招标
  • 佛山高端网站免费招聘网站建设
  • 申请网站就是做网站吗wordpress tag 优化
  • 建站系统排行榜菏泽机关建设网站
  • 网站群建设费用科技通信网站模板下载
  • 网站开发的流程是怎样的自己做自媒体在哪个网站比较好
  • 网站的html代码在哪网页线上开发制作
  • 免费商用自媒体图片网站做网站好的公司有哪些
  • 阿雷网站建设公司中国建筑考试网官网首页
  • 厦门网站制作网页无法跳转到建设银行网站
  • 怎么建设自己网站简述网页布局的几种方法
  • 软文营销文案100篇如何优化搜索引擎的搜索功能
  • 做网站创意杭州家具网站建设方案
  • 福州seo网站推广优化乐清建网站
  • 莆田cms建站模板简述网站设计流程
  • 班级网站建设组织机构建设注册中心网站首页