向量数据库的使用

向量数据库

向量数据库是一种专门用于存储、管理和查询高维向量数据的数据库系统。随着人工智能和机器学习的广泛应用,向量数据库在处理非结构化数据(如文本、图像、音频和视频等)的任务中变得越来越重要。本文将介绍快速使用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 中的重要组件之一,文档索引会存储在向量数据库中,随着大模型的流行,感觉向量数据库也会持续发展,进一步提高性能。

相关推荐
阿杰学AI1 小时前
AI核心知识129—大语言模型之 向量数据库(简洁且通俗易懂版)
数据库·人工智能·ai·语言模型·自然语言处理·向量数据库·vector database
庄小焱2 天前
【AI模型】——RAG索引构建与优化
人工智能·ai·向量数据库·ai大模型·rag·rag索引·索引构建与优化
正在走向自律4 天前
从0到1构建企业级RAG系统:基于LangChain+向量数据库的完整实战
langchain·向量数据库·rag·企业级架构
QC·Rex7 天前
向量数据库对比与实战:从原理到生产落地
数据库·人工智能·向量数据库
weisian1517 天前
进阶篇-LangChain篇-10--向量数据库选型指南:本地FAISS, Chroma与云原生方案
数据库·langchain·faiss·向量数据库·chroma
AI精钢8 天前
OpenClaw 本地内存检索与 node-llama-cpp 的依赖关系深度解析
llama·向量数据库·内存检索·openclaw·node-llama-cpp·本地 ai
QC·Rex8 天前
向量数据库架构与应用实战:从原理到生产部署
向量数据库·rag·相似度搜索·hnsw 算法·ai 基础设施
@atweiwei9 天前
langchainrust:Rust 版 LangChain 框架(LLM+Agent+RAG)
开发语言·rust·langchain·agent·向量数据库·rag
深念Y10 天前
从字典到向量:索引技术的演进
向量·es·索引·倒排索引·向量数据库·字典·倒排文件索引
码码哈哈0.010 天前
RAG 向量存储原理总结
ai·向量数据库