diff --git a/interactive_client.py b/interactive_client.py new file mode 100644 index 0000000..09af72c --- /dev/null +++ b/interactive_client.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +"""Interactive test CLI client for RAG agent with /add, /search, /quit commands.""" + +from rag_tools import search_knowledge_base, add_to_knowledge_base + + +PROMPT = "> " + + +def main(): + print("=== RAG Knowledge Base CLI ===") + print("Commands: /add | /search <query> | /quit") + print("-" * 40) + + while True: + try: + user_input = input(PROMPT).strip() + except +SŃQ\œ›Ü‹Ů^X›Ř\™[\œ\ +N‚ˆš[ +—žYHHŠBˆœ™XZ‚ˆYˆ›Ý\Ů\—Ú[œ]‚ˆŰ۝[YB‚ˆYˆ\Ů\—Ú[œ] œÝ\ÝÚ] +‹ÜŮX\˜ÚŠN‚ˆ]Y\žHH\Ů\—Ú[œ]΋ÜŮX\˜ÚŽ…Ň .strip() + if not query: + print("Use: /search <your_query>") + continue + print("\nSearching...") + result = search_knowledge_base(query) + print(f"\n{result}\n") + + elif user_input.startswith("/add "): + title_and_content = user_input[5:].strip() + if "|" in title_and_content: + parts = title_and_content.split("|", 1) + title = parts[0].strip() + content = parts[1].strip() + else: + title = title_and_content + content = input("Enter content: ").strip() + + if not content: + print("Error: content cannot be empty.") + continue + + result = add_to_knowledge_base(content, title) + print(f\n{result}\n") + + elif user_input == "/quit": + print("Bye!") + break + + else: + print(f"Unknown command: {user_input}") + print("Available: /add <title>|<content>, /search <query>, /quit") + + +if __name__ == "__main__": + main()