🚀 自适应思维图
自适应思维图是一个借助图结构革新AI系统进行科学推理方式的框架,利用Neo4j图数据库开展复杂的科学推理,为复杂研究任务提供高级科学推理思维图(ASR - GoT)框架。
🚀 快速开始
部署前提条件
在运行自适应思维图(无论是本地运行还是通过Docker运行,若不使用包含Neo4j的docker - compose.prod.yml
文件)之前,请确保具备以下条件:
必备条件
- Python 3.11+(如
pyproject.toml
中所指定,例如Docker镜像使用Python 3.11.x或3.12.x、3.13.x)
- [Poetry](https://python - poetry.org/docs/#installation):用于依赖管理
- [Docker](https://www.docker.com/get - started) 和 Docker Compose:用于容器化部署
安装与设置(本地开发)
- 克隆仓库:
git clone https://github.com/SaptaDey/Adaptive Graph of Thoughts.git
cd Adaptive Graph of Thoughts
- 使用Poetry安装依赖:
poetry install
这将创建一个虚拟环境并安装pyproject.toml
中指定的所有必要包。
3. 激活虚拟环境:
poetry shell
- 配置应用程序:
cp config/settings.example.yaml config/settings.yaml
vim config/settings.yaml
- 设置环境变量(可选):
echo "LOG_LEVEL=DEBUG" > .env
echo "API_HOST=0.0.0.0" >> .env
echo "API_PORT=8000" >> .env
- 运行开发服务器:
python src/asr_got_reimagined/main.py
或者,若需要更多控制:
uvicorn asr_got_reimagined.main:app --reload --host 0.0.0.0 --port 8000
API将在http://localhost:8000
上可用。
Docker部署
graph TB
subgraph "开发环境"
A[👨💻 开发者] --> B[🐳 Docker Compose]
end
subgraph "容器编排"
B --> C[📦 自适应思维图容器]
B --> D[📊 监控容器]
B --> E[🗄️ 数据库容器]
end
subgraph "自适应思维图应用程序"
C --> F[⚡ FastAPI服务器]
F --> G[🧠 ASR - GoT引擎]
F --> H[🔌 MCP协议]
end
subgraph "外部集成"
H --> I[🤖 Claude桌面版]
H --> J[🔗 其他AI客户端]
end
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
style F fill:#fff3e0
style G fill:#ffebee
style H fill:#f1f8e9
- 使用Docker Compose快速启动:
docker - compose up --build
docker - compose up --build -d
docker - compose logs -f adaptive - graph - of - thoughts
- 单个Docker容器:
docker build -t adaptive - graph - of - thoughts:latest .
docker run -p 8000:8000 -v $(pwd)/config:/app/config adaptive - graph - of - thoughts:latest
- 生产环境部署:
docker - compose -f docker - compose.prod.yml up --build -d
特定部署平台说明
- Smithery.ai:部署到Smithery.ai平台通常直接使用提供的Docker镜像。
- 请参考Smithery.ai的特定文档,了解部署自定义Docker镜像的说明。
- 端口配置:确保平台配置为暴露端口8000(或通过
APP_PORT
配置的端口),因为这是FastAPI应用程序使用的默认端口。
- 健康检查:Smithery.ai可能使用健康检查来监控容器状态。自适应思维图的Docker镜像包含一个
HEALTHCHECK
指令,用于验证/health
端点(例如http://localhost:8000/health
)。如果平台需要特定的健康检查路径,请确保Smithery.ai配置为使用此端点。
- 提供的
Dockerfile
和docker - compose.prod.yml
可作为理解容器设置的基础。请根据Smithery.ai的要求进行调整。
- 访问服务:
- API文档:
http://localhost:8000/docs
- 健康检查:
http://localhost:8000/health
- MCP端点:
http://localhost:8000/mcp
✨ 主要特性
- 利用Neo4j图数据库进行复杂科学推理,图操作在其管道阶段进行管理。
- 实现模型上下文协议(MCP),与Claude桌面版等AI应用集成。
- 处理复杂的科学查询,采用基于图的推理方式。
- 动态置信度评分,进行多维度评估。
- 采用现代Python和FastAPI构建,性能卓越。
- 支持Docker化,便于部署。
- 模块化设计,具有可扩展性和可定制性。
📦 安装指南
本地开发安装
- 克隆仓库:
git clone https://github.com/SaptaDey/Adaptive Graph of Thoughts.git
cd Adaptive Graph of Thoughts
- 使用Poetry安装依赖:
poetry install
- 激活虚拟环境:
poetry shell
- 配置应用程序:
cp config/settings.example.yaml config/settings.yaml
vim config/settings.yaml
- 设置环境变量(可选):
echo "LOG_LEVEL=DEBUG" > .env
echo "API_HOST=0.0.0.0" >> .env
echo "API_PORT=8000" >> .env
- 运行开发服务器:
python src/asr_got_reimagined/main.py
或者:
uvicorn asr_got_reimagined.main:app --reload --host 0.0.0.0 --port 8000
Docker部署安装
使用Docker Compose
docker - compose up --build
docker - compose up --build -d
docker - compose logs -f adaptive - graph - of - thoughts
单个Docker容器
docker build -t adaptive - graph - of - thoughts:latest .
docker run -p 8000:8000 -v $(pwd)/config:/app/config adaptive - graph - of - thoughts:latest
生产环境部署
docker - compose -f docker - compose.prod.yml up --build -d
💻 使用示例
基础用法
以下是使用asr_got.query
方法的示例请求:
{
"jsonrpc": "2.0",
"method": "asr_got.query",
"params": {
"query": "Analyze the relationship between microbiome diversity and cancer progression.",
"parameters": {
"include_reasoning_trace": true,
"include_graph_state": false
}
},
"id": "123"
}
高级用法
目前暂未提供高级用法示例,后续可根据项目发展补充。
📚 详细文档
关于自适应思维图的全面信息,包括详细的安装说明、使用指南、配置选项、API参考、贡献指南和项目路线图,请访问我们的完整文档站点:
[➡️ 自适应思维图文档站点](https://saptadey.github.io/Adaptive - Graph - of - Thoughts - MCP - server/)
(注意:此链接将在通过新工作流程部署GitHub Pages站点后激活。)
🔧 技术细节
项目架构
项目的组织架构如下(更多详细信息请参阅文档站点):
Adaptive Graph of Thoughts/
├── 📁 .github/ # GitHub特定文件(工作流)
├── 📁 config/ # 配置文件(settings.yaml)
├── 📁 docs_src/ # MkDocs文档的源文件
├── 📁 src/ # 源代码
│ └── 📁 adaptive_graph_of_thoughts # 主应用程序包
├── 📁 tests/ # 测试套件
├── Dockerfile # Docker容器定义
├── docker - compose.yml # 用于开发的Docker Compose文件
├── docker - compose.prod.yml # 用于生产的Docker Compose文件
├── mkdocs.yml # MkDocs配置
├── poetry.lock # Poetry依赖锁定文件
├── pyproject.toml # Python项目配置(Poetry)
├── pyrightconfig.json # Pyright类型检查器配置
├── README.md # 本文件
└── setup_claude_connection.py # 用于设置Claude桌面版连接的脚本(手动运行)
API端点
MCP协议端点
POST /mcp
:此端点用于与MCP客户端(如Claude桌面版)进行通信。
健康检查端点
GET /health
:提供应用程序的简单健康状态。示例响应如下:
{
"status": "healthy",
"version": "0.1.0"
}
会话处理(session_id
)
目前,API请求(例如asr_got.query
)中可用的session_id
参数以及响应中包含的session_id
主要用于识别和跟踪单个完整的查询 - 响应周期,也用于将进度通知(如got/queryProgress
)与发起的查询相关联。
未来增强功能
持久会话
未来可能实现持久会话功能,允许用户:
- 持久化状态:将查询生成的图状态和相关推理上下文与
session_id
关联,可能存储在Neo4j数据库中。
- 重新加载状态:当使用现有
session_id
提交新查询时,系统可以重新加载保存的状态作为进一步处理的起点。
- 细化和扩展:允许新查询与加载的图进行交互,例如细化先前的假设、向现有结构添加新证据或基于已建立的上下文探索替代推理路径。
异步和并行阶段执行
目前,自适应思维图推理管道的8个阶段按顺序执行。为了处理复杂查询或进一步优化性能,未来可能会探索对管道的某些部分进行异步或并行执行。
📄 许可证
本项目采用Apache License 2.0许可。许可证。
🤝 贡献
我们欢迎贡献!请参阅我们的贡献指南(也可在文档站点上找到),了解如何开始、我们的分支策略、代码风格等详细信息。
🙏 致谢
- NetworkX 社区提供的图分析功能
- FastAPI 团队提供的优秀Web框架
- Pydantic 提供的强大数据验证功能
- 科学研究社区提供的灵感和反馈
为科学研究社区用心打造
自适应思维图 - 通过智能图结构推动科学推理发展