openai/openai-python

Public

mirrored from https://github.com/openai/openai-pythonAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v0.18.1

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

openai/_openai_scripts.py

74lines · modecode

1#!/usr/bin/env python
2import argparse
3import logging
4import sys
5
6import openai
7from openai.cli import api_register, display_error, tools_register, wandb_register
8
9logger = logging.getLogger()
10formatter = logging.Formatter("[%(asctime)s] %(message)s")
11handler = logging.StreamHandler(sys.stderr)
12handler.setFormatter(formatter)
13logger.addHandler(handler)
14
15
16def main():
17 parser = argparse.ArgumentParser(description=None)
18 parser.add_argument(
19 "-v",
20 "--verbose",
21 action="count",
22 dest="verbosity",
23 default=0,
24 help="Set verbosity.",
25 )
26 parser.add_argument("-b", "--api-base", help="What API base url to use.")
27 parser.add_argument("-k", "--api-key", help="What API key to use.")
28 parser.add_argument(
29 "-o",
30 "--organization",
31 help="Which organization to run as (will use your default organization if not specified)",
32 )
33
34 def help(args):
35 parser.print_help()
36
37 parser.set_defaults(func=help)
38
39 subparsers = parser.add_subparsers()
40 sub_api = subparsers.add_parser("api", help="Direct API calls")
41 sub_tools = subparsers.add_parser("tools", help="Client side tools for convenience")
42 sub_wandb = subparsers.add_parser("wandb", help="Logging with Weights & Biases")
43
44 api_register(sub_api)
45 tools_register(sub_tools)
46 wandb_register(sub_wandb)
47
48 args = parser.parse_args()
49 if args.verbosity == 1:
50 logger.setLevel(logging.INFO)
51 elif args.verbosity >= 2:
52 logger.setLevel(logging.DEBUG)
53
54 openai.debug = True
55 if args.api_key is not None:
56 openai.api_key = args.api_key
57 if args.api_base is not None:
58 openai.api_base = args.api_base
59 if args.organization is not None:
60 openai.organization = args.organization
61
62 try:
63 args.func(args)
64 except openai.error.OpenAIError as e:
65 display_error(e)
66 return 1
67 except KeyboardInterrupt:
68 sys.stderr.write("\n")
69 return 1
70 return 0
71
72
73if __name__ == "__main__":
74 sys.exit(main())
75