From 5a9b4600335a33d8b529e77faf4db754dfa8e64d Mon Sep 17 00:00:00 2001 From: kimlym Date: Wed, 5 Apr 2023 12:26:02 +0800 Subject: [PATCH] feat(api.ts): add support for OPENAI_BASE_PATH configuration variable (#80) feat(config.ts): add OPENAI_BASE_PATH configuration key and validator function Co-authored-by: yiminglu --- src/api.ts | 9 ++++++++- src/commands/config.ts | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/api.ts b/src/api.ts index 0d1b36f..62a43a8 100644 --- a/src/api.ts +++ b/src/api.ts @@ -12,6 +12,7 @@ import { CONFIG_MODES, getConfig } from './commands/config'; const config = getConfig(); let apiKey = config?.OPENAI_API_KEY; +let basePath = config?.OPENAI_BASE_PATH; const [command, mode] = process.argv.slice(2); @@ -32,8 +33,14 @@ class OpenAi { private openAiApiConfiguration = new OpenAiApiConfiguration({ apiKey: apiKey }); + private openAI!: OpenAIApi; - private openAI = new OpenAIApi(this.openAiApiConfiguration); + constructor() { + if (basePath) { + this.openAiApiConfiguration.basePath = basePath; + } + this.openAI = new OpenAIApi(this.openAiApiConfiguration); + } public generateCommitMessage = async ( messages: Array diff --git a/src/commands/config.ts b/src/commands/config.ts index c10ed41..2349253 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -10,6 +10,7 @@ import { getI18nLocal } from '../i18n'; export enum CONFIG_KEYS { OPENAI_API_KEY = 'OPENAI_API_KEY', + OPENAI_BASE_PATH = 'OPENAI_BASE_PATH', description = 'description', emoji = 'emoji', language = 'language' @@ -78,6 +79,15 @@ export const configValidators = { `${value} is not supported yet` ); return getI18nLocal(value); + }, + + [CONFIG_KEYS.OPENAI_BASE_PATH](value: any) { + validateConfig( + CONFIG_KEYS.OPENAI_BASE_PATH, + typeof value == 'string', + `${value} is not supported yet` + ); + return value; } };