def NLURecall(self, request, context): result = mem(request) go = result[0] if result else None if isinstance(result, GraphNode): dctgn = convert_graphobj_to_dict(result) gop = nlm_pb2.GraphNode(**dctgn) elif isinstance(go, GraphRelation): dctgr = convert_graphobj_to_dict(result) gop = nlm_pb2.GraphRelation(**dctgr) else: gop = nlm_pb2.GraphNode(**{}) return nlm_pb2.GraphOutput(gn=gop)
def test_recall_relation_start_not_exist2(grpc_stub): start = nlm_pb2.GraphNode(label="Person", name="AliceThreeNotExist", props=json.dumps({})) end = nlm_pb2.GraphNode(label="Person", name="AliceOne", props=json.dumps({})) kind = "LIKES" props = {} request = nlm_pb2.GraphRelation(start=start, end=end, kind=kind, props=json.dumps(props)) response = grpc_stub.RelationRecall(request) assert isinstance(response, nlm_pb2.GraphRelation) assert response.start.name == "AliceSeven" assert response.end != end assert response.kind == kind assert isinstance(response.props, str) assert json.loads(response.props) != props
def test_recall_relation_exist_only_props2(grpc_stub): start = nlm_pb2.GraphNode(label="Person", name="AliceThree", props=json.dumps({})) end = nlm_pb2.GraphNode(label="Person", name="AliceOne", props=json.dumps({})) props = {"from": 2009} request = nlm_pb2.GraphRelation(start=start, end=end, kind=None, props=json.dumps(props)) response = grpc_stub.RelationRecall(request) assert isinstance(response, nlm_pb2.GraphRelation) assert response.start != start assert response.end != end assert response.start.name == start.name assert response.end.label == end.label assert response.kind == "WORK_WITH" assert isinstance(response.props, str) assert json.loads(response.props) != props
def test_recall_relation_exist_fuzzy_kind(grpc_stub): start = nlm_pb2.GraphNode(label="Person", name="AliceThree", props=json.dumps({})) end = nlm_pb2.GraphNode(label="Person", name="AliceOne", props=json.dumps({})) kind = "LOVEING" props = {"roles": "husband"} request = nlm_pb2.GraphRelation(start=start, end=end, kind=kind, props=json.dumps(props)) response = grpc_stub.RelationRecall(request) assert isinstance(response, nlm_pb2.GraphRelation) assert response.start != start assert response.end != end assert response.start.name == start.name assert response.end.label == end.label assert response.kind == "LOVES" assert isinstance(response.props, str) assert json.loads(response.props) != props
def test_recall_node_not_exist(grpc_stub): label = "Person" name = "AliceFive1" props = {"age": 24} request = nlm_pb2.GraphNode(label=label, name=name, props=json.dumps(props)) response = grpc_stub.NodeRecall(request) assert isinstance(response, nlm_pb2.GraphNode) assert response.label == label assert response.name == name assert isinstance(response.props, str) assert json.loads(response.props) == props
def recall_node(self, label: str, name: str, props: dict = {}): request = nlm_pb2.GraphNode( label=label, name=name, props=json.dumps(props)) response = self.stub.NodeRecall(request) return response
request = nlm_pb2.NLMInput(text=text, intent=intent, entities=entities) response = self.stub.NLURecall(request) return response if __name__ == '__main__': nlmc = NLMClient(host="localhost", port=8080) label = "Person" name = "AliceFive" props = {"age": 24} node = nlmc.recall_node(label, name, props) print(node) print("="*50) start = nlm_pb2.GraphNode(label="Person", name="AliceThreeNotExist", props=json.dumps({})) end = nlm_pb2.GraphNode(label="Person", name="AliceOne", props=json.dumps({})) kind = "LIKES" props = {"roles": "husband"} relation = nlmc.recall_relation(start, end, kind, props) print(relation) print("="*50) rawstr = "test, test, test" res1 = nlmc.str_recall(rawstr) print(res1) print("="*50) rawstr = "test, test, test" entity1 = nlm_pb2.Entity(entity="Person", value="Alice") entity2 = nlm_pb2.Entity(entity="Person", value="Bob")
def NodeRecall(self, request, context): result = mem(request) gn = result[0] if result else request dctgn = convert_graphobj_to_dict(gn) return nlm_pb2.GraphNode(**dctgn)