0%
محادثات متقدمة مع واجهة ChatGPT البرمجية

محادثات متقدمة

إدارة السياق والمحادثات المعقدة

10-15 دقيقة

محادثات متقدمة مع واجهة ChatGPT البرمجية

فهم نظام الرسائل

تستخدم واجهة ChatGPT البرمجية نظام رسائل لإدارة المحادثات. لكل رسالة دور ومحتوى:

const messages = [
  { role: 'system', content: 'Vous êtes un assistant spécialisé en programmation JavaScript.' },
  { role: 'user', content: 'Comment déclarer une variable en JavaScript ?' },
  { role: 'assistant', content: 'En JavaScript, vous pouvez déclarer une variable de trois façons :\n\n1. Avec `var` (déconseillé) :\n```javascript\nvar maVariable = 10;\n```\n\n2. Avec `let` (recommandé pour les variables qui changent) :\n```javascript\nlet maVariable = 10;\n```\n\n3. Avec `const` (pour les valeurs constantes) :\n```javascript\nconst maVariable = 10;\n```' },
  { role: 'user', content: 'Et comment déclarer une fonction ?' }
];

أدوار الرسائل

تتعرّف واجهة ChatGPT البرمجية على ثلاثة أدوار رئيسية:

  1. system: تعليمات عامة لتحديد سلوك المساعد
  2. user: الرسائل التي يرسلها المستخدم
  3. assistant: الردود التي يولّدها النموذج

إدارة السياق

للحفاظ على سياق المحادثة، يجب عليك الاحتفاظ بسجل الرسائل:

// Historique de conversation
let conversationHistory = [
  { role: 'system', content: 'Vous êtes un assistant spécialisé en programmation JavaScript.' }
];

// Fonction pour ajouter un message utilisateur
function addUserMessage(content) {
  conversationHistory.push({ role: 'user', content });
}

// Fonction pour ajouter une réponse de l'assistant
function addAssistantMessage(content) {
  conversationHistory.push({ role: 'assistant', content });
}

// Fonction pour appeler l'API avec l'historique
async function chatWithHistory(userMessage) {
  // Ajouter le message de l'utilisateur à l'historique
  addUserMessage(userMessage);
  
  try {
    const response = await fetch('https://api.openai.com/v1/chat/completions', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`
      },
      body: JSON.stringify({
        model: 'gpt-3.5-turbo',
        messages: conversationHistory,
        temperature: 0.7
      })
    });
    
    const data = await response.json();
    const assistantMessage = data.choices[0].message.content;
    
    // Ajouter la réponse à l'historique
    addAssistantMessage(assistantMessage);
    
    return assistantMessage;
  } catch (error) {
    console.error('Erreur lors de l\'appel à l\'API:', error);
    throw error;
  }
}

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!