Token导航 LogoToken导航TokenDH.com
AI Doc Bot logo
AI代理stdio官方来源来源级核验

AI Doc Bot

MCP Server

一个基于检索增强生成(RAG)和MLP分类器的智能问答机器人,专门用于回答Pandas、NumPy和Scikit-learn等Python库的文档问题,优先从官方文档中获取答案。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
检索增强生成Python本地部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gauravch-code

提供方

gauravch-code

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

Python库的AI文档机器人

Python版本:3.9+

一个使用MCP(多层感知器)分类器进行源优先级排序的智能RAG(检索增强生成)机器人。使用Python、Pinecone、OpenAI/Ollama、Scikit-learn和Streamlit构建。此机器人回答以下问题 熊猫, 数值Python,以及 Scikit学习 文档,优先考虑官方来源而非社区示例。

特性

  • 检索增强生成(RAG): 从矢量数据库中查找相关文档片段。
  • 来源优先级: 使用经过训练的MLP分类器来预测检索片段的源类型(API规范、教程、社区)。
  • 智能应答: 利用LLM(OpenAI的GPT或本地Ollama模型)和自定义提示,指示其优先考虑官方文档源而不是社区源(如Stack Overflow)。
  • 多库支持: 目前使用Pandas、NumPy和Scikit-learn的文档进行索引。
  • 交互式用户界面: 使用Streamlit构建的简洁明了的web界面。

技术栈

  • 后端和机器学习: Python 3.9+
  • Web框架: 溪流
  • 矢量数据库: 松果(云)
  • LLM OpenAI API(GPT-4o/GPT-3.5-turbo)或本地Ollama(例如,Llama 3.1)
  • 机器学习: Scikit-learn(MLP分类器、Tfidf矢量器)
  • 嵌入: 句子转换(all-MiniLM-L6-v2)
  • 网页抓取: 请求,BeautifulSoup4
  • 核心库: LangChain(用于文本分割)

安装说明

  1. 克隆存储库:
   git clone 
   cd your-repo-name
  1. 创建虚拟环境:
   python -m venv venv
   # Activate it:
   # Windows: .\venv\Scripts\activate
   # macOS/Linux: source venv/bin/activate
  1. 安装依赖关系:
   pip install -r requirements.txt
  1. 设置API密钥:

- 创建一个 .env 根目录中的文件。 - 添加API密钥:

     PINECONE_API_KEY="your-pinecone-key"
     OPENAI_API_KEY="your-openai-key"
     # (Remove OpenAI key if using Ollama exclusively)

- 从以下位置获取密钥 松果OpenAI平台.

  1. (可选)为Olama设置本地LLM:

- 从以下位置安装Ollama ollama.com. - 下载模型: ollama pull llama3.1:8b (或其他型号)。 - 确保Ollama在后台运行。 - 修改 streamlit_app.py 使用 ChatOllama 而不是 OpenAI 如果需要的话。

运行项目

  1. 报废数据(仅限第一次):

- 运行scraper以收集文档并创建 corpus.json.

   python scraper.py
  1. 列车分类器(仅限首次):

- 运行培训脚本以创建 .pkl 模型文件。

   python train_classifier.py
  1. 构建矢量数据库(仅限首次):

- 确保您的 PINECONE_API_KEY 已设置 .env. - 运行脚本以填充松果索引。

   python build_vectordb.py
  1. 运行Streamlit应用程序:

- 确保你的 .env 文件存在并且API密钥正确。 - 确保您的 .pkl 文件存在。 - 如果使用Ollama,请确保它正在运行。

   streamlit run streamlit_app.py

- 应用程序应在浏览器中自动打开(通常在 http://localhost:8501).

测试

涉及外部API(Pinecone、OpenAI)和复杂ML模型的AI应用程序的单元测试可能具有挑战性。有意义的测试通常侧重于组件集成或需要模拟。

  • 当前状态: 目前还没有实施正式的单元测试。
  • 单元测试的潜在区域:

- 刮板: 解析特定HTML结构的测试函数(使用保存的示例HTML文件)。 - 数据处理: 测试文本清理或元数据生成逻辑。 - API交互(模拟): 使用以下库 unittest.mockpytest-mock 模拟Pinecone和OpenAI API的响应。这允许测试 get_priority_answer 函数的逻辑(如提示构造),而不进行实际的API调用。例如,你可以嘲笑 index.query 返回预定义的结果和模拟 openai_client.chat.completions.create 检查是否发送了正确的提示。 - 分类器加载: 测试是否 .pkl 文件正确加载。

  • 手动测试: 使用涵盖不同库和复杂性的各种查询彻底测试Streamlit应用程序。检查引用是否正确,以及来源优先级是否符合逻辑。

未来工作

  • 添加更多Python库(例如Matplotlib、TensorFlow、PyTorch)。
  • 实施更复杂的查询分析来检测目标库。
  • 允许用户选择要在其中搜索的特定库。
  • 改进MCP分类器(例如,使用句子嵌入而不是TF-IDF,调整超参数)。
  • 使用Docker将应用程序容器化。
  • 使用mocking实现正式的单元和集成测试。
  • 部署Streamlit应用程序(例如,使用Streamlit社区云)。

目录标签

目录标签

检索增强生成Python本地部署文档问答机器学习分类Python工具AI助手

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP