57 lines
2.1 KiB
TypeScript
57 lines
2.1 KiB
TypeScript
import { GoogleGenAI } from "@google/genai";
|
|
|
|
// Initialize Gemini
|
|
// Note: In a real production app, backend proxy is preferred for key safety.
|
|
// For this demo, we assume environment variable usage as per instructions.
|
|
const ai = new GoogleGenAI({ apiKey: process.env.API_KEY });
|
|
|
|
export const generateBusinessDescription = async (name: string, category: string, keywords: string): Promise<string> => {
|
|
try {
|
|
const model = 'gemini-2.5-flash';
|
|
const prompt = `
|
|
Tu es un expert en copywriting marketing pour Afropreunariat.
|
|
Rédige une description professionnelle, attrayante et optimisée SEO pour une entreprise.
|
|
|
|
Nom de l'entreprise : ${name}
|
|
Secteur : ${category}
|
|
Mots-clés/Services : ${keywords}
|
|
|
|
La description doit faire environ 80-100 mots, être en français, inspirer confiance et professionnalisme.
|
|
Ne mets pas de guillemets au début ou à la fin.
|
|
`;
|
|
|
|
const response = await ai.models.generateContent({
|
|
model,
|
|
contents: prompt,
|
|
});
|
|
|
|
return response.text || "Impossible de générer une description pour le moment.";
|
|
} catch (error) {
|
|
console.error("Gemini API Error:", error);
|
|
return "Erreur lors de la génération. Veuillez rédiger votre description manuellement.";
|
|
}
|
|
};
|
|
|
|
export const generateBusinessIdeas = async (category: string): Promise<string[]> => {
|
|
try {
|
|
const model = 'gemini-2.5-flash';
|
|
const prompt = `Donne-moi 3 idées de slogans courts et percutants pour une entreprise dans le secteur : ${category}. Retourne uniquement une liste JSON de chaînes de caractères.`;
|
|
|
|
// For simplicity in this demo, we ask for text and split lines,
|
|
// but JSON schema is better for robust apps.
|
|
const response = await ai.models.generateContent({
|
|
model,
|
|
contents: prompt,
|
|
config: {
|
|
responseMimeType: "application/json"
|
|
}
|
|
});
|
|
|
|
const json = JSON.parse(response.text || "[]");
|
|
if (Array.isArray(json)) return json;
|
|
return ["L'excellence au service de l'Afrique", "Innover pour demain", "Votre partenaire de confiance"];
|
|
|
|
} catch (error) {
|
|
return ["Votre slogan ici"];
|
|
}
|
|
}; |