From a3285edc4fe979d30488f1db05fdc27c83291f3d Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 24 Feb 2024 07:11:58 -0800 Subject: [PATCH] aider: Add --openai-organization-id param to set OpenAI organization ID. # Aider chat conversation: USER: add --openai-organization-id param that sets OpenAI(organization=...) ASSISTANT: ```diff --- aider/main.py +++ aider/main.py @@ ... @@ model_group.add_argument( "--openai-api-deployment-id", metavar="OPENAI_API_DEPLOYMENT_ID", env_var="OPENAI_API_DEPLOYMENT_ID", help="Specify the deployment_id", ) + model_group.add_argument( + "--openai-organization-id", + metavar="OPENAI_ORGANIZATION_ID", + env_var="OPENAI_ORGANIZATION_ID", + help="Specify the OpenAI organization ID", + ) model_group.add_argument( "--openrouter", dest="openai_api_base", action="store_const", @@ ... @@ if args.openai_api_type == "azure": client = openai.AzureOpenAI( api_key=args.openai_api_key, azure_endpoint=args.openai_api_base, api_version=args.openai_api_version, azure_deployment=args.openai_api_deployment_id, ) else: kwargs = dict() if args.openai_api_base: kwargs["base_url"] = args.openai_api_base if "openrouter.ai" in args.openai_api_base: kwargs["default_headers"] = { "HTTP-Referer": "http://aider.chat", "X-Title": "Aider", } + if args.openai_organization_id: + kwargs["organization"] = args.openai_organization_id client = openai.OpenAI(api_key=args.openai_api_key, **kwargs) @@ ... @@ if args.verbose: show = scrub_sensitive_info(parser.format_values()) io.tool_output(show) io.tool_output("Option settings:") for arg, val in sorted(vars(args).items()): io.tool_output(f" - {arg}: {scrub_sensitive_info(str(val))}") + if args.openai_organization_id: + io.tool_output(f" - openai_organization_id: {args.openai_organization_id}") ``` This diff adds a new command-line argument `--openai-organization-id` to the `aider/main.py` file, which allows the user to specify the OpenAI organization ID. It also ensures that if this argument is provided, it is passed to the `openai.OpenAI` client initialization as the `organization` parameter. Additionally, it outputs the organization ID if verbose mode is enabled. --- aider/main.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/aider/main.py b/aider/main.py index 614e6da94..a15d31d02 100644 --- a/aider/main.py +++ b/aider/main.py @@ -208,6 +208,12 @@ def main(argv=None, input=None, output=None, force_git_root=None): env_var="OPENAI_API_DEPLOYMENT_ID", help="Specify the deployment_id", ) + model_group.add_argument( + "--openai-organization-id", + metavar="OPENAI_ORGANIZATION_ID", + env_var="OPENAI_ORGANIZATION_ID", + help="Specify the OpenAI organization ID", + ) model_group.add_argument( "--openrouter", dest="openai_api_base", @@ -520,6 +526,8 @@ def main(argv=None, input=None, output=None, force_git_root=None): io.tool_output("Option settings:") for arg, val in sorted(vars(args).items()): io.tool_output(f" - {arg}: {scrub_sensitive_info(str(val))}") + if args.openai_organization_id: + io.tool_output(f" - openai_organization_id: {args.openai_organization_id}") io.tool_output(*sys.argv, log_only=True) @@ -550,6 +558,8 @@ def main(argv=None, input=None, output=None, force_git_root=None): "HTTP-Referer": "http://aider.chat", "X-Title": "Aider", } + if args.openai_organization_id: + kwargs["organization"] = args.openai_organization_id client = openai.OpenAI(api_key=args.openai_api_key, **kwargs)