首页
/ 开源项目最佳实践:Doctor 网页爬取与索引系统

开源项目最佳实践:Doctor 网页爬取与索引系统

2025-05-19 06:17:09作者:廉皓灿Ida

1. 项目介绍

Doctor 是一个使大型语言模型(LLM)代理能够发现、爬取和索引网站的系统,以提高推理和代码生成的准确性和时效性。该系统提供了一个完整的栈,包括网页爬取、文本分块、创建文本嵌入、数据存储以及通过 FastAPI 网络服务暴露搜索功能,同时支持通过 MCP 服务器将能力提供给 LLM。

2. 项目快速启动

环境准备

  • Docker 和 Docker Compose
  • Python 3.10 或更高版本
  • uv (Python 包管理器)
  • OpenAI API 密钥

克隆仓库

git clone https://github.com/sisig-ai/doctor.git
cd doctor

设置环境变量

export OPENAI_API_KEY=你的OpenAI密钥

启动项目

docker compose up

3. 应用案例和最佳实践

使用 API 爬取网页

通过访问 /fetch_url 端点来启动一个爬取任务,并提供一个 URL 作为参数。

检查爬取进度

使用 /job_progress 端点来查看当前爬取任务的状态。

搜索索引文档

利用 /search_docs 端点来搜索已经索引的文档。

集成 MCP

确保 Docker Compose 栈正在运行,然后在你的编辑器的 MCP 服务器配置中添加以下内容:

{
  "doctor": {
    "type": "sse",
    "url": "http://localhost:9111/mcp"
  }
}

4. 典型生态项目

  • DuckDB: 用于存储文档数据和嵌入向量,并支持向量搜索的数据库。
  • Redis: 作为消息代理,用于异步任务处理。
  • Crawl Worker: 处理爬取任务,分块文本,创建嵌入向量。
  • Web Server: 基于 FastAPI 的服务,提供数据获取、搜索和查看的端点,并暴露 MCP 服务器。

以上就是关于 Doctor 网页爬取与索引系统的最佳实践指南,可以帮助开发者快速上手并有效地利用该项目。

登录后查看全文
热门项目推荐