|
@@ -5,6 +5,8 @@ from ..model.response import StandardResponse
|
|
|
from ..db.session import get_db
|
|
|
from sqlalchemy.orm import Session
|
|
|
import logging
|
|
|
+
|
|
|
+from ..server import app
|
|
|
from ..service.search_service import SearchBusiness
|
|
|
|
|
|
router = APIRouter(prefix="/medical", tags=["Medical Knowledge API"])
|
|
@@ -34,7 +36,44 @@ async def get_symptom_diseases(
|
|
|
logger.exception(f"获取症状相关疾病失败: {str(e)}")
|
|
|
raise HTTPException(500, detail=StandardResponse.error(str(e)))
|
|
|
|
|
|
-@router.post("/disease_symptoms", response_model=StandardResponse)
|
|
|
+@app.post("/test", operation_id="医疗知识图谱目标节点查询", summary="根据医疗知识图谱获取医疗相关信息",
|
|
|
+ description="""根据三元组的起始节点名称和关系名称,查询目标节点列表。
|
|
|
+ 该接口主要用于医疗知识图谱查询场景,例如:通过输入疾病名称和相关关系类型,
|
|
|
+ 返回该疾病对应的相关症状、治疗方法等信息。
|
|
|
+ 典型应用场景包括:
|
|
|
+ - 症状查询:输入疾病名称和"疾病相关症状"关系
|
|
|
+ - 诊断依据查询:输入疾病名称和"诊断依据"关系
|
|
|
+ - 鉴别诊断查询:输入疾病名称和"疾病相关鉴别诊断"关系""",
|
|
|
+ response_description="""返回目标节点名称的字符串列表,格式为:
|
|
|
+ ["节点名称1", "节点名称2", ...]""")
|
|
|
+async def test(node_name: str = Query(...,
|
|
|
+ description="""知识图谱三元组的起始节点名称,通常是疾病名称。
|
|
|
+ 示例值:感冒、高血压、糖尿病等""",
|
|
|
+ example="糖尿病"),
|
|
|
+ node_category: str = Query(...,
|
|
|
+ description="""知识图谱三元组的起始节点类型,通常是疾病。
|
|
|
+ 示例值:疾病、症状等""",
|
|
|
+ example="疾病"),
|
|
|
+ relation_name: str= Query(...,
|
|
|
+ description="""知识图谱三元组的关系名称,描述节点间的关系类型。
|
|
|
+ 常见关系类型包括:
|
|
|
+ - 疾病相关症状
|
|
|
+ - 诊断依据
|
|
|
+ - 疾病相关鉴别诊断""",
|
|
|
+ example="疾病相关症状"),
|
|
|
+ db: Session = Depends(get_db)) -> list[str]:
|
|
|
+ return None
|
|
|
+
|
|
|
+@router.post("/disease_symptoms", response_model=StandardResponse,operation_id="医疗知识图谱目标节点查询", summary="根据医疗知识图谱获取医疗相关信息",
|
|
|
+ description="""根据三元组的起始节点名称和关系名称,查询目标节点列表。
|
|
|
+ 该接口主要用于医疗知识图谱查询场景,例如:通过输入疾病名称和相关关系类型,
|
|
|
+ 返回该疾病对应的相关症状、治疗方法等信息。
|
|
|
+ 典型应用场景包括:
|
|
|
+ - 症状查询:输入疾病名称和"疾病相关症状"关系
|
|
|
+ - 诊断依据查询:输入疾病名称和"诊断依据"关系
|
|
|
+ - 鉴别诊断查询:输入疾病名称和"疾病相关鉴别诊断"关系""",
|
|
|
+ response_description="""返回目标节点名称的字符串列表,格式为:
|
|
|
+ ["节点名称1", "节点名称2", ...]""")
|
|
|
async def get_disease_symptoms(
|
|
|
request: DiseaseSymptomsRequest
|
|
|
):
|