🚀 自適應思維圖
自適應思維圖是一個藉助圖結構革新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 提供的強大數據驗證功能
- 科學研究社區提供的靈感和反饋
為科學研究社區用心打造
自適應思維圖 - 通過智能圖結構推動科學推理發展