Code source prêt à copier-coller directement depuis votre téléphone vers l'interface web Cloudflare Workers.
agent-ia-maxime puis cliquez sur Déployer.Remplacez tout le code du fichier worker.js / index.js par le code ci-dessous :
export default {
async fetch(request, env) {
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type',
};
if (request.method === 'OPTIONS') {
return new Response(null, { headers: corsHeaders });
}
const url = new URL(request.url);
// Prompt système de Maxime
const systemPrompt = `Tu es Maxime, l'assistant exécutif IA de M. Issam Ben Abdallah, Directeur Commercial & Chargé des Affaires Extérieures de l'Association des Expositions et des Congrès Internationaux de Sfax.
Tes tâches principales :
1. Répondre et rédiger des emails diplomatiques (Ambassades, exposants internationaux, invitations).
2. Rédiger des rapports synthétiques sur les foires et événements.
3. Analyser le marché des événements économiques, foires et congrès en Tunisie.
4. Générer des scripts de prospection commerciale (Phoning) et relancer des prospects.`;
if (url.pathname === '/api/chat' && request.method === 'POST') {
try {
const body = await request.json();
const userQuery = body.query || 'Bonjour';
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
messages: [
{ role: 'system', content: systemPrompt },
{ role: 'user', content: userQuery }
]
});
return new Response(JSON.stringify({ agent: 'Maxime', reply: response.response }), {
headers: { ...corsHeaders, 'Content-Type': 'application/json' }
});
} catch (err) {
return new Response(JSON.stringify({ error: err.message }), { status: 500, headers: corsHeaders });
}
}
return new Response('Agent IA Maxime opérationnel sur Cloudflare !', { headers: corsHeaders });
}
};