当前位置: 首页 > news >正文

大模型Rag - 向量数据库索引

一、安装与部署

向量数据库 Chroma是一个简单易用的 AI 原生向量数据库,安装十分简单,使用 pip install chromadb 即可完成安装。
安装完成后,可以使用如下命令启动服务端:

chromadb run --path ./data --host 127.0.0.1 --port 8000其中:
--path 是数据库文件的本地存储路径。
--host 是对外提供服务的 IP。
--port 是服务端口号。

服务启动后,可以在指定路径查看本地持久化存储的数据。

二、连接数据库

客户端通过 chromadb.HttpClient 与 Chroma 服务端连接:

import chromadb
from chromadb.utils import embedding_functions
# 链接数据库
client = chromadb.HttpClient(host='localhost', port=8000)
# 指定对应的 embedding 模型
model_path = './gte-large-zh/'
embedding_fn = SentenceTransformerEmbeddingFunction(model_name=name_path)
collection = client.create_collection(name='rag_db',embedding_function=embedding_fn,metadata={"hnsw:space": "cosine"}  # 设置为余弦相似度和索引
)
# 创建向量集合docs = ["第一句话。", "第二句话。", "第三句话。"]
ids = ["id1", "id2", "id3"]
metadatas = [{"chapter": 1, "verse": 5},{"chapter": 2, "verse": 5},{"chapter": 3, "verse": 5},
]collection.add(documents=docs, ids=['1','2','3'], metadatas=metadatas)# 检索
get_collection = chroma_client.get_collection(name='rag_db',embedding_function=embedding_fn)id_result = get_collection.get(ids=['1'],include=["documents","embeddings","metadatas"])# 向量检索
query = '问题'
get_collection.query(query_texts=query,# 向量检索n_results=2,include=["documents","embeddings","metadatas"],where={"verse":5})# 元数据检索
http://www.xdnf.cn/news/36433.html

相关文章:

  • Docker应用端口查看器docker-port-viewer
  • 筑基挑战 | 第14期
  • 数字孪生火星探测车,星际探索可视化
  • 解码 Web Service:从技术原理到应用场景的深度剖析
  • 可以直接本地使用的Python环境可以调用的AI大模型归纳整理(AI辅助)
  • 如何防止接口被刷
  • 内积(Inner Product)
  • C#测试linq中的左连接的基本用法
  • 红黑树模拟实现STL中的map和set---C++
  • ThingsBoard3.9.1 MQTT Topic(3)
  • 【入门】数数小木块
  • OpenFeign终极指南:超时控制、重试策略、拦截器与自定义Starter
  • Stable Diffusion秋叶整合包V4独立版Python本地API连接指南
  • 《Operating System Concepts》阅读笔记:p738-p747
  • 《C#数据结构与算法》—集合、映射
  • 基于Spring AI与OpenAI API的深度实践:调用DeepSeek模型构建智能应用全指南
  • Win10驱动程序强制签名怎么禁用/开启?
  • C++按位与()、按位或(|)和按位异或(^)
  • 并发网路通信-套接字通信
  • 【数学】数学分类
  • 日志分析---宝瓜Windows日志分析器
  • 什么是 Stream
  • Vue3 + TypeScript中defineEmits 类型定义解析
  • [oeasy]python089_列表_删除列表项_remove_列表长度_len
  • 纯FPGA实现驱动AD9361配置的思路和实现之一 概述
  • 从数据处理方式,系统可扩展性和处理性能三方面比较管道过滤器风格和仓储风格
  • Python Requests 库:从安装到精通
  • Dijkstra 算法
  • 蓝桥杯练习题2
  • 深入理解 Spring 单元测试:@SpringBootTest、@Value 注入、@MockBean 使用实战与陷阱