mirror of
https://github.com/vitalityAI/therapist.git
synced 2025-04-08 05:40:17 -04:00
64 lines
1.8 KiB
JavaScript
64 lines
1.8 KiB
JavaScript
import { Configuration, OpenAIApi } from "openai";
|
|
import * as dotenv from 'dotenv'
|
|
dotenv.config()
|
|
|
|
const configuration = new Configuration({
|
|
apiKey: process.env.OPENAI_API_KEY,
|
|
});
|
|
console.log(process.env.OPENAI_API_KEY)
|
|
const openai = new OpenAIApi(configuration);
|
|
|
|
export default async function (req, res) {
|
|
if (!configuration.apiKey) {
|
|
res.status(500).json({
|
|
error: {
|
|
message: "OpenAI API key not configured, please follow instructions in README.md",
|
|
}
|
|
});
|
|
return;
|
|
}
|
|
|
|
const animal = req.body.animal || '';
|
|
if (animal.trim().length === 0) {
|
|
res.status(400).json({
|
|
error: {
|
|
message: "Please enter a valid animal",
|
|
}
|
|
});
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const completion = await openai.createCompletion({
|
|
model: "text-davinci-003",
|
|
prompt: generatePrompt(animal),
|
|
temperature: 0.6,
|
|
});
|
|
res.status(200).json({ result: completion.data.choices[0].text });
|
|
} catch (error) {
|
|
// Consider adjusting the error handling logic for your use case
|
|
if (error.response) {
|
|
console.error(error.response.status, error.response.data);
|
|
res.status(error.response.status).json(error.response.data);
|
|
} else {
|
|
console.error(`Error with OpenAI API request: ${error.message}`);
|
|
res.status(500).json({
|
|
error: {
|
|
message: 'An error occurred during your request.',
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function generatePrompt(animal) {
|
|
const capitalizedAnimal =
|
|
animal[0].toUpperCase() + animal.slice(1).toLowerCase();
|
|
return `Suggest three names for an animal that is a superhero.
|
|
Animal: Cat
|
|
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
|
|
Animal: Dog
|
|
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
|
|
Animal: ${capitalizedAnimal}
|
|
Names:`;
|
|
} |