feat: allow any reverse proxy URLs, add proxy support to model fetching (#1192)

* feat: allow any reverse proxy URLs

* feat: add proxy support to model fetching
This commit is contained in:
Danny Avila 2023-11-16 18:56:09 -05:00 committed by GitHub
parent bac1fb67d2
commit c64970525b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 17 additions and 19 deletions

View file

@ -145,10 +145,6 @@ class OpenAIClient extends BaseClient {
if (reverseProxy) {
this.completionsUrl = reverseProxy;
this.langchainProxy = extractBaseURL(reverseProxy);
!this.langchainProxy &&
console.warn(`The reverse proxy URL ${reverseProxy} is not valid for Plugins.
The url must follow OpenAI specs, for example: https://localhost:8080/v1/chat/completions
If your reverse proxy is compatible to OpenAI specs in every other way, it may still work without plugins enabled.`);
} else if (isChatGptModel) {
this.completionsUrl = 'https://api.openai.com/v1/chat/completions';
} else {

View file

@ -36,10 +36,6 @@ class PluginsClient extends OpenAIClient {
if (this.options.reverseProxyUrl) {
this.langchainProxy = extractBaseURL(this.options.reverseProxyUrl);
!this.langchainProxy &&
console.warn(`The reverse proxy URL ${this.options.reverseProxyUrl} is not valid for Plugins.
The url must follow OpenAI specs, for example: https://localhost:8080/v1/chat/completions
If your reverse proxy is compatible to OpenAI specs in every other way, it may still work without plugins enabled.`);
}
}

View file

@ -94,7 +94,7 @@ describe('OpenAIClient', () => {
client.setOptions({ reverseProxyUrl: 'https://example.com/completions' });
expect(client.completionsUrl).toBe('https://example.com/completions');
expect(client.langchainProxy).toBe(null);
expect(client.langchainProxy).toBe('https://example.com/completions');
});
});