瀏覽代碼

代码提交

SGTY 4 天之前
父節點
當前提交
64e1a3ff9b
共有 2 個文件被更改,包括 13 次插入12 次删除
  1. 2 1
      src/knowledge/main.py
  2. 11 11
      src/knowledge/router/medical_knowledge_api.py

+ 2 - 1
src/knowledge/main.py

@@ -35,6 +35,7 @@ async def startup(app: FastAPI):
     from .router.knowledge_nodes_api import knowledge_nodes_api_router
     from .router.knowledge_nodes_api import knowledge_nodes_api_router
     from .router.knowledge_saas import saas_kb_router
     from .router.knowledge_saas import saas_kb_router
     from .router.text_search import text_search_router
     from .router.text_search import text_search_router
+    from .router.medical_knowledge_api import medical_knowledge_router
     from .utils import log_util
     from .utils import log_util
     
     
     log_util.setup_logger()
     log_util.setup_logger()
@@ -44,7 +45,7 @@ async def startup(app: FastAPI):
     app.include_router(text_search_router)
     app.include_router(text_search_router)
     app.include_router(graph_router)
     app.include_router(graph_router)
     app.include_router(saas_kb_router)
     app.include_router(saas_kb_router)
-    
+    app.include_router(medical_knowledge_router)
     # 挂载静态文件目录
     # 挂载静态文件目录
     config = SiteConfig()
     config = SiteConfig()
     books_path = Path(config.get_config("BOOKS"))
     books_path = Path(config.get_config("BOOKS"))

+ 11 - 11
src/knowledge/router/medical_knowledge_api.py

@@ -100,7 +100,7 @@ async def get_disease_symptoms(
         logger.error(f"获取疾病症状失败: {str(e)}")
         logger.error(f"获取疾病症状失败: {str(e)}")
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
 
 
-@router.post("/disease_info", response_model=StandardResponse)
+@app.post("/disease_info", response_model=StandardResponse)
 async def get_disease_info(
 async def get_disease_info(
     request: DiseaseInfoRequest,
     request: DiseaseInfoRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -116,7 +116,7 @@ async def get_disease_info(
 class DrugRequest(BaseModel):
 class DrugRequest(BaseModel):
     drug_id: str
     drug_id: str
 
 
-@router.post("/drug_indications", response_model=StandardResponse)
+@app.post("/drug_indications", response_model=StandardResponse)
 async def get_drug_indications(
 async def get_drug_indications(
     request: DrugRequest,
     request: DrugRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -128,7 +128,7 @@ async def get_drug_indications(
         logger.error(f"获取药物适应症失败: {str(e)}")
         logger.error(f"获取药物适应症失败: {str(e)}")
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
 
 
-@router.post("/drug_contraindications", response_model=StandardResponse)
+@app.post("/drug_contraindications", response_model=StandardResponse)
 async def get_drug_contraindications(
 async def get_drug_contraindications(
     request: DrugRequest,
     request: DrugRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -140,7 +140,7 @@ async def get_drug_contraindications(
         logger.error(f"获取药物禁忌症失败: {str(e)}")
         logger.error(f"获取药物禁忌症失败: {str(e)}")
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
 
 
-@router.post("/drug_interactions", response_model=StandardResponse)
+@app.post("/drug_interactions", response_model=StandardResponse)
 async def get_drug_interactions(
 async def get_drug_interactions(
     request: DrugRequest,
     request: DrugRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -164,7 +164,7 @@ class SimilarConceptsRequest(BaseModel):
     concept_id: str
     concept_id: str
     top_k: int = 5
     top_k: int = 5
 
 
-@router.post("/search_concept",
+@app.post("/search_concept",
     operation_id="医学概念搜索",
     operation_id="医学概念搜索",
     summary="根据名称和类型搜索医学概念",
     summary="根据名称和类型搜索医学概念",
     description="""根据概念名称和类型搜索医学概念节点。
     description="""根据概念名称和类型搜索医学概念节点。
@@ -295,7 +295,7 @@ class DepartmentRequest(BaseModel):
     diagnosis: str
     diagnosis: str
     symptoms: Optional[List[str]] = None
     symptoms: Optional[List[str]] = None
 
 
-@router.post("/medical/check_diagnosis", response_model=StandardResponse)
+@app.post("/medical/check_diagnosis", response_model=StandardResponse)
 async def check_diagnosis_consistency(
 async def check_diagnosis_consistency(
     request: DiagnosisCheckRequest,
     request: DiagnosisCheckRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -307,7 +307,7 @@ async def check_diagnosis_consistency(
         logger.error(f"诊断一致性检查失败: {str(e)}")
         logger.error(f"诊断一致性检查失败: {str(e)}")
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
 
 
-@router.post("/medical/suggest_questions", response_model=StandardResponse)
+@app.post("/medical/suggest_questions", response_model=StandardResponse)
 async def suggest_next_questions(
 async def suggest_next_questions(
     request: NextQuestionsRequest,
     request: NextQuestionsRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -319,7 +319,7 @@ async def suggest_next_questions(
         logger.error(f"建议下一步问题失败: {str(e)}")
         logger.error(f"建议下一步问题失败: {str(e)}")
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
 
 
-@router.post("/medical/triage_guidance", response_model=StandardResponse)
+@app.post("/medical/triage_guidance", response_model=StandardResponse)
 async def get_triage_guidance(
 async def get_triage_guidance(
     request: TriageRequest,
     request: TriageRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -331,7 +331,7 @@ async def get_triage_guidance(
         logger.error(f"获取分诊建议失败: {str(e)}")
         logger.error(f"获取分诊建议失败: {str(e)}")
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
 
 
-@router.post("/medical/coding_recommendation", response_model=StandardResponse)
+@app.post("/medical/coding_recommendation", response_model=StandardResponse)
 async def get_coding_recommendation(
 async def get_coding_recommendation(
     request: CodingRequest,
     request: CodingRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -343,7 +343,7 @@ async def get_coding_recommendation(
         logger.error(f"获取编码推荐失败: {str(e)}")
         logger.error(f"获取编码推荐失败: {str(e)}")
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
         raise HTTPException(500, detail=StandardResponse.error(str(e)))
 
 
-@router.post("/medical/suggest_department", response_model=StandardResponse)
+@app.post("/medical/suggest_department", response_model=StandardResponse)
 async def suggest_appropriate_department(
 async def suggest_appropriate_department(
     request: DepartmentRequest,
     request: DepartmentRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)
@@ -360,7 +360,7 @@ class MedicalRecordRequest(BaseModel):
     medical_record: Dict[str, Any]
     medical_record: Dict[str, Any]
     validate_type: str
     validate_type: str
 
 
-@router.post("/medical/validate_record", response_model=StandardResponse)
+@app.post("/medical/validate_record", response_model=StandardResponse)
 async def validate_medical_record(
 async def validate_medical_record(
     request: MedicalRecordRequest,
     request: MedicalRecordRequest,
     db: Session = Depends(get_db)
     db: Session = Depends(get_db)