mcpField
Q
Qdrant DevContainer for File Embeddings

Qdrant DevContainer for File Embeddings

本地服务
github.com/questmapping记忆与知识081 周前更新

关于 Qdrant DevContainer for File Embeddings

这是一个用于在 VS Code 开发容器中运行 Qdrant 并索引文本文件的配置,可进行向量相似度搜索。它面向希望使用 sentence-transformers 导入和搜索本地文档的开发者。

主要功能

  1. 01在开发容器中运行 Qdrant
  2. 02自动索引文件
  3. 03使用 sentence-transformers 生成嵌入
  4. 04支持 TXT、Markdown 和 PDF
  5. 05创建余弦相似度搜索集合

适用场景

  1. 01索引本地文本、Markdown 和 PDF 文件
  2. 02按向量相似度搜索已导入文档

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

用于文件嵌入的 Qdrant DevContainer

本项目提供了一个开发容器设置,用于运行支持文件嵌入的 Qdrant。它包含使用向量相似度搜索为文本文档建立索引和搜索所需的一切。

前提条件

  1. 启动开发容器前,Docker Desktop 必须处于运行状态
  2. 安装了 Remote - Containers 扩展的 VS Code
  3. 互联网连接(用于下载依赖项)

开始使用

  1. 确保系统上的 Docker Desktop 正在运行
  2. 在 VS Code 中打开此文件夹
  3. 点击右下角绿色的 "Reopen in Container" 按钮
    • 或按 F1 并输入 "Dev Containers: Reopen in Container"

项目结构

qdrant_server_devcontainer/ ├── .devcontainer/ │ ├── devcontainer.json │ └── Dockerfile ├── requirements.txt ├── ingest.py └── data/ # 将文本文件放在此处

用法

  1. 将文本文件放入 data/ 目录
  2. 容器会自动启动 Qdrant
  3. 容器构建完成后,你应该可以通过 http://localhost:6333 访问 Qdrant
  4. 在容器内手动运行摄取脚本:
    python ingest.py
    

功能

  • 在后台运行的 Qdrant 向量数据库
  • 使用 sentence-transformers 自动为文件建立索引
  • 配备所有必要依赖项的 Python 环境
  • 预装 VS Code Python 扩展

技术细节

  • Qdrant 在动态分配的端口上运行(容器构建后请查看输出面板)
  • 使用 all-MiniLM-L6-v2 生成文本嵌入
  • 创建名为 "local-docs" 的集合,并使用余弦相似度
  • 支持 data 目录中的文本文件(.txt)、Markdown 文件(.md)和 PDF 文件(.pdf)

故障排除

  1. 如果容器无法启动:

    • 确保 Docker Desktop 正在运行
    • 检查是否有其他进程正在使用动态分配的端口
    • 确认所有依赖项均已正确安装
  2. 如果文件未建立索引:

    • 检查文件是否位于 data/ 目录中
    • 确认文件扩展名受支持(目前支持 .txt、.md、.pdf)
    • 确保容器可以读取这些文件

许可证

MIT 许可证

待办事项

  • 高效处理大型 PDF 文件,
  • 使用并行处理按页提取文本,
  • 每个文本块准备就绪后立即进行嵌入并推送,
  • 如果 torch.cuda.is_available(),支持 GPU 嵌入?
  • 添加对 epub 文件的支持

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。