nuxt-chatgpt
Version:
ChatGPT integration for Nuxt 3
33 lines (32 loc) • 1.02 kB
JavaScript
import OpenAI from "openai";
import { createError, defineEventHandler, readBody } from "h3";
import { defaultDaleOptions } from "../../constants/options.mjs";
import { MODEL_GPT_DALL_E_3 } from "../../constants/models.mjs";
import { modelMap } from "../../utils/model-map.mjs";
import { useRuntimeConfig } from "#imports";
export default defineEventHandler(async (event) => {
const { message, model, options } = await readBody(event);
if (!useRuntimeConfig().chatgpt.apiKey) {
throw createError({
statusCode: 403,
message: "Missing OpenAI API Key"
});
}
const openai = new OpenAI({
apiKey: useRuntimeConfig().chatgpt.apiKey
});
const requestOptions = {
prompt: message,
model: !model ? modelMap[MODEL_GPT_DALL_E_3] : modelMap[model],
...options || defaultDaleOptions
};
try {
const response = await openai.images.generate(requestOptions);
return response.data;
} catch (error) {
throw createError({
statusCode: 500,
message: error
});
}
});