agentic-search/agentic_search.py

47 lines
1.4 KiB
Python

import sys
import argparse
from agent import Agent
def setup_argparse():
parser = argparse.ArgumentParser(description='Qwen3 Agent CLI')
parser.add_argument('--model', default='qwen3:32b',
help='Model identifier (default: qwen3:32b)')
parser.add_argument('--server', default='http://localhost:11434/v1',
help='Model server URL (default: http://localhost:11434/v1)')
parser.add_argument('--api-key', default='EMPTY',
help='API key for the model server (default: EMPTY)')
subparsers = parser.add_subparsers(dest='command', help='Available commands')
# Prompt command
prompt_parser = subparsers.add_parser('prompt', help='Run agent with a prompt')
prompt_parser.add_argument('text', nargs='?', default='-',
help='Prompt text or "-" for stdin (default: -)')
return parser
def read_prompt(text: str) -> str:
"""Read prompt from argument or stdin if text is '-'"""
if text == '-':
return sys.stdin.read().strip()
return text
def main():
parser = setup_argparse()
args = parser.parse_args()
if args.command == 'prompt':
prompt_text = read_prompt(args.text)
agent = Agent(
model=args.model,
server=args.server,
api_key=args.api_key
)
agent.run(prompt_text)
else:
parser.print_help()
if __name__ == '__main__':
main()