From 3857f7ef6e4ebe49058ce03fcb81fc27a53034d9 Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Wed, 26 Nov 2025 17:26:05 +0000 Subject: [PATCH] Normalise CLI --no-streaming in CLI --- docs/tech-specs/rag-streaming-support.md | 9 +++++---- trustgraph-cli/trustgraph/cli/invoke_document_rag.py | 6 +++--- trustgraph-cli/trustgraph/cli/invoke_graph_rag.py | 6 +++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/tech-specs/rag-streaming-support.md b/docs/tech-specs/rag-streaming-support.md index 709209d7..ab5e12ab 100644 --- a/docs/tech-specs/rag-streaming-support.md +++ b/docs/tech-specs/rag-streaming-support.md @@ -203,7 +203,7 @@ async def handle(self, message, session, websocket): 2. Update GraphRag.query() and DocumentRag.query() methods 3. Update Processors to handle streaming 4. Update Gateway dispatch handlers -5. Add CLI flags to `tg-invoke-graph-rag` and `tg-invoke-document-rag` +5. Add `--no-streaming` flags to `tg-invoke-graph-rag` and `tg-invoke-document-rag` (streaming enabled by default, following agent CLI pattern) **Callback pattern**: Follow the same async callback pattern established in Agent streaming: @@ -255,9 +255,10 @@ No new security considerations beyond existing RAG services: - Test CLI streaming output **Manual testing**: -- `tg-invoke-graph-rag --streaming -q "What is machine learning?"` -- `tg-invoke-document-rag --streaming -q "Summarize the documents about AI"` -- Verify incremental output appears +- `tg-invoke-graph-rag -q "What is machine learning?"` (streaming by default) +- `tg-invoke-document-rag -q "Summarize the documents about AI"` (streaming by default) +- `tg-invoke-graph-rag --no-streaming -q "..."` (test non-streaming mode) +- Verify incremental output appears in streaming mode ## Migration Plan diff --git a/trustgraph-cli/trustgraph/cli/invoke_document_rag.py b/trustgraph-cli/trustgraph/cli/invoke_document_rag.py index e500da93..e6a040ac 100644 --- a/trustgraph-cli/trustgraph/cli/invoke_document_rag.py +++ b/trustgraph-cli/trustgraph/cli/invoke_document_rag.py @@ -132,16 +132,16 @@ def main(): ) parser.add_argument( - '--streaming', + '--no-streaming', action='store_true', - help='Enable streaming mode (token-by-token output)' + help='Disable streaming (use non-streaming mode)' ) args = parser.parse_args() try: - if args.streaming: + if not args.no_streaming: asyncio.run( question_streaming( url=args.url, diff --git a/trustgraph-cli/trustgraph/cli/invoke_graph_rag.py b/trustgraph-cli/trustgraph/cli/invoke_graph_rag.py index accabaa8..45d02b6d 100644 --- a/trustgraph-cli/trustgraph/cli/invoke_graph_rag.py +++ b/trustgraph-cli/trustgraph/cli/invoke_graph_rag.py @@ -164,16 +164,16 @@ def main(): ) parser.add_argument( - '--streaming', + '--no-streaming', action='store_true', - help='Enable streaming mode (token-by-token output)' + help='Disable streaming (use non-streaming mode)' ) args = parser.parse_args() try: - if args.streaming: + if not args.no_streaming: asyncio.run( question_streaming( url=args.url,