Удалить cli.py
This commit is contained in:
@@ -1,66 +0,0 @@
|
||||
"""
|
||||
CLI for interacting with the RAG agent.
|
||||
|
||||
This script provides three explicit commands:
|
||||
|
||||
* ``/add <text>`` – add a piece of text to the knowledge base.
|
||||
* ``/search <query>`` – search the knowledge base and display results.
|
||||
* ``/quit`` – exit the program.
|
||||
|
||||
Any other input is forwarded to the underlying agent as a normal question.
|
||||
"""
|
||||
import asyncio
|
||||
from langchain_core.messages import HumanMessage
|
||||
from agent import run_agent
|
||||
from tools import add_to_knowledge_base, search_knowledge_base
|
||||
|
||||
async def main() -> None:
|
||||
print("RAG Agent CLI. Type /quit to exit.")
|
||||
while True:
|
||||
user_input = input("You: ")
|
||||
stripped = user_input.strip()
|
||||
if not stripped:
|
||||
continue
|
||||
# Handle explicit commands
|
||||
if stripped.startswith("/add "):
|
||||
text = stripped[5:].strip()
|
||||
if not text:
|
||||
print("Error: /add requires a non‑empty text.")
|
||||
continue
|
||||
try:
|
||||
await add_to_knowledge_base(text)
|
||||
print("✅ Added to knowledge base.")
|
||||
except Exception as exc: # pragma: no cover - defensive
|
||||
print(f"❌ Failed to add: {exc}")
|
||||
elif stripped.startswith("/search "):
|
||||
query = stripped[8:].strip()
|
||||
if not query:
|
||||
print("Error: /search requires a non‑empty query.")
|
||||
continue
|
||||
try:
|
||||
results = await search_knowledge_base(query)
|
||||
if not results:
|
||||
print("No results found.")
|
||||
else:
|
||||
for idx, res in enumerate(results, start=1):
|
||||
print(f"{idx}. {res}")
|
||||
except Exception as exc: # pragma: no cover - defensive
|
||||
print(f"❌ Search error: {exc}")
|
||||
elif stripped == "/quit":
|
||||
print("Goodbye!")
|
||||
break
|
||||
else:
|
||||
# Forward to agent
|
||||
msg = HumanMessage(content=user_input)
|
||||
try:
|
||||
response = await run_agent([msg])
|
||||
# ``run_agent`` returns the last assistant message as a string.
|
||||
if isinstance(response, str):
|
||||
print(f"Agent: {response}")
|
||||
else:
|
||||
print("Agent returned unexpected format.")
|
||||
except Exception as exc: # pragma: no cover - defensive
|
||||
print(f"❌ Agent error: {exc}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user