mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-17 02:01:29 +10:00
feat(openai): add Azure OpenAI support with configuration options
This commit is contained in:
@ -4,7 +4,7 @@ import { OpenAI } from "openai";
|
||||
import { useOpenAiStore } from "@/client/stores/openai";
|
||||
|
||||
export const openai = () => {
|
||||
const { apiKey, baseURL } = useOpenAiStore.getState();
|
||||
const { apiKey, baseURL, isAzure, azureApiVersion, model } = useOpenAiStore.getState();
|
||||
|
||||
if (!apiKey) {
|
||||
throw new Error(
|
||||
@ -12,6 +12,37 @@ export const openai = () => {
|
||||
);
|
||||
}
|
||||
|
||||
if (isAzure) {
|
||||
if (!baseURL) {
|
||||
throw new Error(
|
||||
t`Azure OpenAI Base URL is required when using Azure OpenAI.`,
|
||||
);
|
||||
}
|
||||
|
||||
if (!model) {
|
||||
throw new Error(
|
||||
t`Azure OpenAI deployment name (model) is required when using Azure OpenAI.`,
|
||||
);
|
||||
|
||||
if (!azureApiVersion) {
|
||||
throw new Error(
|
||||
t`Azure OpenAI API version is required when using Azure OpenAI.`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Construct Azure OpenAI URL: https://your-resource.openai.azure.com/openai/deployments/your-deployment
|
||||
const azureBaseURL = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;
|
||||
const constructedURL = `${azureBaseURL}/openai/deployments/${model}`;
|
||||
|
||||
return new OpenAI({
|
||||
apiKey,
|
||||
baseURL: constructedURL,
|
||||
defaultQuery: { "api-version": azureApiVersion ?? undefined },
|
||||
dangerouslyAllowBrowser: true,
|
||||
});
|
||||
}
|
||||
|
||||
if (baseURL) {
|
||||
return new OpenAI({
|
||||
apiKey,
|
||||
|
||||
Reference in New Issue
Block a user