向量数据库的使用

向量数据库

向量数据库是一种专门用于存储、管理和查询高维向量数据的数据库系统。随着人工智能和机器学习的广泛应用,向量数据库在处理非结构化数据(如文本、图像、音频和视频等)的任务中变得越来越重要。本文将介绍快速使用Chroma

安装

安装chromadb向量数据库

复制代码
pip install chromadb 

创建链接

创建客户端

复制代码
import chromadb
chroma_client = chromadb.Client()

创建集合

Chroma数据结构,包括集合、文档和Embedding。

复制代码
collection = chroma_client.create_collection(name="my_collection")

添加文档

添加文档到集合中

复制代码
collection.add(
    documents=[
        "This is a document about pineapple",
        "This is a document about oranges"
    ],
    ids=["id1", "id2"]
)

搜索

搜索文档并指定返回文档数

复制代码
results = collection.query(
    query_texts=["This is a query document about hawaii"], # Chroma will embed this for you
    n_results=2 # how many results to return
)
print(results)

查看结果

可以看到夏威夷和菠萝更相似。

复制代码
{
  'documents': [[
      'This is a document about pineapple',
      'This is a document about oranges'
  ]],
  'ids': [['id1', 'id2']],
  'distances': [[1.0404009819030762, 1.243080496788025]],
  'uris': None,
  'data': None,
  'metadatas': [[None, None]],
  'embeddings': None,
}

总结

向量数据库是 RAG 中的重要组件之一,文档索引会存储在向量数据库中,随着大模型的流行,感觉向量数据库也会持续发展,进一步提高性能。

相关推荐
Devin~Y9 小时前
高并发内容社区实战面试:从 Java 基础到 Spring Cloud、Kafka、Redis、RAG 搜索全解析
java·spring boot·redis·spring cloud·kafka·向量数据库·rag
一叶飘零_sweeeet3 天前
Redis 不止缓存!从零到一吃透 Redis 向量数据库
redis·向量数据库
Java后端的Ai之路3 天前
3 天从入门到可视化监控:Elasticsearch 新手实战指南
大数据·数据库·elasticsearch·搜索引擎·向量数据库
s1mple“”4 天前
大厂Java面试实录:从Spring Boot到AI技术的电商场景深度解析
spring boot·redis·微服务·kafka·向量数据库·java面试·ai技术
s1mple“”4 天前
大厂Java面试实录:从Spring Boot到AI技术的UGC内容社区场景深度解析
spring boot·redis·微服务·kafka·向量数据库·java面试·ai技术
s1mple“”5 天前
大厂Java面试实录:从Spring Boot到AI技术的医疗健康场景深度解析
spring boot·redis·微服务·kafka·向量数据库·java面试·ai技术
s1mple“”5 天前
大厂Java面试实录:从Spring Boot到AI技术的在线教育场景深度解析
spring boot·redis·微服务·kafka·向量数据库·java面试·ai技术
fuquxiaoguang6 天前
Qdrant:为AI构建的高性能向量搜索引擎
人工智能·向量数据库
IT 行者7 天前
Redis 8.0 向量库:大模型知识库开发的新选择
数据库·redis·缓存·大模型·aigc·向量数据库·rag
Java后端的Ai之路10 天前
Milvus 向量数据库从入门到精通:AI 时代的“记忆中枢“实战指南(建议收藏!)
数据库·人工智能·milvus·向量数据库·rag