bodegAI/plugins/email_draft.js
2024-11-11 07:40:48 +00:00

50 lines
1.6 KiB
JavaScript

const axios = require('axios');
const dotenv = require('dotenv');
dotenv.config();
const apiKey = process.env.GOOGLE_GEMINI_API_KEY;
/**
* Genera un borrador de correo electrónico en base a una descripción y un tono.
* @param {String} description - Descripción del contenido del correo.
* @param {String} tone - Tono del correo, 'formal' o 'informal'.
* @returns {Promise<String>} - Borrador de correo electrónico.
*/
const draftEmail = async (description, tone = 'formal') => {
const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=${apiKey}`;
// Define el prompt para pedir un correo con el tono adecuado
const prompt = `
Por favor, redacta un correo electrónico en tono ${tone} basado en la siguiente descripción.
Asegúrate de que sea claro y apropiado para el contexto.
Descripción del correo:
${description}
`;
try {
const response = await axios.post(
url,
{
contents: [{ parts: [{ text: prompt }] }]
},
{
headers: { 'Content-Type': 'application/json' }
}
);
// Extrae el borrador de correo de la respuesta
const emailDraft = response.data.candidates[0].content.parts[0].text;
return emailDraft;
} catch (error) {
console.error('Error al generar el borrador de correo:', JSON.stringify(error.response?.data, null, 2));
return 'Hubo un problema al generar el borrador de correo electrónico.';
}
};
module.exports = {
draftEmail
};