diff --git a/cli_client.py b/cli_client.py new file mode 100644 index 0000000..d80ae5d --- /dev/null +++ b/cli_client.py @@ -0,0 +1,27 @@ +"""Interactive CLI client for the RAG agent.""" + +import argparse +from typing import Any + +from .rag_tools import search_knowledge_base, add_to_knowledge_base +from .agent import executor + + +def main() -> None: + parser = argparse.ArgumentParser(description="RAG CLI client.") + parser.add_argument("command", choices=["/add", "/search", "/quit"], help="Command to execute") + parser.add_argument("--text", default="", help="Text for /add or query for /search") + args = parser.parse_args() + + if args.command == "/add": + result = add_to_knowledge_base(args.text) + print(result) + elif args.command == "/search": + results = search_knowledge_base(args.text, max_results=5) + for text, score in results: + print(f"{score:.4f}: {text[:200]}...") + else: # /quit + print("Goodbye!") + +if __name__ == "__main__": + main()