内容
# 🧶 阿里亚德尼
[](https://github.com/mkikta/ariadne/actions/workflows/ci.yml)
[](https://github.com/mkikta/ariadne/actions/workflows/ci.yml)
[](LICENSE)
阿里亚德尼是米诺斯王的女儿,她帮助忒修斯通过迷宫找到出口,并用一根线将路径标记出来。
阿里亚德尼,即MCP服务器,帮助您的代理从复杂的数据迷宫中逃脱,并获取非结构化数据。
> [!WARNING]
> 该仓库仍处于开发中。
## 🌟 主要特点
阿里亚德尼是一个端到端的工具,用于将非结构化数据交付给您的代理。
功能:
- 上传任意文档,以便稍后提供给您的代理。
- 文档被分割、丰富并存储在向量数据库中。
- MCP客户端可以连接到MCP服务器,MCP服务器提供了检索数据块和完整文档的工具。
## ℹ️ 概述
阿里亚德尼由几个主要组件组成:
* 与 [ChromaDB](https://www.trychroma.com) 数据库交互的摄入服务器,并将文档转发到处理服务器。
* 使用 [Docling](https://www.docling.ai) 的处理服务器,用于转换、序列化、分割和丰富文档,然后将其插入 ChromaDB 数据库。
* ChromaDB 数据库,使用 [Ollama](https://ollama.com) 提供嵌入模型,存储序列化后的分割文档。
* [FastMCP](https://gofastmcp.com/getting-started/welcome) 服务器,MCP 客户端可以连接到它,以查询数据库中的完整文档或按语义含义查询文档块。
## ⬇️ 安装
1. 在您的机器上安装 [Docker](https://www.docker.com)。
2. 启动 Docker 守护进程。
3. 在您的机器上安装 [Git](https://git-scm.com)。
4. 克隆此仓库:`git clone https://github.com/mkikta/ariadne.git`
5. 进入仓库:`cd ariadne`
6. 将 `.env.example` 复制到 `.env`。可选地,通过设置 CUSTOM_INSTRUCTIONS 添加自定义指令到 MCP 服务器,并将嵌入模型更改为任何 Ollama 支持的嵌入模型。
7. 运行阿里亚德尼:`docker compose up --build`
摄入 API 将托管在 http://localhost:3000,MCP 服务器将托管在 http://localhost:8080/mcp,如果您使用开箱即用的配置,[qwen3-embedding:0.6b](https://huggingface.co/Qwen/Qwen3-Embedding-0.6B) 将用于嵌入。
> [!WARNING]
> 一旦您设置了模型,您必须继续使用相同的模型才能使用相同的持久化 ChromaDB 数据库。
> [!NOTE]
> 建议使用至少 16GB RAM 的机器运行阿里亚德尼,以适应默认嵌入模型和 Docling。
## 🚀 使用
确保阿里亚德尼正在运行,如 [安装](#️-安装) 中所述。
首先,我们必须将一些文档上传到阿里亚德尼数据库。目前,有一个 Python 设置脚本可以完成此操作。(在不久的将来,将添加一个用于文档上传的仪表板,以及与常见数据源的集成。)要上传文档:
1. 进入 `scripts` 目录:`cd scripts`。
2. 安装 [uv](https://docs.astral.sh/uv/getting-started/installation/)。
3. 同步您的环境:`uv sync`
4. 运行上传脚本:`uv run upload.py --paths DIRECTORIES_AND_OR_FILES` 将 DIRECTORY_AND_OR_FILES 替换为任意数量的目录和/或文件路径的空格分隔列表,您希望将其上传到阿里亚德尼。
阿里亚德尼MCP服务器与任何非基于Web的MCP客户端兼容,例如 [OpenCode](http://opencode.ai)、[Hermes Agent](https://hermes-agent.nousresearch.com)、[Claude Code](https://code.claude.com/docs/en/overview) 或 [OpenClaw](https://openclaw.ai)。请查看您的MCP客户端文档,了解如何连接。大多数MCP客户端都有一个提示的MCP连接指南可供遵循。对于OpenCode,此过程是:
1. 运行 `opencode mcp add`。
2. 选择 `全局` 或 `项目` 位置。
3. 将 MCP 服务器命名为 `ariadne`。
4. 选择 MCP 服务器类型 `远程`。
5. 输入 MCP 服务器 URL `http://localhost:8080/mcp`。
6. 选择 `否` 表示不需要身份验证。
## 🗺️ 路线图
- [ ] 增强 Docling 处理管道,包括图像注释;代码、图形和公式丰富;表格标题重复;更智能的分割;以及可能的实体识别。
- [ ] 添加一个用户友好的仪表板用于文档上传。
- [ ] 添加与常见数据源的集成,包括 Google Drive、Microsoft 365、Notion 等。
- [ ] 添加更多模型后端。
### ✍️ 作者
我是 [Mark Kikta](https://mkikta.com),我正在创建阿里亚德尼,使其成为一个模块化、端到端的解决方案,解决共享非结构化数据集合给代理带来的常见问题。
## 🤝 反馈和贡献
如果您发现这个项目有用或令人兴奋,我鼓励您开始一个 [讨论](https://github.com/mkikta/ariadne/discussions)!我非常感谢反馈和有关错误或功能请求的任何问题。请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 以了解开发设置、编码标准和拉取请求指南。