From e8496def9055aae9b5953e4b2ac6101295778c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=B5=D0=BB=D0=B8=D0=BD=D0=B0=20=D0=A1=D0=B0?= =?UTF-8?q?=D1=82=D1=82=D0=B0=D1=80=D0=BE=D0=B2=D0=B0?= Date: Thu, 28 May 2026 14:32:53 +0000 Subject: [PATCH] add cli --- cli.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 cli.py diff --git a/cli.py b/cli.py new file mode 100644 index 0000000..b620fb9 --- /dev/null +++ b/cli.py @@ -0,0 +1,30 @@ +import argparse +from tools import add_to_knowledge_base, search_knowledge_base + + +def main(): + parser = argparse.ArgumentParser(description="RAG Agent CLI") + subparsers = parser.add_subparsers(dest='command') + + add_parser = subparsers.add_parser('add', help='Add document to knowledge base') + add_parser.add_argument('--title', required=True, help='Title of the document') + add_parser.add_argument('--content', required=True, help='Content of the document') + + search_parser = subparsers.add_parser('search', help='Search knowledge base') + search_parser.add_argument('--query', required=True, help='Query string') + search_parser.add_argument('--max', type=int, default=5, help='Max results') + + args = parser.parse_args() + + if args.command == 'add': + result = add_to_knowledge_base(args.content, args.title) + print(result) + elif args.command == 'search': + results = search_knowledge_base(args.query, args.max) + for i, r in enumerate(results, 1): + print(f"{i}. {r}") + else: + parser.print_help() + +if __name__ == "__main__": + main()