diff --git a/aider/coder.py b/aider/coder.py index 9fc78c3be..99ae29e28 100755 --- a/aider/coder.py +++ b/aider/coder.py @@ -50,11 +50,12 @@ class Coder: map_tokens=1024, verbose=False, openai_api_key=None, + openai_api_base=None, ): - if openai_api_key: - openai.api_key = openai_api_key - else: + if not openai_api_key: raise MissingAPIKeyError("No OpenAI API key provided.") + openai.api_key = openai_api_key + openai.api_base = openai_api_base self.verbose = verbose self.abs_fnames = set() diff --git a/aider/main.py b/aider/main.py index 3bba81d57..8cc34ac12 100644 --- a/aider/main.py +++ b/aider/main.py @@ -151,6 +151,12 @@ def main(args=None, input=None, output=None): help="Specify the OpenAI API key", env_var="OPENAI_API_KEY", ) + parser.add_argument( + "--openai-api-base", + metavar="OPENAI_API_BASE", + default="https://api.openai.com/v1", + help="Specify the OpenAI API base endpoint (default: https://api.openai.com/v1)", + ) parser.add_argument( "--dry-run", action="store_true", @@ -221,6 +227,7 @@ def main(args=None, input=None, output=None): map_tokens=args.map_tokens, verbose=args.verbose, openai_api_key=args.openai_api_key, + openai_api_base=args.openai_api_base, ) if args.dirty_commits: