【Spring AI】05. 向量数据库-Chroma

Chroma

本节将指导您如何设置 Chroma VectorStore ,并使用组件进行存储文档嵌入向量相似性检索

Chroma Container

什么是 Chroma?


Chroma 是开源的嵌入向量数据库。它提供了文档嵌入向量、内容和元数据存储,并配备了通过这些嵌入向量进行搜索的工具,包括元数据过滤。

先决条件

  1. OpenAI 账户:在 OpenAI Signup 注册并在 API Keys 生成令牌。
  2. 访问 ChromeDB。后面会介绍如何使用 Docker 容器在本地启动 ChromaDB。
    在启动时,如果尚未预配完全,则ChromaVectorStore会创建所需的组件。

配置

要设置 ChromaVectorStore,您需要提供您的 OpenAI API 密钥。请将其设置为环境变量,如下所示:

export SPRING_AI_OPENAI_API_KEY='Your_OpenAI_API_Key'

依赖项

将这些依赖项添加到您的项目中:

  • OpenAI:用于计算嵌入的必需项。
    <dependency>
       <groupId>org.springframework.ai</groupId>
       <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
    </dependency>
    * Chroma VectorStore
    <dependency>
      <groupId>org.springframework.ai</groupId>
      <artifactId>spring-ai-chroma-store</artifactId>
    </
### Chroma 向量数据库介绍 Chroma 是一款专为支持索引工作流而设计的向量数据库,能够从 LangChain 数据加载器无缝对接到向量存储库[^1]。这种特性使得 Chroma 成为了处理复杂数据结构的理想选择。 #### 主要特点 - **高效的数据检索**:通过优化后的索引机制,能够在海量数据集中快速定位目标条目。 - **灵活的工作流程集成**:易于与其他工具和服务相结合,特别是那些涉及自然语言处理的任务。 - **强大的扩展能力**:可以根据实际需求轻松调整规模大小,适应从小型项目到大型企业级应用的不同场景。 #### 安装指南 对于希望尝试 Chroma 的开发者来说,安装过程相对简单: ```bash pip install chromadb ``` 此命令会自动获取并设置好所有必要的依赖项,以便立即开始使用该软件包。 #### 基本操作示例 下面是一个简单的 Python 脚本片段,展示了如何创建一个新的集合并向其中添加一些文档: ```python import chromadb client = chromadb.Client() # 创建新的集合 collection_name = "example_collection" new_collection = client.create_collection(name=collection_name) # 添加文档至集合内 documents_to_add = [ {"id": "doc_0", "text": "This is an example document."}, {"id": "doc_1", "text": "Another piece of text here."} ] for doc in documents_to_add: new_collection.add_document(doc["id"], doc["text"]) ``` 这段代码首先初始化了一个客户端实例,接着定义了一个名为 `example_collection` 的新集合,并最终往里面加入了两条记录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值