OverviewFilesCommitsIssuesDocsReleasesPeers

ollama_semantic_function_calling / ollamatools-new / ollamatools / cli / main.py

55 lines · python ref:
"""Command-line interface for OllamaTools."""

import argparse
import sys
from typing import List, Optional

def parse_args(args: Optional[List[str]] = None) -> argparse.Namespace:
    """Parse command-line arguments."""
    parser = argparse.ArgumentParser(description="OllamaTools - A toolkit for working with Ollama")
    
    # Add subparsers for different commands
    subparsers = parser.add_subparsers(dest="command", help="Command to execute")
    
    # Chat command
    chat_parser = subparsers.add_parser("chat", help="Start a chat session")
    chat_parser.add_argument("--model", "-m", default="llama2", help="Model to use for chat")
    chat_parser.add_argument("--config", "-c", help="Path to configuration file")
    
    # Run command
    run_parser = subparsers.add_parser("run", help="Run a script or command")
    run_parser.add_argument("script", help="Script or command to run")
    run_parser.add_argument("--model", "-m", default="llama2", help="Model to use for execution")
    
    # Version command
    subparsers.add_parser("version", help="Show version information")
    
    return parser.parse_args(args)

def main(args: Optional[List[str]] = None) -> int:
    """Main entry point for the CLI."""
    parsed_args = parse_args(args)
    
    if parsed_args.command == "chat":
        # Start chat session
        print(f"Starting chat session with model {parsed_args.model}")
        # Implementation
        return 0
    elif parsed_args.command == "run":
        # Run script or command
        print(f"Running {parsed_args.script} with model {parsed_args.model}")
        # Implementation
        return 0
    elif parsed_args.command == "version":
        # Show version information
        from ollamatools.version import __version__
        print(f"OllamaTools version {__version__}")
        return 0
    else:
        # No command specified, show help
        parse_args(["--help"])
        return 1

if __name__ == "__main__":
    sys.exit(main())