Spaces:
Sleeping
Sleeping
| """ | |
| IRIS classification - command line inference via API | |
| """ | |
| import sys | |
| import json | |
| import argparse | |
| import requests | |
| # Default examples | |
| # api_url = "http://localhost:8080/2015-03-31/functions/function/invocations" | |
| def arg_parser(): | |
| """Parse arguments""" | |
| # Create an ArgumentParser object | |
| parser = argparse.ArgumentParser(description="IRIS classification inference via API call") | |
| # Add arguments | |
| parser.add_argument( | |
| "-u", "--url", type=str, help="URL to the server (with endpoint location)", required=True | |
| ) | |
| parser.add_argument("-d", "--data", type=str, help="Input data", required=True) | |
| parser.add_argument("-v", "--verbose", action="store_true", help="Increase output verbosity") | |
| return parser | |
| def main(args=None): | |
| """Main function""" | |
| args = arg_parser().parse_args(args) | |
| # Use the arguments | |
| if args.verbose: | |
| print(f"Input data: {args.data}") | |
| print(f"Input data type: {type(args.data)}") | |
| # Send request to API | |
| response = requests.post(args.url, json=json.loads(args.data), timeout=60) | |
| if response.status_code == 200: | |
| # Process the response | |
| processed_data = json.loads(response.content) | |
| print("processed_data", processed_data) | |
| else: | |
| print(f"Error: {response.status_code}") | |
| if __name__ == "__main__": | |
| sys.exit(main(sys.argv[1:])) | |