diff --git a/.env.example b/.env.example index 1798dea..2d7824c 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,8 @@ # ChatGPT Settings (required) # Set the API Key from OpenAI OPENAI_API_KEY= +# To use Azure OpenAI API, set `OPENAI_AZURE` to true and `CHATGPT_REVERSE_PROXY` to your completion endpoint +# OPENAI_AZURE=false # Set the ChatGPT conversation context to 'thread', 'room' or 'both'. CHATGPT_CONTEXT=thread diff --git a/src/env.ts b/src/env.ts index 33a3fa1..503d4b5 100644 --- a/src/env.ts +++ b/src/env.ts @@ -29,6 +29,7 @@ export const { MATRIX_DEFAULT_PREFIX, MATRIX_DEFAULT_PREFIX_REPLY, /** ChatGPT Settings */ + OPENAI_AZURE, OPENAI_API_KEY, CHATGPT_CONTEXT, CHATGPT_TIMEOUT, @@ -63,6 +64,7 @@ export const { MATRIX_DEFAULT_PREFIX: { schema: z.string().default(""), description: "Set to a string if you want the bot to respond only when messages start with this prefix. Trailing space matters. Empty for no prefix." }, MATRIX_DEFAULT_PREFIX_REPLY: { schema: z.boolean().default(false), description: "Set to false if you want the bot to answer to all messages in a thread/conversation" }, /** ChatGPT Settings */ + OPENAI_AZURE: { schema: z.boolean().default(false), description: "Wether or not to use Azure OPENAI"}, OPENAI_API_KEY: { schema: z.string().default(""), description: "Set to the API key from https://platform.openai.com/account/api-keys"}, CHATGPT_TIMEOUT: { schema: z.number().default(2 * 60 * 1000), description: "Set number of milliseconds to wait for ChatGPT responses" }, CHATGPT_CONTEXT: { schema: z.enum(["thread", "room", "both"]).default("thread"), description: "Set the ChatGPT conversation context to 'thread', 'room' or 'both'" }, diff --git a/src/index.ts b/src/index.ts index 5134728..b1a0deb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,7 +8,7 @@ import { import * as path from "path"; import { - DATA_PATH, KEYV_URL, OPENAI_API_KEY, MATRIX_HOMESERVER_URL, MATRIX_ACCESS_TOKEN, MATRIX_AUTOJOIN, + DATA_PATH, KEYV_URL, OPENAI_AZURE, OPENAI_API_KEY, MATRIX_HOMESERVER_URL, MATRIX_ACCESS_TOKEN, MATRIX_AUTOJOIN, MATRIX_BOT_PASSWORD, MATRIX_BOT_USERNAME, MATRIX_ENCRYPTION, MATRIX_THREADS, CHATGPT_CONTEXT, CHATGPT_API_MODEL, KEYV_BOT_STORAGE, KEYV_BACKEND, CHATGPT_PROMPT_PREFIX, MATRIX_WELCOME, CHATGPT_REVERSE_PROXY, CHATGPT_TEMPERATURE @@ -64,6 +64,7 @@ async function main() { }, promptPrefix: wrapPrompt(CHATGPT_PROMPT_PREFIX), debug: false, + azure: OPENAI_AZURE, reverseProxyUrl: CHATGPT_REVERSE_PROXY, };