M

MadMando

autonomous-agentsresearch-and-datavector-databases

314 查看 · 2026-07-07 更新

Python 徽章 MCP 徽章 Ollama 徽章 ChromaDB 徽章 FastAPI 徽章 Uvicorn 徽章

自主分析师

🧠 概述

自主分析师是一个本地的、具有代理功能的人工智能流水线,它能够:

  • 分析表格数据
  • 使用马氏距离检测异常
  • 利用本地大语言模型(通过 Ollama 的 llama3.2:1b)生成解释性摘要
  • 将结果记录到 ChromaDB 中以便语义检索
  • 完全通过模型上下文协议 (MCP) 进行编排

⚙️ 功能特性

组件描述
FastAPI Web UI友好的仪表板,支持合成或上传的数据集
MCP 工具编排每个处理步骤都作为可调用的 MCP 工具暴露出来
异常检测基于马氏距离的离群点检测
可视化输出保存内点与离群点的散点图
本地 LLM 摘要使用 llama3.2:1b 通过 Ollama 生成见解
向量存储日志摘要被存储在 ChromaDB 中以实现持久记忆
代理规划工具一个专门的大语言模型工具 (autonomous_plan) 根据数据集上下文确定下一步操作
代理流程大语言模型 + 记忆 + 工具使用 + 自动推理 + 上下文感知

🧪 通过 MCP 定义的工具

工具名称描述使用的 LLM
generate_data创建合成表格数据(高斯分布 + 类别型)
analyze_outliers使用马氏距离标记行
plot_results保存可视化内点与离群点的图表
summarize_results使用 llama3.2:1b 解释和说明离群点分布
summarize_data_stats使用 llama3.2:1b 描述数据集趋势
log_results_to_vector_store将摘要存储到 ChromaDB 以供将来参考
search_logs使用向量搜索检索相关的历史会话(可选使用 LLM)⚠️
autonomous_plan运行整个流水线,使用 LLM 自动推荐下一步操作

🤖 代理能力

  • 自主性: 通过 autonomous_plan 由 LLM 引导执行路径选择
  • 工具使用: 通过 LLM 推理动态调用已注册的 MCP 工具
  • 推理: 根据数据集条件和异常分析生成技术见解- 内存: 使用ChromaDB向量搜索进行知识的持久化和召回
  • 大语言模型 (LLM): 由Ollama提供支持,使用llama3.2:1b(温度 = 0.1, 确定性)

🚀 开始

1. 克隆并设置

bash git clone https://github.com/MadMando/mcp-autonomous-analyst.git cd mcp-autonomous-analyst conda create -n mcp-agentic python=3.11 -y conda activate mcp-agentic pip install uv uv pip install -r requirements.txt

2. 启动MCP服务器

bash mcp run server.py --transport streamable-http

3. 启动Web仪表板

bash uvicorn web:app --reload --port 8001

然后访问: http://localhost:8000


🌐 仪表板流程

  • 步骤1: 上传您自己的数据集或点击生成合成数据
  • 步骤2: 系统对feature_1feature_2执行异常检测
  • 步骤3: 生成离群点的可视化图表
  • 步骤4: 通过大语言模型创建摘要
  • 步骤5: 结果可选择性地记录到向量存储中以便召回

📁 项目布局

📦 autonomous-analyst/ ├── server.py # MCP服务器 ├── web.py # FastAPI + MCP客户端(前端逻辑) ├── tools/ │ ├── synthetic_data.py │ ├── outlier_detection.py │ ├── plotter.py │ ├── summarizer.py │ ├── vector_store.py ├── static/ # 保存的图表 ├── data/ # 上传或生成的数据集 ├── requirements.txt ├── .gitignore └── README.md


📚 技术栈

  • MCP SDK: mcp
  • 大语言模型推理: Ollama 运行 llama3.2:1b
  • UI服务器: FastAPI + Uvicorn
  • 内存: ChromaDB向量数据库
  • 数据处理: pandas, matplotlib, scikit-learn

✅ .gitignore 添加项

pycache/ *.pyc *.pkl .env static/ data/


🙌 致谢

没有开源社区的杰出工作,这个项目是不可能实现的。特别感谢:

工具/库用途仓库
🧠 Model Context Protocol (MCP)代理工具编排与执行modelcontextprotocol/python-sdk
💬 Ollama本地大语言模型推理引擎 (llama3.2:1b)ollama/ollama
🔍 ChromaDB用于日志记录和检索的向量数据库chroma-core/chroma
🌐 FastAPI交互式、快速的Web界面tiangolo/fastapi
Uvicorn支持FastAPI后端的ASGI服务器encode/uvicorn

💡 如果您使用此项目,请考虑为使其成为可能的上游工具点赞或贡献。

此仓库是在使用llama3.2:1b的本地rag-llm的帮助下创建的。

来源