AI 层模块
services/ai/ 包含系统的 AI 相关功能。
模块列表
| 模块 | 文件 | 功能 | 状态 |
|---|---|---|---|
| AI 诊断 | diagnosis.py | 疾病风险评估、生成建议 | ✅ |
| 健康对话 | chatbot.py | 智能健康问答 | ✅ |
| RAG 系统 | rag_system.py | 知识库检索增强 | ✅ |
| 统一引擎 | unified_engine.py | 多组学联合分析 | ✅ |
| 融合引擎 | integration_engine.py | 跨组学数据融合 | ✅ |
1. AI 诊断 (diagnosis.py)
功能
根据组学数据分析结果,生成疾病风险评估和健康建议。
流程
核心函数
from services.ai.diagnosis import calculate_risk_score, generate_recommendations
# 计算风险评分
risk = calculate_risk_score(
biomarkers={"gut_diversity": 0.7, "metabolic_score": 0.6},
age=45,
gender="male"
)
# 生成建议
recommendations = generate_recommendations(
risk_level="high",
disease_type="cardiovascular"
)
诊断类型
class DiagnosisType(Enum):
CARDIOVASCULAR = "cardiovascular" # 心血管疾病
METABOLIC = "metabolic" # 代谢性疾病
GASTROINTESTINAL = "gastrointestinal" # 胃肠道疾病
IMMUNE = "immune" # 免疫相关
ONCOLOGY = "oncology" # 肿瘤风险
2. 健康对话 (chatbot.py)
功能
基于 LLM 的智能健康助手,支持: - 症状分析 - 报告解读 - 健康咨询
流程
核心函数
from services.ai.chatbot import generate_ai_response, analyze_symptoms
# 生成对话响应
response = generate_ai_response(
message="最近总是疲劳",
context=ConversationContext(conversation_type="health_consultation")
)
# 分析症状
analysis = analyze_symptoms(
message="头痛、疲劳、失眠",
context=ctx
)
对话类型
class ConversationType(Enum):
HEALTH_CONSULTATION = "health_consultation" # 健康咨询
REPORT_INTERPRETATION = "report_interpretation" # 报告解读
LIFESTYLE_GUIDANCE = "lifestyle_guidance" # 生活方式指导
上下文管理
- 会话历史自动保存
- 自动清理过期会话(默认保留 100 条)
- 支持多轮对话上下文
3. RAG 系统 (rag_system.py)
功能
检索增强生成,用于: - 医学知识问答 - 文献检索 - 诊断建议增强
流程
核心函数
from services.ai.rag_system import retrieve_relevant_documents, generate_answer
# 检索相关文档
docs = retrieve_relevant_documents(
query="肠道菌群与心血管疾病关系",
top_k=5
)
# 生成答案
answer = generate_answer(
query="肠道菌群如何影响心脏健康",
context_docs=docs
)
知识库结构
4. 统一引擎 (unified_engine.py)
功能
整合多种组学数据,进行综合分析。
流程
核心函数
from services.ai.unified_engine import UnifiedOmicsEngine
engine = UnifiedOmicsEngine()
# 快速分析
result = engine.quick_analyze(
omics_data={
"microbiome": microbiome_data,
"metabolomics": metabolomics_data,
"genomics": genomics_data
},
patient_id="P001"
)
# 跨组学融合
fusion = engine.cross_omics_fusion(data_list=[microbiome, metabolomics])
5. 融合引擎 (integration_engine.py)
功能
高级多组学数据融合,支持: - 特征提取 - 权重分配 - 交叉验证
流程
核心函数
from services.ai.integration_engine import MultiOmicsEngine
engine = MultiOmicsEngine()
# 整合分析
result = engine.integrate(
texts={
"microbiome": "肠道菌群分析报告...",
"metabolomics": "代谢组学分析报告...",
"genomics": "基因组分析报告..."
},
info={"patient_id": "P001", "age": 45}
)