内容
# QDrant 加载器
[](https://pypi.org/project/qdrant-loader/)
[](https://pypi.org/project/qdrant-loader-mcp-server/)
[](https://pypi.org/project/qdrant-loader-core/)

[](https://qdrant-loader.net/coverage/)
[](https://www.gnu.org/licenses/gpl-3.0)
📝 **[变更日志 v1.0.3](./CHANGELOG.md)** - 最新改进和错误修复
<div align="left">
一个用于将数据加载到 Qdrant 矢量数据库的综合工具包,支持高级 MCP 服务器,用于 AI 驱动的开发工作流。
</div>
## 🎯 什么是 QDrant 加载器?
QDrant 加载器是一个数据摄取和检索系统,它从多个来源收集内容,进行处理和矢量化,然后通过模型上下文协议(MCP)服务器为 AI 开发工具提供智能搜索功能。
**完美适用于:**
- 🤖 **AI 驱动的开发**,使用 Cursor、Windsurf 和其他 MCP 兼容工具
- 📚 **从技术文档创建知识库**
- 🔍 **具有上下文信息的智能代码辅助**
- 🏢 **从多个数据源进行企业内容集成**
## 📦 软件包
此 monorepo 包含三个互补的软件包:
### 🔄 [QDrant 加载器](./packages/qdrant-loader/)
数据摄取和处理引擎
将来自多个源的内容收集和矢量化到 Qdrant 矢量数据库中。
**主要功能:**
- **多源连接器**:Git、Confluence(云和数据中心)、JIRA(云和数据中心)、公共文档、本地文件
- **文件转换**:PDF、Office 文档(Word、Excel、PowerPoint)、图像、音频、EPUB、ZIP 等,使用 MarkItDown
- **智能分块**:模块化分块策略,智能文档处理和分层上下文
- **增量更新**:变更检测和高效同步
- **多项目支持**:将源组织成具有共享集合的项目
- **提供者无关的 LLM**:OpenAI、Azure OpenAI、Ollama 和具有统一配置的自定义端点
### ⚙️ [QDrant 加载器核心](./packages/qdrant-loader-core/)
核心库和 LLM 抽象层
提供其他软件包使用的基础组件和提供者无关的 LLM 接口。
**主要功能:**
- **LLM 提供者抽象**:OpenAI、Azure OpenAI、Ollama 和自定义端点的统一接口
- **配置管理**:LLM 提供者的集中式设置和验证
- **速率限制**:内置的速率限制和请求管理
- **错误处理**:强大的错误处理和重试机制
- **日志记录**:具有可配置级别的结构化日志记录
### 🔌 [QDrant 加载器 MCP 服务器](./packages/qdrant-loader-mcp-server/)
AI 开发集成层
模型上下文协议服务器,为 AI 开发工具提供搜索功能。
**主要功能:**
- **MCP 协议 2025-06-18**:最新的协议合规性,支持双重传输(stdio + HTTP)
- **高级搜索工具**:语义搜索、分层感知搜索、附件发现和冲突检测
- **跨文档智能**:文档相似性、聚类、关系分析和知识图谱
- **流式传输能力**:服务器发送事件(SSE)用于实时搜索结果
- **生产就绪**:具有安全性、会话管理和健康检查的 HTTP 传输
## 🚀 快速开始
### 安装
```bash
# 安装两个软件包
pip install qdrant-loader qdrant-loader-mcp-server
# 或单独安装
pip install qdrant-loader # 仅数据摄取
pip install qdrant-loader-mcp-server # 仅 MCP 服务器
```
### 5 分钟设置
1. **创建工作空间**
```bash
mkdir my-workspace && cd my-workspace
```
2. **使用模板初始化工作空间**
```bash
qdrant-loader init --workspace .
```
3. **配置环境**(编辑 `.env`)
```bash
# Qdrant 连接
QDRANT_URL=http://localhost:6333
QDRANT_COLLECTION_NAME=my_docs
# LLM 提供者(新的统一配置)
OPENAI_API_KEY=your_openai_key
LLM_PROVIDER=openai
LLM_BASE_URL=https://api.openai.com/v1
LLM_EMBEDDING_MODEL=text-embedding-3-small
LLM_CHAT_MODEL=gpt-4o-mini
```
4. **配置数据源**(编辑 `config.yaml`)
```yaml
global:
qdrant:
url: "http://localhost:6333"
collection_name: "my_docs"
llm:
provider: "openai"
base_url: "https://api.openai.com/v1"
api_key: "${OPENAI_API_KEY}"
models:
embeddings: "text-embedding-3-small"
chat: "gpt-4o-mini"
embeddings:
vector_size: 1536
projects:
my-project:
project_id: "my-project"
sources:
git:
docs-repo:
base_url: "https://github.com/your-org/your-repo.git"
branch: "main"
file_types: ["*.md", "*.rst"]
```
5. **加载数据**
```bash
qdrant-loader ingest --workspace .
```
6. **启动 MCP 服务器**
```bash
mcp-qdrant-loader --env /path/tp/your/.env
```
## 🔧 MCP 兼容 IDE 设置
QDrant 加载器适用于任何支持 MCP 的 IDE/工具,包括 Cursor、Windsurf 和 Claude Desktop。
MCP 服务器的最小条目(适应路径/格式到您的工具):
```json
{
"mcpServers": {
"qdrant-loader": {
"command": "/path/to/venv/bin/mcp-qdrant-loader",
"env": {
"QDRANT_URL": "http://localhost:6333",
"QDRANT_COLLECTION_NAME": "my_docs",
"OPENAI_API_KEY": "your_key"
}
}
}
}
```
**替代:使用配置文件**(建议用于复杂设置):
```json
{
"mcpServers": {
"qdrant-loader": {
"command": "/path/to/venv/bin/mcp-qdrant-loader",
"args": [
"--config",
"/path/to/your/config.yaml",
"--env",
"/path/to/your/.env"
]
}
}
}
```
有关工具特定的设置和确切的配置格式:
- **[MCP 设置和集成](./docs/users/detailed-guides/mcp-server/setup-and-integration.md)** - 完整指南
- **[Cursor 设置](./docs/users/detailed-guides/mcp-server/setup-and-integration.md#-cursor-ide)**
- **[Windsurf 设置](./docs/users/detailed-guides/mcp-server/setup-and-integration.md#-windsurf)**
- **[Claude Desktop 设置](./docs/users/detailed-guides/mcp-server/setup-and-integration.md#-claude-desktop)**
**AI 工具中的示例查询:**
- _"查找 API 文档中有关身份验证的信息"_
- _"显示错误处理模式的示例"_
- _"此服务的部署要求是什么?"_
- _"查找与数据库模式相关的所有附件"_
## 📚 文档
### 入门指南
- **[入门指南](./docs/getting-started/)** - 快速开始和核心概念
- **[安装指南](./docs/getting-started/installation.md)** - 完整的设置说明
- **[快速开始](./docs/getting-started/quick-start.md)** - 分步教程
- **[核心概念](./docs/getting-started/README.md#-core-concepts)** - 了解核心架构:工作空间模型、项目和源、摄取管道和 MCP 搜索流程
### 用户指南
- **[用户指南](./docs/users/)** - 详细的使用说明
- **[配置](./docs/users/configuration/)** - 完整的配置参考
- **[数据源](./docs/users/detailed-guides/data-sources/)** - Git、Confluence、JIRA 设置
- **[文件转换](./docs/users/detailed-guides/file-conversion/)** - 文件处理能力
- **[MCP 服务器](./docs/users/detailed-guides/mcp-server/)** - AI 工具集成
## 🛠️ 开发者资源
- **[开发者中心](./docs/developers)** - 开发者指南,涵盖架构、测试、部署和贡献工作流程。
- **[架构](./docs/developers/architecture/)** - 系统设计概述
- **[测试](./docs/developers/testing/)** - 测试指南和最佳实践
## 🆘 支持
- **[问题](https://github.com/martin-papy/qdrant-loader/issues)** - 错误报告和功能请求
- **[讨论](https://github.com/martin-papy/qdrant-loader/discussions)** - 社区问答
## 🤝 贡献
我们欢迎贡献!请参阅我们的[贡献指南](./CONTRIBUTING.md),了解:
- 开发环境设置
- 代码风格和标准
- 拉取请求流程
### 快速开发设置
```bash
# 克隆并设置
git clone https://github.com/martin-papy/qdrant-loader.git
cd qdrant-loader
# 同步工作空间环境(推荐)
uv sync --all-packages --all-extras
# 在开发过程中添加新依赖项
uv add fastapi
uv sync
```
## 📄 许可证
该项目根据 GNU GPLv3 许可证 - 请参阅 [LICENSE](LICENSE) 文件了解详情。
---
**准备好开始了吗?** 查看我们的 [快速开始指南](./docs/getting-started/quick-start.md) 或浏览 [完整文档](./docs/)。