Personnalisation de Modèle

La personnalisation de modèles vous permet d'adapter les modèles AlphaEdge AI à vos besoins spécifiques. Que vous souhaitiez ajuster les paramètres de génération, configurer des comportements personnalisés, ou créer des variantes spécialisées, cette page vous guide à travers les différentes méthodes de personnalisation disponibles.

Méthodes de personnalisation

  • Paramètres de génération : Ajustez température, top_p, et autres paramètres pour contrôler le comportement du modèle
  • System prompts : Définissez des instructions système pour guider le comportement du modèle
  • Fine-tuning : Entraînez des modèles personnalisés sur vos données spécifiques
  • Function calling : Configurez des outils et fonctions pour étendre les capacités du modèle

Paramètres de génération

Les paramètres de génération vous permettent de contrôler finement le comportement et la créativité du modèle. Voici les principaux paramètres disponibles :

PARAMÈTRE TYPE DÉFAUT DESCRIPTION
temperature float 0.7 Contrôle la créativité (0.0 = déterministe, 2.0 = très créatif)
top_p float 1.0 Nucléus sampling : probabilité cumulative des tokens à considérer
max_tokens integer 2048 Nombre maximum de tokens à générer dans la réponse
frequency_penalty float 0.0 Pénalité pour les tokens fréquents (-2.0 à 2.0)
presence_penalty float 0.0 Pénalité pour les tokens déjà présents (-2.0 à 2.0)

Exemple : Configuration des paramètres

Voici comment configurer les paramètres de génération dans votre appel API :

bash
curl https://api.alphaedge-ai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${ALPHAEDGE_API_KEY}" \
  -d '{
    "model": "alphaedge-large-3-2512",
    "messages": [
      {
        "role": "user",
        "content": "Explique-moi le machine learning"
      }
    ],
    "temperature": 0.3,
    "top_p": 0.9,
    "max_tokens": 500,
    "frequency_penalty": 0.5,
    "presence_penalty": 0.3
  }'
python
import requests
import os

response = requests.post(
    "https://api.alphaedge-ai.com/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {os.getenv('ALPHAEDGE_API_KEY')}",
        "Content-Type": "application/json"
    },
    json={
        "model": "alphaedge-large-3-2512",
        "messages": [
            {
                "role": "user",
                "content": "Explique-moi le machine learning"
            }
        ],
        "temperature": 0.3,
        "top_p": 0.9,
        "max_tokens": 500,
        "frequency_penalty": 0.5,
        "presence_penalty": 0.3
    }
)

print(response.json())
javascript
const fetch = require('node-fetch');

const response = await fetch('https://api.alphaedge-ai.com/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${process.env.ALPHAEDGE_API_KEY}`
  },
  body: JSON.stringify({
    model: 'alphaedge-large-3-2512',
    messages: [
      {
        role: 'user',
        content: 'Explique-moi le machine learning'
      }
    ],
    temperature: 0.3,
    top_p: 0.9,
    max_tokens: 500,
    frequency_penalty: 0.5,
    presence_penalty: 0.3
  })
});

const data = await response.json();
console.log(data);

System Prompts

Les system prompts permettent de définir le rôle, le comportement et le style de réponse du modèle. Ils sont particulièrement utiles pour créer des assistants spécialisés ou configurer des comportements cohérents.

Exemple : Assistant spécialisé

Créez un assistant spécialisé en programmation Python :

bash
curl https://api.alphaedge-ai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${ALPHAEDGE_API_KEY}" \
  -d '{
    "model": "alphaedge-large-3-2512",
    "messages": [
      {
        "role": "system",
        "content": "Tu es un expert en programmation Python. Tu fournis des réponses claires, concises et bien documentées. Tu utilises toujours les meilleures pratiques Python et tu expliques le code que tu proposes."
      },
      {
        "role": "user",
        "content": "Comment créer une classe singleton en Python ?"
      }
    ]
  }'
python
import requests
import os

response = requests.post(
    "https://api.alphaedge-ai.com/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {os.getenv('ALPHAEDGE_API_KEY')}",
        "Content-Type": "application/json"
    },
    json={
        "model": "alphaedge-large-3-2512",
        "messages": [
            {
                "role": "system",
                "content": "Tu es un expert en programmation Python. Tu fournis des réponses claires, concises et bien documentées. Tu utilises toujours les meilleures pratiques Python et tu expliques le code que tu proposes."
            },
            {
                "role": "user",
                "content": "Comment créer une classe singleton en Python ?"
            }
        ]
    }
)

print(response.json())

Function Calling

Le function calling permet au modèle d'appeler des fonctions externes pour étendre ses capacités. Vous pouvez définir des outils que le modèle peut utiliser pour effectuer des actions ou récupérer des informations.

Exemple : Assistant avec outils météo

Créez un assistant capable de récupérer la météo :

bash
curl https://api.alphaedge-ai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${ALPHAEDGE_API_KEY}" \
  -d '{
    "model": "alphaedge-large-3-2512",
    "messages": [
      {
        "role": "user",
        "content": "Quel temps fait-il à Paris ?"
      }
    ],
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "get_weather",
          "description": "Récupère la météo actuelle pour une ville donnée",
          "parameters": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string",
                "description": "Le nom de la ville"
              }
            },
            "required": ["city"]
          }
        }
      }
    ],
    "tool_choice": "auto"
  }'
