from langchain_core.tools import tool def make_graph_tools(graph_service, user_id: str = "default"): """지식 그래프 저장/조회 Tool 쌍을 반환한다.""" @tool def add_relation(subject: str, relation: str, obj: str) -> str: """가족 구성원이나 사물 사이의 관계를 지식 그래프에 저장합니다. 알레르기·가족 관계·선호도·질환·특기 등 관계형 정보를 저장할 때 사용하세요. 예: subject='도율', relation='알레르기', obj='복숭아' subject='아록', relation='자녀', obj='도율' subject='근혜', relation='직업', obj='간호사' subject='하율', relation='좋아하는음식', obj='바나나'""" return graph_service.add_relation(subject, relation, obj, user_id) @tool def query_entity(entity: str) -> str: """특정 인물이나 사물에 대해 저장된 모든 관계 정보를 조회합니다. 예: entity='도율' → 도율의 알레르기, 나이, 부모, 좋아하는 것 등 모든 알려진 관계""" return graph_service.query_entity(entity, user_id) return add_relation, query_entity