news 2026/4/16 11:54:59

86_Spring AI 干货笔记之 Chroma 向量存储

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
86_Spring AI 干货笔记之 Chroma 向量存储

一、Chroma

本节将引导您设置 Chroma VectorStore 来存储文档嵌入并执行相似性搜索。

Chroma 是一个开源的嵌入数据库。它为您提供了存储文档嵌入、内容和元数据的工具,以及搜索这些嵌入(包括元数据过滤)的功能。

二、先决条件

访问 ChromaDB:与 Chroma Cloud 兼容,或在附录中设置本地 ChromaDB(展示了如何使用 Docker 容器在本地设置数据库)。

  • 对于 Chroma Cloud:您需要从 Chroma Cloud 仪表板获取您的 API 密钥、租户名称和数据库名称。

  • 对于本地 ChromaDB:除了启动容器外,无需额外配置。

一个 EmbeddingModel 实例来计算文档嵌入。有几种选择:

  • (如果需要)一个用于 EmbeddingModel 的 API 密钥,以生成存储在 ChromaVectorStore 中的嵌入。

启动时,如果尚未配置,ChromaVectorStore 会创建所需的集合。

三、自动配置

Spring AI 自动配置、启动器模块的工件名称发生了重大变化。请参阅升级说明以获取更多信息。

Spring AI 为 Chroma 向量存储提供了 Spring Boot 自动配置。要启用它,请将以下依赖项添加到项目的 Maven pom.xml 文件中:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-vector-store-chroma</artifactId></dependency>

或添加到 Gradle build.gradle 构建文件中:

dependencies{implementation'org.springframework.ai:spring-ai-starter-vector-store-chroma'}

请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建文件中。

请参阅 工件仓库 部分,将 Maven Central 和/或快照仓库添加到您的构建文件中。

向量存储实现可以为您初始化必要的模式,但您必须通过指定相应构造器中的 initializeSchema 布尔值,或在 application.properties 文件中设置 …​initialize-schema=true 来选择加入。

这是一个破坏性变更!在早期版本的 Spring AI 中,此模式初始化是默认发生的。

此外,您需要一个配置好的 EmbeddingModel bean。有关更多信息,请参阅 EmbeddingModel 部分。

以下是一个所需 bean 的示例:

@BeanpublicEmbeddingModelembeddingModel(){// 可以是任何其他 EmbeddingModel 实现。returnnewOpenAiEmbeddingModel(OpenAiApi.builder().apiKey(System.getenv("OPENAI_API_KEY")).build());}

要连接到 Chroma,您需要提供实例的访问详细信息。可以通过 Spring Boot 的 application.properties 提供简单的配置:

# Chroma 向量存储连接属性spring.ai.vectorstore.chroma.client.host=<您的 Chroma 实例主机># 对于 Chroma Cloud:api.trychroma.comspring.ai.vectorstore.chroma.client.port=<您的 Chroma 实例端口># 对于 Chroma Cloud:443spring.ai.vectorstore.chroma.client.key-token=<您的访问令牌(如果配置)># 对于 Chroma Cloud:使用 API 密钥spring.ai.vectorstore.chroma.client.username=<您的用户名(如果配置)>spring.ai.vectorstore.chroma.client.password=<您的密码(如果配置)># Chroma 向量存储租户和数据库属性(Chroma Cloud 必需)spring.ai.vectorstore.chroma.tenant-name=<您的租户名称>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:22:43

蚂蚁最新8B小模型拿下SOTA

前言 在大模型技术日趋同质化的今天&#xff0c;算力堆砌和参数规模已不再是决定产品成败的核心变量。真正的竞争焦点&#xff0c;正在悄然转向一个更本质的问题&#xff1a;如何让AI系统精准理解并服务每一个具体的用户&#xff1f;过去十年&#xff0c;推荐系统和对话模型依…

作者头像 李华
网站建设 2026/4/16 9:24:02

来自 Nimbus-7 SMMR 和 DMSP SSM/I-SSMIS 被动微波数据的海冰浓度 V002

Sea Ice Concentrations from Nimbus-7 SMMR and DMSP SSM/I-SSMIS Passive Microwave Data V002 简介 该数据集由亮温数据生成&#xff0c;旨在提供涵盖多个被动微波仪器观测范围的连续海冰浓度时间序列。数据采用极地立体投影&#xff0c;网格单元大小为 25 x 25 公里。数据…

作者头像 李华
网站建设 2026/4/16 9:22:47

程序员如何从 0 到 1 自己开发一个 AI Agent?

程序员如何从 0 到 1 自己开发一个 AI Agent? ——偏工程、偏实战的保姆级指南 一句话结论: 自己开发一个 AI Agent,最关键的不是模型多强,而是—— 选一个具体场景,用成熟工具链,把“想法”变成“能自动干活的程序”。 这篇文章不是 AI 科普文,也不是产品说明书,而是…

作者头像 李华
网站建设 2026/4/16 9:21:38

大数据毕设选题推荐:基于Hadoop的某篮球队各个球员数据分析系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 11:13:50

jsp二手车评估检测平台系统90i84程序+源码+数据库+调试部署+开发环境

本系统&#xff08;程序源码数据库调试部署开发环境&#xff09;带论文文档1万字以上&#xff0c;文末可获取&#xff0c;系统界面在最后面。 系统程序文件列表 用户,检测师傅,汽车品牌,二手车信息,师傅信息,预约信息,取消预约,完成订单,关于我们 开题报告内容 一、研究背景…

作者头像 李华
网站建设 2026/4/15 8:34:32

例说FPGA:可直接用于工程项目的第一手经验【3.0】

12.ycbcr2rgb.v模块代码解析 该模块的内部功能框图如图12-40所示。YCrCb输入视频流经过该模块内部缓存排序、乘累积运算(放大256倍)、加法运算以及溢出与缩小(256倍)处理后,输出RGB视频流。 在视频图像显示、处理时,采用的颜色空间主要有RGB和YCrCb两种。RGB基于三基色…

作者头像 李华