Chroma向量数据库

news2024/12/23 23:04:09

嵌入向量(vector embedding)是表示任何类型数据的 A.I 原生方式,使它们非常适合与各种 A.I 驱动的工具和算法一起使用。 它们可以表示文本、图像,很快还可以表示音频和视频。 有许多创建嵌入的选项,无论是在本地使用已安装的库,还是通过调用 API。

在这里插入图片描述

推荐:用 NSDT设计器 快速搭建可编程3D场景。

Chroma 是一个用于构建带有嵌入向量的 AI 应用程序的数据库。 它内置了入门所需的一切,并可在你的机器上运行。 托管版本即将推出!

1、安装Chroma数据库

使用如下命令安装Chroma数据库:

pip install chromadb

注意,由于 pytorch的原因,chromadb 目前不支持 Python 3.11

2、获取Chroma Client对象

在Python中使用Chroma的Client对象访问数据库:

import chromadb
chroma_client = chromadb.Client()

3、创建Chroma数据集

接下来使用Python在Chroma中创建一个集合(Collection)。

集合是存储嵌入、文档和任何其他元数据的地方。 可以创建一个具有名称的集合:

collection = chroma_client.create_collection(name="my_collection")

4、向Chroma数据集添加文档

继续添加一些文本文档到集合中,Chroma 将存储文本,并自动处理标记化、嵌入和索引:

collection.add(
    documents=["This is a document", "This is another document"],
    metadatas=[{"source": "my_source"}, {"source": "my_source"}],
    ids=["id1", "id2"]
)

如果已经自己生成了嵌入向量,则可以直接加载:

collection.add(
    embeddings=[[1.2, 2.3, 4.5], [6.7, 8.2, 9.2]],
    documents=["This is a document", "This is another document"],
    metadatas=[{"source": "my_source"}, {"source": "my_source"}],
    ids=["id1", "id2"]
)

5、查询Chroma中的数据

现在可以进行查询了。可以用查询文本列表来查询集合,Chroma 会返回 n 个最相似的结果。 就这么简单!

results = collection.query(
    query_texts=["This is a query document"],
    n_results=2
)

默认情况下,存储在 Chroma 中的数据是短暂的,因此很容易制作原型脚本。 使 Chroma 持久化很容易,因此可以重复使用创建的每个集合,并在以后向其中添加更多文档。 它会在启动客户端时自动加载你的数据,并在关闭时自动保存。


原文链接:Chroma向量数据库 — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Fiddler 微信小程序抓图教程(傻瓜式|汉化版|狗看了直呼内行)

