🚀 feat: Add OPENAI_ORGANIZATION for all OpenAI Requests (#1590)

This commit is contained in:
Danny Avila 2024-01-18 20:39:30 -05:00 committed by GitHub
parent 7e2e19a134
commit a7c54573c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 17 additions and 0 deletions

View file

@ -115,6 +115,8 @@ DEBUG_OPENAI=false
# OPENAI_REVERSE_PROXY=
# OPENAI_ORGANIZATION=
#============#
# OpenRouter #
#============#

View file

@ -954,6 +954,10 @@ ${convo}
opts.defaultHeaders = { ...opts.defaultHeaders, 'api-key': this.apiKey };
}
if (process.env.OPENAI_ORGANIZATION) {
opts.organization = process.env.OPENAI_ORGANIZATION;
}
let chatCompletion;
const openai = new OpenAI({
apiKey: this.apiKey,

View file

@ -53,6 +53,10 @@ const fetchModels = async ({ apiKey, baseURL, name = 'OpenAI', azure = false })
payload.httpsAgent = new HttpsProxyAgent(PROXY);
}
if (process.env.OPENAI_ORGANIZATION && baseURL.includes('openai')) {
payload.headers['OpenAI-Organization'] = process.env.OPENAI_ORGANIZATION;
}
const res = await axios.get(`${baseURL}${azure ? '' : '/models'}`, payload);
models = res.data.data.map((item) => item.id);
} catch (err) {

View file

@ -285,6 +285,13 @@ GOOGLE_MODELS=gemini-pro,gemini-pro-vision,chat-bison,chat-bison-32k,codechat-bi
OPENAI_API_KEY=user_provided
```
- You can specify which organization to use for each API request to OpenAI. However, it is not required if you are only part of a single organization or intend to use your default organization. You can check your [default organization here](https://platform.openai.com/account/api-keys). This can also help you limit your LibreChat instance from allowing API keys outside of your organization to be used, as a mismatch between key and organization will throw an API error.
```bash
# Optional
OPENAI_ORGANIZATION=org-Y6rfake63IhVorgqfPQmGmgtId
```
- Set to true to enable debug mode for the OpenAI endpoint
```bash