Spaces:
Running
Running
import OpenAI from "openai"; | |
let openaiInstance: OpenAI | null = null; | |
export function getOpenAI(): OpenAI { | |
if (!openaiInstance) { | |
openaiInstance = new OpenAI({ | |
apiKey: process.env.OPENAI_API_KEY || "", | |
baseURL: process.env.OPENAI_BASE_URL || undefined, | |
defaultHeaders: process.env.OPENAI_EXTRA_HEADERS | |
? JSON.parse(process.env.OPENAI_EXTRA_HEADERS) | |
: undefined, | |
}); | |
} | |
return openaiInstance; | |
} | |
// Export a getter that matches the original export name | |
export const openai = new Proxy({} as OpenAI, { | |
get(_target, prop, _receiver) { | |
const client = getOpenAI(); | |
return Reflect.get(client, prop, client); | |
} | |
}); | |