Passer au contenu principal
L’API Paradigm est utilisée pour compléter son interface visuelle. Elle permet la création d’applications intelligentes, puisant dans la puissance des LLM pour interagir avec les utilisateurs de manière intuitive. C’est un outil supplémentaire pour les développeurs souhaitant personnaliser leurs appels LLM en jouant avec les paramètres utilisés, pour appeler des outils externes, ou pour intégrer des appels LLM automatiques au sein d’applications métier existantes. Cet article est une introduction aux appels LLM, utilisant l’API Paradigm. Il est basé sur le framework open source OpenAI.
Configuration d’Instance Requise Avant d’utiliser tout endpoint de l’API Paradigm, assurez-vous d’avoir configuré votre environnement correctement pour votre type d’instance (publique ou privée). Voir Configuration d’Instance pour les instructions de configuration.

Commencer

Configuration

D’abord, configurez votre client avec votre clé API et l’URL de notre endpoint. Cela connecte vos requêtes à notre service.
Authentification & Configuration d’InstanceVeuillez noter que bien qu’explorer la documentation ne nécessite pas d’authentification, vous aurez besoin d’identifiants API valides pour faire de vraies requêtes à nos services. Si vous n’avez pas les droits pour créer une clé API, demandez à l’administrateur de votre entreprise de vous les donner ; si vous les avez, créez-en une dans votre profil Paradigm !Pour les instances privées, assurez-vous de configurer la bonne URL de base. Voir Configuration d’Instance pour les détails.
from openai import OpenAI as OpenAICompatibleClient
import os

# Récupérer la clé API depuis l'environnement
api_key = os.getenv("PARADIGM_API_KEY")
# Récupérer l'URL de base depuis l'environnement (par défaut instance publique)
base_url = os.getenv("PARADIGM_BASE_URL", "https://paradigm.lighton.ai/api/v2")

# Configurer le client OpenAI
client = OpenAICompatibleClient(api_key=api_key, base_url=base_url)

Créer des Messages

Le cœur de votre requête est le tableau de messages, où chaque élément a un rôle (“system”, “user”, “assistant” ou “tool”) et le contenu du message.
  • System : Définit le contexte de la conversation ou fournit des instructions à l’IA, guidant ses réponses. Idéal pour initialiser le chat avec les informations de contexte ou règles nécessaires.
  • User : Entrées de l’utilisateur humain engageant avec l’IA. Ce rôle est utilisé pour les questions, déclarations, ou commandes que les utilisateurs saisissent dans le chat.
  • Assistant : Réponses de l’IA conçues pour assister, répondre, ou interagir avec l’utilisateur. Ce rôle est pour le contenu généré par l’IA en réponse aux prompts de l’utilisateur ou du système.
  • Tool : Insights des outils externes pour fournir au LLM des informations externes (plus sur ceci plus tard).
Vous pouvez avoir des conversations de suivi en fournissant une liste de messages, comme dans le code ci-dessous :
messages = [
    {"role": "system", "content": "Tu es un assistant IA utile répondant aux questions de l'utilisateur"},
    {"role": "user", "content": "Bonjour, mon nom est Tom, comment allez-vous ?"},
    {"role": "assistant", "content": "Je suis Tom, je suis là pour aider. Que puis-je faire pour vous ?"},
    {"role": "user", "content": "Quel est mon nom ?"},
]
response = client.chat.completions.create(
    model="alfred-4",
    messages=messages,
    temperature=0.7,
    max_tokens=150,
    stream=False
)
assistant_reply = response.choices[0].message.content
print(assistant_reply)
Lors de l’utilisation de l’API LightOn, les développeurs peuvent personnaliser plusieurs paramètres clés des LLM pour adapter le comportement du modèle à des cas d’usage spécifiques. Ceux-ci incluent :
  • temperature : contrôle l’aléatoire de la sortie. Des valeurs plus basses (ex. 0.2) rendent la réponse plus focalisée et prédictible, tandis que des valeurs plus élevées (ex. 0.8 ou 1.0) encouragent des réponses plus créatives et diverses.
  • max_tokens : définit le nombre maximum de tokens que le modèle peut générer dans la réponse. Utile pour contrôler la longueur de sortie et éviter des réponses trop longues.
  • top_p (échantillonnage nucleus) : limite les choix du token suivant à une probabilité cumulative p. Par exemple, avec top_p=0.9, seuls les tokens les plus probables qui s’additionnent à 90% de probabilité sont considérés. Souvent utilisé comme alternative ou complément à la température.
  • frequency_penalty : applique une pénalité aux tokens qui sont déjà apparus, réduisant la répétition. Les valeurs vont de 0.0 (aucune pénalité) à 2.0 (forte pénalité). Utile pour prévenir les réponses redondantes.
  • presence_penalty : encourage le modèle à introduire de nouveaux sujets en pénalisant les tokens qui ont déjà été mentionnés, augmentant la diversité du contenu. Va aussi de 0.0 à 2.0.
  • stop : une liste de séquences de tokens où la génération devrait s’arrêter. Par exemple, définir stop=[“\n\n”, “User:”] peut empêcher le modèle de continuer dans un nouveau prompt ou section.
  • et ainsi de suite. Consultez les paramètres OpenAI pour plus d’informations.

Exemple de streaming

Le streaming permet une livraison immédiate et incrémentale des réponses, parfait pour les interactions en direct. Avec stream=True, l’API envoie des parties de la réponse au fur et à mesure qu’elles sont générées. L’exemple ci-dessous affiche chaque partie à son arrivée.
response_with_streaming = client.chat.completions.create(
    model="alfred-4",
    messages=messages,
    temperature=0.7,
    max_tokens=150,
    stream=True
)

for chunk in response_with_streaming:
    try:
        print(chunk.choices[0].delta.content)
    except:
        print("fin de génération")

Bonnes Pratiques

  • Garder le Contexte Pertinent : N’incluez que les messages qui aident la conversation.
  • Utiliser le Streaming pour les Chats en Direct : Définissez stream=True pour les interactions continues.
  • Adapter le Modèle à votre Infra : Les modèles que vous choisissez doivent refléter ceux déployés sur votre infrastructure.
  • Équilibrer Température et Tokens : Ajustez pour la créativité vs. précision et longueur de réponse.

Conclusion

Ce guide est votre point de départ pour intégrer les fonctionnalités de chat. Avec les bons paramètres et compréhension, vous pouvez créer des conversations IA engageantes. Bon codage !
I