前言 本篇文章主要给大家详细讲解如何用Fiddler爬取微信小程序的图片,内容图文并茂,流程非常简单,我们开始吧。 目录 获取软件并打开点击工具设置相关代理如何抓图答疑总结 一、获取软件并打开 1、通过百度网盘下载获取安装包(链接是永久的…

深度学习学习路线:从入门到精通

深度学习是机器学习的一个分支,已经成为人工智能领域最热门的技术之一。想要深入学习深度学习,需要具备一定的数学和编程基础。以下是一个深度学习学习路线的建议,可以帮助你快速入门深度学习: 数学基础: 线性代数&am…

从模式识别到图像文档分析——浅析场景文本识别研究

目录 一、场景文本识别工作简述二、基于视觉关系预测复杂场景文本识别2.1、FPN骨干网络2.2、文本片段检测模块2.3、候选关系对构建模块2.4、基于关系网络的连接关系预测2.5、损失函数 三、文档图像智能分析与处理前沿研究 文字作为人类语言的书面形式,是文本图像中最…

APP外包项目的线上维护方案

APP的使用已经非常普及,不论是2C还是2B的APP都已经渗透到了我们生活的方方面面,对于APP的开发公司来说APP项目的线上维护是一个非常重要的问题。如果APP项目比较重要而且用户规模比较大,那更需要专业的技术团队来维护。今天和大家分享这方面的…

神经注释精细化:用于肾上腺分析的新3D数据集的开发

文章目录 Neural Annotation Refinement:Development of a New 3D Dataset for Adrenal Gland Analysis摘要本文方法Neural Annotation Refinement 实验结果 Neural Annotation Refinement:Development of a New 3D Dataset for Adrenal Gland Analysis 摘要 人工注释是不完美…

如何将两张图片合成一张,多方式提高10倍效率

如何将两张图片合成一张?在日常工作和生活过程中,图片无处不在。图片能够及时记录当下生活,并且容易保存和传播。随着技术手段的创新和发展,图片质量也在不断提高。如何将多张图片进行有效合并,从而便于保存呢&#xf…

庄懂的TA笔记(十四)<特效:流动 + 扰动>

庄懂的TA笔记(十四)<特效:流动 扰动> 效果展示: 正文: 大纲: 一、增广: 1、排序问题: 造成这个问题的原因是,他在取背景前,小人的胳膊不算是透…

常用的排序算法--JavaScript

1.冒泡排序 这个函数使用了双重循环,第一个循环用于遍历数组中的每个元素,第二个循环用于比较相邻的元素,如果它们的顺序不正确,则交换它们的位置。在每次内部循环之后,最大的元素都会被移到数组的末尾,因此…

MSR015/MSR025低温漂、低功耗电压基准可pin对pin兼容REF015/REF025

MSR015/MSR025 是低温漂、低功耗、高精度 CMOS 电压基准, 具有0.05% 初始精度、低功耗特点。可pin对pin兼容REF015/REF025。该器件的低输出电压迟滞和低长期输出电压漂移特性,进一步提高稳定性和系统可靠性。 此外,器件的小尺寸和低运行电流特…

《一种使用光电容积图和生物特征进行无需校准的非侵入式血压估计方法》阅读笔记

目录 一、论文摘要 二、论文十问 Q1:论文试图解决什么问题? Q2:这是否是一个新的问题? Q3:这篇文章要验证一个什么科学假设? Q4:有哪些相关研究?如何归类?谁是这一…

GB/T25915.1法规基本标准-附 录 B(资料性)等级划分计算

附 录 B(资料性)等级划分计算实例 B.1 示例1 B.1.1 某个洁净室占地面积18m2,规定洁净度级别为动态ISO5级。使用采样流量为28.3L/min的 离散粒子计数器进行分级测试。2个关注粒径分别为:D≥0.3μm 和D≥0.5μm。 查表 A.1,采样点数 NL 为6。 B.1.2 从表1查得ISO5级的粒子浓度…

设计模式梳理

快速回顾 类别名称应用场景例子创建型模式Factory模式共用统一接口AbstactFactory模式共用统一接口Singleton模式只构建一次,每次构建只返回自己Builder模式一步步的进行复杂对象的构建链式构造器,解决复杂对象多个属性可选择性地设置的问题&#xff0c…

【ChatGPT】你会是被AI抢饭碗的那类人吗?

文章目录 前言一、AI替代“基础性工作”,二、AI没有魔法:人类做不到,它也做不到三 人类的恐惧:被替代、被超越四 AI让语言返祖,小语种与文化“濒危灭绝”五 人类的未来,教育何去何从?总结 前言 …

2023/5/9总结

Java基础(3) 1、成员变量和局部变量的区别 2.private关键字 是一个权限修饰符可以修饰成员变量和成员方法作用是保护成员不被别的类使用,被private修饰的成员只能在本类中才能访问 针对private修饰的成员变量,如果需要被其它类使…

缓存穿透、缓存雪崩和缓存击穿

1 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有,每次查询都要去数据库中查询,导致频繁地访问数据库,从而影响系统的性能。攻击者可以利用这一点,对系统进行拒绝服务攻击。 1.1 缓存穿透举例 攻击者…

课程《JavaWeb基础框架程序设计》考试题上篇——基础应用题(计算应用、水仙花数)

文章目录 📋前言🎯第一题(30分)🎯第二题(30分)📝最后 📋前言 这篇文章是大学课程《JavaWeb基础框架程序设计》考试题目的内容,包括了原题和答案。题目只包括…

开关电源基础07:离线式开关电源变压器设计(2)

说在开头:关于那几年 1933年希特勒上台成为德国总理,纳粹党开始了针对犹太人的运动。英国的弗雷德里克.亚历山大.林德曼教授到访柏林,他制定了一份名单,开列的都是处境不妙的犹太科学家,趁机邀请他们离开德国&#xf…

Java EE--多线程(一)

目录 一、认识多线程 1.1 概念 (1) 线程是什么 (2)为啥要有线程? (3) 进程和线程的区别 (4)Java 的线程和操作系统线程的关系 1.2 创建线程 方法1 继承 Thread 类 方法2 实现Runnable接口…

数据结构学习记录——哈夫曼树(什么是哈夫曼树、哈夫曼树的定义、哈夫曼树的构造、哈夫曼树的特点、哈夫曼编码)

目录 什么是哈夫曼树 哈夫曼树的定义 哈夫曼树的构造 图解操作 代码实现 代码解析 哈夫曼树的特点 哈夫曼编码 不等长编码 二叉树用于编码 哈夫曼编码实例 什么是哈夫曼树 我们先举个例子&#xff1a; 要将百分制的考试成绩转化成五分制的成绩 if(score < …

ASEMI代理ADV7391BCPZ原装ADI车规级ADV7391BCPZ

编辑&#xff1a;ll ASEMI代理ADV7391BCPZ原装ADI车规级ADV7391BCPZ 型号&#xff1a;ADV7391BCPZ 品牌&#xff1a;ADI /亚德诺 封装&#xff1a;LFCSP-32 批号&#xff1a;2023 安装类型&#xff1a;表面贴装型 引脚数量&#xff1a;32 工作温度:-40C~85C 类型&…