# 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.