本项目是一个由微服务和客户端组成的集合,借助自然语言实现与生物数据库的交互,为生物数据查询提供了便捷的途径。
cp .env.example .env
make build
make up
make run-chainlit
访问 http://localhost:8000 即可开始查询生物数据。
cp .env.example .env
make build
make up
make run-chainlit
完成上述安装步骤后,访问 http://localhost:8000 ,在网络界面输入自然语言查询语句,即可开始查询生物数据。
make help
查看可用命令。conf/
目录中。llm-client
模块提供一个客户端,用于与大语言模型服务器交互,处理查询并利用可用工具。它使用 FastMCP 框架构建,并支持异步操作(使用 aiohttp
)。了解更多,请参阅 LLM 客户端 README。
protein_data_bank_mcp
模块提供一个服务器,用于与蛋白数据银行 (PDB) API 交互,获取结构装配描述、化学成分、drugbank 注释、分支实体、非聚合实体、聚合实体、uniprot 注释、结构、pubmed 注释、pdb 聚类数据聚合、聚类组来源、pdb 聚类数据聚合方法以及成对多聚体界面描述。它使用 FastMCP 框架构建,并支持异步操作(使用 aiohttp
)。了解更多,请参阅 蛋白数据银行 README。
docker build -t <模块名称> .
docker run --env-file .env <模块名称>
docker-compose up -d
docker-compose down
提供一个 Makefile 简化常见任务。
setup-env
:设置初始环境。build
:构建所有 Docker 镜像。up
:启动所有服务。down
:停止所有服务。此项目包含多个模块,使用 FastMCP 框架与各种服务和 API 进行交互。每个模块都可以独立运行或通过 Docker Compose 一起运行。该项目的主要关注点是生物代理,提供与生物数据源(如蛋白数据银行 PDB)交互的工具和服务。llm-client
模块使用 FastMCP 框架构建,并支持异步操作(使用 aiohttp
),能够高效地与大语言模型服务器交互,处理查询并利用可用工具。protein_data_bank_mcp
模块同样使用 FastMCP 框架,支持异步操作,可与蛋白数据银行 (PDB) API 交互,获取丰富的生物数据。
┌─────────────┐ ┌──────────────┐
│ LLM 界面 │ │ Ollama 大语言模型 │
│ (Chainlit) │ │ │
└─────┬───────┘ └───────┬──────┘
│ │
┌─────┴─────────────────────┴──────┐
│ LLM 客户端 │
└─────┬─────────────────────┬──────┘
│ │
┌─────┴───────┐ ┌──────┴───────┐
│ PDB MCP │ │ ChEMBL MCP │
│ 服务器 │ │ 服务器 │
└─────────────┘ └──────────────┘