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.
This commit is contained in:
Paul Gauthier 2024-02-24 07:11:58 -08:00
parent 37f708b208
commit a3285edc4f

View file

@ -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)