python
import requests
import os

response = requests.post(
    "https://api.alphaedge-ai.com/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {os.getenv('ALPHAEDGE_API_KEY')}",
        "Content-Type": "application/json"
    },
    json={
        "model": "alphaedge-large-3-2512",
        "messages": [
            {
                "role": "user",
                "content": "Quel temps fait-il à Paris ?"
            }
        ],
        "tools": [
            {
                "type": "function",
                "function": {
                    "name": "get_weather",
                    "description": "Récupère la météo actuelle pour une ville donnée",
                    "parameters": {
                        "type": "object",
                        "properties": {
                            "city": {
                                "type": "string",
                                "description": "Le nom de la ville"
                            }
                        },
                        "required": ["city"]
                    }
                }
            }
        ],
        "tool_choice": "auto"
    }
)

result = response.json()
print(result)

Fine-tuning

Le fine-tuning vous permet d'entraîner un modèle personnalisé sur vos propres données. Cela est particulièrement utile pour adapter un modèle à un domaine spécifique, un style d'écriture particulier, ou des cas d'usage métier spécifiques.

Quand utiliser le fine-tuning ?

  • Vous avez besoin d'un modèle spécialisé dans un domaine spécifique (juridique, médical, technique)
  • Vous souhaitez que le modèle adopte un style d'écriture particulier
  • Vous avez un grand volume de données d'entraînement pertinentes
  • Les system prompts ne suffisent pas pour obtenir le comportement souhaité

Format des données d'entraînement

Les données d'entraînement doivent être au format JSONL (JSON Lines), où chaque ligne contient un objet avec les messages de conversation :

json
{"messages": [{"role": "system", "content": "Tu es un assistant expert."}, {"role": "user", "content": "Question 1"}, {"role": "assistant", "content": "Réponse 1"}]}
{"messages": [{"role": "system", "content": "Tu es un assistant expert."}, {"role": "user", "content": "Question 2"}, {"role": "assistant", "content": "Réponse 2"}]}
{"messages": [{"role": "user", "content": "Question 3"}, {"role": "assistant", "content": "Réponse 3"}]}

Créer un job de fine-tuning

Pour créer un job de fine-tuning, utilisez l'endpoint dédié :

bash
curl https://api.alphaedge-ai.com/v1/fine_tuning/jobs \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${ALPHAEDGE_API_KEY}" \
  -F "file=@training_data.jsonl" \
  -F "model=alphaedge-large-3-2512" \
  -F "hyperparameters={\"n_epochs\": 3}"
python
import requests
import os

# D'abord, téléchargez votre fichier d'entraînement
with open('training_data.jsonl', 'rb') as f:
    files = {'file': f}
    data = {
        'model': 'alphaedge-large-3-2512',
        'hyperparameters': '{"n_epochs": 3}'
    }
    
    response = requests.post(
        'https://api.alphaedge-ai.com/v1/fine_tuning/jobs',
        headers={
            'Authorization': f"Bearer {os.getenv('ALPHAEDGE_API_KEY')}"
        },
        files=files,
        data=data
    )

print(response.json())

Cas d'usage pratiques

1. Assistant de support client

Créez un assistant qui répond aux questions clients avec un ton professionnel et des réponses structurées :

json
{
  "model": "alphaedge-large-3-2512",
  "messages": [
    {
      "role": "system",
      "content": "Tu es un assistant de support client professionnel et empathique. Tu réponds toujours de manière claire, concise et avec un ton bienveillant. Tu utilises un langage accessible et tu proposes toujours des solutions concrètes."
    },
    {
      "role": "user",
      "content": "Je n'arrive pas à me connecter à mon compte"
    }
  ],
  "temperature": 0.3,
  "max_tokens": 300
}

2. Générateur de contenu créatif

Pour générer du contenu créatif, augmentez la température :

json
{
  "model": "alphaedge-large-3-2512",
  "messages": [
    {
      "role": "user",
      "content": "Écris une histoire courte sur un robot qui découvre l'art"
    }
  ],
  "temperature": 1.2,
  "top_p": 0.95,
  "max_tokens": 1000
}

3. Analyse de données structurée

Pour obtenir des réponses structurées et cohérentes, utilisez une température basse :

json
{
  "model": "alphaedge-large-3-2512",
  "messages": [
    {
      "role": "system",
      "content": "Tu analyses des données et fournis toujours tes réponses au format JSON structuré."
    },
    {
      "role": "user",
      "content": "Analyse ces ventes : Q1: 100k, Q2: 120k, Q3: 95k, Q4: 150k"
    }
  ],
  "temperature": 0.1,
  "max_tokens": 500
}

Bonnes pratiques

Recommandations

  • Temperature : Utilisez 0.1-0.3 pour des tâches factuelles, 0.7-1.0 pour des conversations naturelles, 1.0+ pour la créativité
  • System prompts : Soyez précis et concis. Définissez clairement le rôle et les attentes
  • Max tokens : Définissez une limite appropriée pour éviter les réponses trop longues ou incomplètes
  • Fine-tuning : Assurez-vous d'avoir au moins 100 exemples de qualité pour de bons résultats
  • Function calling : Documentez clairement vos fonctions avec des descriptions précises