From ac91df91d0b84491e9a8998e7e649b55cde41d56 Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Wed, 2 Oct 2024 11:53:56 +0100 Subject: [PATCH] Add user/collection metadata to query --- .../trustgraph/clients/graph_rag_client.py | 7 +++-- .../trustgraph/schema/retrieval.py | 4 +++ trustgraph-cli/scripts/tg-query-document-rag | 27 ++++++++++++++--- trustgraph-cli/scripts/tg-query-graph-rag | 29 +++++++++++++++---- 4 files changed, 56 insertions(+), 11 deletions(-) diff --git a/trustgraph-base/trustgraph/clients/graph_rag_client.py b/trustgraph-base/trustgraph/clients/graph_rag_client.py index e546aaed..9f8eff62 100644 --- a/trustgraph-base/trustgraph/clients/graph_rag_client.py +++ b/trustgraph-base/trustgraph/clients/graph_rag_client.py @@ -38,9 +38,12 @@ class GraphRagClient(BaseClient): output_schema=GraphRagResponse, ) - def request(self, query, timeout=500): + def request( + self, query, user="trustgraph", collection="default", + timeout=500 + ): return self.call( - query=query, timeout=timeout + user=user, collection=collection, query=query, timeout=timeout ).response diff --git a/trustgraph-base/trustgraph/schema/retrieval.py b/trustgraph-base/trustgraph/schema/retrieval.py index fa0288fc..ad860c3c 100644 --- a/trustgraph-base/trustgraph/schema/retrieval.py +++ b/trustgraph-base/trustgraph/schema/retrieval.py @@ -9,6 +9,8 @@ from . types import Error, Value class GraphRagQuery(Record): query = String() + user = String() + collection = String() class GraphRagResponse(Record): error = Error() @@ -27,6 +29,8 @@ graph_rag_response_queue = topic( class DocumentRagQuery(Record): query = String() + user = String() + collection = String() class DocumentRagResponse(Record): error = Error() diff --git a/trustgraph-cli/scripts/tg-query-document-rag b/trustgraph-cli/scripts/tg-query-document-rag index 948dcd2f..8d800629 100755 --- a/trustgraph-cli/scripts/tg-query-document-rag +++ b/trustgraph-cli/scripts/tg-query-document-rag @@ -9,17 +9,19 @@ import os from trustgraph.clients.document_rag_client import DocumentRagClient default_pulsar_host = os.getenv("PULSAR_HOST", 'pulsar://localhost:6650') +default_user = 'trustgraph' +default_collection = 'default' -def query(pulsar, query): +def query(pulsar_host, query, user, collection): rag = DocumentRagClient(pulsar_host=pulsar) - resp = rag.request(query) + resp = rag.request(user=user, collection=collection, query=query) print(resp) def main(): parser = argparse.ArgumentParser( - prog='graph-show', + prog='tg-query-document-rag', description=__doc__, ) @@ -35,11 +37,28 @@ def main(): help=f'Query to execute', ) + parser.add_argument( + '-u', '--user', + default=default_user, + help=f'User ID (default: {default_user})' + ) + + parser.add_argument( + '-c', '--collection', + default=default_collection, + help=f'Collection ID (default: {default_collection})' + ) + args = parser.parse_args() try: - query(args.pulsar_host, args.query) + query( + pulsar_host=args.pulsar_host, + query=args.query, + user=args.user, + collection=args.collection, + ) except Exception as e: diff --git a/trustgraph-cli/scripts/tg-query-graph-rag b/trustgraph-cli/scripts/tg-query-graph-rag index 5250bf15..8a865eea 100755 --- a/trustgraph-cli/scripts/tg-query-graph-rag +++ b/trustgraph-cli/scripts/tg-query-graph-rag @@ -9,17 +9,19 @@ import os from trustgraph.clients.graph_rag_client import GraphRagClient default_pulsar_host = os.getenv("PULSAR_HOST", 'pulsar://localhost:6650') +default_user = 'trustgraph' +default_collection = 'default' -def query(pulsar, query): +def query(pulsar_host, query, user, collection): - rag = GraphRagClient(pulsar_host=pulsar) - resp = rag.request(query) + rag = GraphRagClient(pulsar_host=pulsar_host) + resp = rag.request(user=user, collection=collection, query=query) print(resp) def main(): parser = argparse.ArgumentParser( - prog='graph-show', + prog='tg-graph-query-rag', description=__doc__, ) @@ -35,11 +37,28 @@ def main(): help=f'Query to execute', ) + parser.add_argument( + '-u', '--user', + default=default_user, + help=f'User ID (default: {default_user})' + ) + + parser.add_argument( + '-c', '--collection', + default=default_collection, + help=f'Collection ID (default: {default_collection})' + ) + args = parser.parse_args() try: - query(args.pulsar_host, args.query) + query( + pulsar_host=args.pulsar_host, + query=args.query, + user=args.user, + collection=args.collection, + ) except Exception as e: