diff --git a/config.example.json b/config.example.json index 4662d05..19a4536 100644 --- a/config.example.json +++ b/config.example.json @@ -1,5 +1,6 @@ { "openaiAPIKey": "sk-************************************************", + "openaiAPIEndpoint": "https://api.openai.com/v1", "botToken": "8888888888:***********************************", "conversationLimit": 16, "databasePath": "/telegpt/data/telegpt.sqlite", diff --git a/src/config.rs b/src/config.rs index 4d663cf..ba1eaef 100644 --- a/src/config.rs +++ b/src/config.rs @@ -56,6 +56,12 @@ pub struct Config { /// JSON key: `openaiAPIKey` #[serde(rename = "openaiAPIKey")] pub openai_api_key: String, + + /// The API Endpoint to be used. + /// JSON key: `openaiAPIEndpoint` + #[serde(rename = "openaiAPIEndpoint")] + pub openai_api_endpoint: String, + /// The token of your Telegram bot. /// JSON key: `botToken` #[serde(rename = "botToken")] diff --git a/src/modules/openai.rs b/src/modules/openai.rs index 43c1b0c..229b828 100644 --- a/src/modules/openai.rs +++ b/src/modules/openai.rs @@ -74,7 +74,9 @@ impl Module for OpenAI { let config: Arc = dep_map.get(); let openai_client = OpenAIClient { - client: Client::new().with_api_key(&config.openai_api_key), + client: Client::new() + .with_api_key(&config.openai_api_key) + .with_api_base(&config.openai_api_endpoint), config: config.as_ref().clone(), }; dep_map.insert(openai_client);