自适应思维图是一个借助图结构革新AI系统进行科学推理方式的框架,利用Neo4j图数据库开展复杂的科学推理,为复杂研究任务提供高级科学推理思维图(ASR - GoT)框架。
在运行自适应思维图(无论是本地运行还是通过Docker运行,若不使用包含Neo4j的docker - compose.prod.yml文件)之前,请确保具备以下条件:
运行中的Neo4j实例:自适应思维图需要连接到Neo4j图数据库。
apoc.create.addLabels、apoc.merge.node)。若没有APOC,应用程序将无法正常运行。你可以在官方APOC网站上找到安装说明。config/settings.yaml(或相应的环境变量)正确指向你的Neo4j实例的URI、用户名和密码。注意:提供的docker - compose.yml(用于开发)和docker - compose.prod.yml(用于生产)已经包含了预配置APOC库的Neo4j服务,在使用Docker Compose时可满足此要求。
pyproject.toml中所指定,例如Docker镜像使用Python 3.11.x或3.12.x、3.13.x)git clone https://github.com/SaptaDey/Adaptive Graph of Thoughts.git
cd Adaptive Graph of Thoughts
poetry install
这将创建一个虚拟环境并安装pyproject.toml中指定的所有必要包。
3. 激活虚拟环境:
poetry shell
# 复制示例配置
cp config/settings.example.yaml config/settings.yaml
# 根据需要编辑配置
vim config/settings.yaml
# 创建.env文件用于敏感配置
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上可用。
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 up --build
# 以分离模式(后台运行)
docker - compose up --build -d
# 查看日志
docker - compose logs -f adaptive - graph - of - thoughts
# 构建镜像
docker build -t adaptive - graph - of - thoughts:latest .
# 运行容器
docker run -p 8000:8000 -v $(pwd)/config:/app/config adaptive - graph - of - thoughts:latest
# 使用生产环境的compose文件
docker - compose -f docker - compose.prod.yml up --build -d
APP_PORT配置的端口),因为这是FastAPI应用程序使用的默认端口。HEALTHCHECK指令,用于验证/health端点(例如http://localhost:8000/health)。如果平台需要特定的健康检查路径,请确保Smithery.ai配置为使用此端点。Dockerfile和docker - compose.prod.yml可作为理解容器设置的基础。请根据Smithery.ai的要求进行调整。http://localhost:8000/docshttp://localhost:8000/healthhttp://localhost:8000/mcpgit clone https://github.com/SaptaDey/Adaptive Graph of Thoughts.git
cd Adaptive Graph of Thoughts
poetry install
poetry shell
# 复制示例配置
cp config/settings.example.yaml config/settings.yaml
# 根据需要编辑配置
vim config/settings.yaml
# 创建.env文件用于敏感配置
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 - compose up --build
# 以分离模式(后台运行)
docker - compose up --build -d
# 查看日志
docker - compose logs -f adaptive - graph - of - thoughts
# 构建镜像
docker build -t adaptive - graph - of - thoughts:latest .
# 运行容器
docker run -p 8000:8000 -v $(pwd)/config:/app/config adaptive - graph - of - thoughts:latest
# 使用生产环境的compose文件
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桌面版连接的脚本(手动运行)
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许可。许可证。
我们欢迎贡献!请参阅我们的贡献指南(也可在文档站点上找到),了解如何开始、我们的分支策略、代码风格等详细信息。
为科学研究社区用心打造
自适应思维图 - 通过智能图结构推动科学推理发展