Comment ajouter des fonctionnalités d'IA à votre application
Pour ajouter des fonctionnalités d'IA à votre application, appelez une API de grand modèle de langage (LLM) depuis votre serveur : envoyez-lui des instructions claires avec les données pertinentes, puis utilisez ce qui revient. La plupart des fonctionnalités utiles suivent l'un de quatre schémas (résumer, clavarder, extraire des données structurées et classer), et chacun représente quelques dizaines de lignes de code qu'un créateur d'applications IA peut écrire pour vous. Ce qui détermine vraiment la qualité du résultat, c'est tout ce qui entoure l'appel : garder la clé API sur le serveur, contrôler le coût par utilisateur et vérifier la sortie avant de lui faire confiance.
Les quatre schémas derrière la plupart des fonctionnalités d'IA
| Schéma | Ce qu'il fait | Exemples de fonctionnalités | Sortie typique |
|---|---|---|---|
| Résumer | Transforme un long texte en texte court | Synthèse de notes de réunion, résumé de billet, « ce qui a changé » dans un document | Un paragraphe ou une liste à puces |
| Clavarder | Répond à des questions dans une conversation, souvent sur vos données | Assistant d'aide, « interroger vos docs », guide d'accueil | Texte en flux continu |
| Extraire | Tire des champs structurés d'un texte ou d'une image désordonnés | Détails d'une facture en PDF, contacts depuis une signature de courriel, données d'une offre d'emploi | JSON conforme à un schéma |
| Classer | Choisit parmi un ensemble fixe d'étiquettes | Acheminer des tickets de support, étiqueter les commentaires par sujet, signaler les messages urgents, détecter la langue | Une étiquette, parfois une note de confiance |
L'extraction et la classification sont souvent les plus précieuses et les moins visibles. Elles font gagner discrètement quelques minutes à quelqu'un sur chaque dossier, et comme la sortie a une forme fixe, vous pouvez la vérifier automatiquement. Le clavardage est le plus visible, mais le plus difficile à bien réussir, et il a son propre guide : comment créer une application de clavardage IA.
Comment cela s'intègre à votre application
Chaque schéma a la même forme :
- L'utilisateur agit : il clique sur « Résumer », téléverse un fichier, envoie un message.
- Votre interface appelle votre propre serveur, pas le fournisseur d'IA.
- Votre serveur construit la requête : instructions système, saisie de l'utilisateur et données nécessaires au modèle depuis votre base de données, uniquement les données que cet utilisateur a le droit de voir.
- Votre serveur appelle l'API du LLM avec une clé stockée dans une variable d'environnement.
- Votre serveur vérifie la réponse : JSON valide, étiquette connue, longueur raisonnable, puis l'enregistre ou la renvoie.
- L'interface l'affiche, en diffusant le texte au fur et à mesure pour les réponses plus longues.
La clé se trouve sur le serveur à l'étape 4 et n'atteint jamais le navigateur. Si la notion d'API est nouvelle, qu'est-ce qu'une API est une courte introduction, et comment utiliser les API de LLM explique plus en détail les jetons, les modèles et les clés.
Choisir un fournisseur et un modèle
Les principaux fournisseurs (OpenAI, Anthropic, Google et d'autres) offrent tous des API de texte aux formes assez semblables. Questions utiles pour choisir :
- La qualité pour votre tâche. Essayez quelques exemples réels de votre application sur deux ou trois modèles. Les différences sont souvent plus claires sur vos données que sur les tests de performance généraux.
- Taille et coût. Les fournisseurs proposent des modèles plus grands et plus capables, et des modèles plus petits, moins chers et plus rapides. La classification et l'extraction simple fonctionnent souvent très bien avec un petit modèle; un raisonnement long ou une rédaction nuancée peut exiger un modèle plus grand.
- Sortie structurée. Pour l'extraction et la classification, privilégiez une fonctionnalité de l'API qui force le modèle à renvoyer du JSON conforme à un schéma que vous fournissez, plutôt que d'analyser du texte libre.
- Gestion des données. Lisez les conditions du fournisseur sur la conservation des entrées d'API ou leur utilisation pour l'entraînement, et vérifiez si cela convient aux données que vos utilisateurs vous confient.
- Limites. Les nouveaux comptes ont souvent des limites de débit plus basses; vérifiez-les avant un lancement.
Les noms de modèles et les prix changent souvent. Le code devrait donc lire le nom du modèle dans la configuration plutôt que de le coder en dur à plusieurs endroits.
Ajouter une fonctionnalité, étape par étape
Prenons un exemple concret : un petit CRM où chaque contact a un long historique de notes.
1. Enregistrez la clé. Créez une clé dans le tableau de bord de votre fournisseur et enregistrez-la comme secret côté serveur, par exemple OPENAI_API_KEY ou ANTHROPIC_API_KEY.
2. Demandez une fonctionnalité précise :
Ajoute un bouton « Résumer » à la page du contact. Sur le serveur, envoie les 20 dernières notes du contact à [FOURNISSEUR] en utilisant le secret [NOM_VARIABLE], avec des instructions pour écrire trois puces : statut actuel, questions ouvertes, prochaine étape. N'inclus que les notes que l'utilisateur connecté peut voir. Affiche un état de chargement, enregistre le résumé avec un horodatage, et affiche « Impossible de résumer pour le moment » si l'appel échoue. N'envoie jamais la clé au navigateur.
3. Ajoutez l'extraction là où elle fait gagner du temps de saisie :
Quand un utilisateur colle une signature de courriel dans la case « Ajout rapide », appelle [FOURNISSEUR] sur le serveur et renvoie du JSON avec le nom, l'entreprise, le titre du poste, le courriel et le téléphone, en utilisant la fonctionnalité de sortie structurée du fournisseur. Valide le JSON sur le serveur, pré-remplis le formulaire de nouveau contact avec, et laisse l'utilisateur modifier avant d'enregistrer. Laisse les champs vides plutôt que de deviner.
« Laisser l'utilisateur modifier avant d'enregistrer » est l'élément important : le modèle propose, la personne décide.
4. Classez en arrière-plan :
Quand un nouveau ticket de support arrive, classe-le dans exactement une de ces catégories : facturation, bogue, demande de fonctionnalité, accès au compte, autre. Utilise un petit modèle peu coûteux. Si la réponse n'est pas l'une de ces étiquettes, enregistre « autre ». Affiche l'étiquette comme un tag modifiable.
5. Testez avec des données réelles et désordonnées, des notes longues, des notes vides, d'autres langues, une signature sans numéro de téléphone, et examinez vingt sorties côte à côte avant de publier.
Rédiger des instructions qui fonctionnent
Les instructions envoyées avec chaque requête (souvent appelées invite système) sont l'endroit où se joue la qualité.
- Dites à qui cela sert et à quoi ressemble un bon résultat. « Les résumés sont lus par un vendeur en 10 secondes avant un appel » donne au modèle une cible.
- Fixez le format. Nombre exact de puces, limite de longueur, champs, étiquettes.
- Dites quoi faire en cas de doute. « Si les notes ne mentionnent pas de prochaine étape, écris “Aucune prochaine étape enregistrée”. » Cela réduit les réponses inventées.
- Donnez deux ou trois exemples d'entrées et de sorties correctes pour l'extraction et la classification.
- Séparez les instructions du contenu de l'utilisateur, et identifiez clairement ce contenu pour que le modèle puisse les distinguer.
Gardez les consignes dans des fichiers de votre base de code afin qu'elles soient versionnées et révisables comme tout autre code.
Garder les coûts sous contrôle
Les API de LLM facturent les jetons, de petits morceaux de texte, pour ce que vous envoyez et pour ce qui revient. Le coût augmente avec la quantité de contexte par requête multipliée par la fréquence d'exécution. Contrôles pratiques :
- N'envoyez que le nécessaire. Les 20 dernières notes, pas tout l'historique. Raccourcissez ou découpez les longs documents.
- Utilisez le plus petit modèle qui fait le travail. Testez avant de choisir par défaut le plus grand.
- Limitez la longueur de la sortie avec le paramètre de nombre maximal de jetons de l'API.
- Mettez les résultats en cache. Conservez un résumé et ne le régénérez que si la source change, plutôt qu'à chaque affichage de page.
- Limitez par utilisateur. Un plafond quotidien par compte ou par forfait empêche un utilisateur très actif, ou un script, de faire exploser la facture.
- Limitez le débit de la route comme pour toute autre route coûteuse.
- Fixez un budget ou une alerte dans le tableau de bord du fournisseur, et vérifiez l'usage chaque semaine après le lancement.
- Enregistrez la consommation de jetons par fonctionnalité pour savoir ce que coûte chacune.
Si les fonctionnalités d'IA sont au cœur de votre produit, intégrez leur coût d'exploitation dans votre tarification plutôt que de l'absorber.
Sécurité et confiance
La sortie de l'IA est probabiliste. Elle peut être fausse tout en paraissant sûre d'elle, et le texte qu'elle lit peut la détourner. Concevez en conséquence :
- Traitez la sortie comme une entrée non fiable. Validez la structure, échappez-la avant de l'afficher en HTML, et ne l'exécutez jamais comme du code ou une requête de base de données.
- Gardez une personne dans la boucle pour tout ce qui a des conséquences : envoyer un courriel, modifier un dossier, rembourser un paiement. Le modèle rédige; une personne confirme.
- Protégez-vous contre l'injection de consigne. Un document ou un message peut contenir un texte comme « ignore tes instructions ». Limitez ce que le modèle peut voir à ce que l'utilisateur courant peut voir, et ne lui donnez pas d'outils capables d'actions sensibles sans que votre code vérifie d'abord les permissions.
- Indiquez le contenu généré par l'IA pour que les utilisateurs sachent qu'un résumé ou une suggestion a été produit et puissent le vérifier.
- Gérez les échecs avec élégance. Les fournisseurs ont des pannes et des limites de débit. Prévoyez un délai d'attente, affichez un message clair et laissez le reste de l'application fonctionner.
- Surveillez ce que les utilisateurs envoient. Pour les champs de texte libres, envisagez une étape de modération, et précisez dans votre politique de confidentialité que le contenu est traité par un fournisseur d'IA tiers.
La liste complète des vérifications se trouve dans la liste de contrôle de sécurité pour les applications créées avec l'IA.
Erreurs courantes
- Commencer par un robot de clavardage général alors qu'un simple bouton « Résumer » ou « Catégoriser » aiderait davantage de personnes.
- Mettre la clé dans le code de l'interface ou dans un dépôt public.
- Envoyer toute la base de données comme contexte, ce qui est lent, coûteux et risque d'exposer les données d'autres utilisateurs.
- Faire confiance à une sortie en texte libre là où un schéma ou un ensemble fixe d'étiquettes permettrait de la vérifier.
- Aucune limite par utilisateur, découverte à l'arrivée de la première facture.
Ajouter des fonctionnalités d'IA avec Mythex
Dans Mythex, vous ajoutez l'IA à votre propre application en la demandant dans le clavardage, avec votre propre clé de fournisseur. Enregistrez la clé comme secret de projet : quand l'agent en a besoin, Mythex affiche une carte de secrets dans le clavardage pour que vous n'ayez pas à coller la clé dans la conversation. L'agent écrit ensuite la route serveur, les consignes et l'interface. L'utilisation de l'IA par votre application est facturée par votre fournisseur, séparément des crédits Mythex que vous utilisez pour créer. La documentation contient une consigne de départ dans ajouter des fonctionnalités d'IA avec vos propres clés API.
Questions
Comment ajouter l'IA à une application existante?
Obtenez une clé API auprès d'un fournisseur de LLM, enregistrez-la comme secret côté serveur, et ajoutez une route serveur qui envoie au fournisseur une consigne avec les données pertinentes, puis renvoie le résultat à votre interface. Commencez par une fonctionnalité précise, comme résumer un dossier, avant de construire un clavardage général.
Combien coûte l'exploitation des fonctionnalités d'IA?
Les API de LLM facturent à la fois selon les jetons, c'est-à-dire des morceaux de texte envoyés et reçus, à des tarifs qui varient beaucoup selon le modèle. Le coût dépend de la quantité de texte transmise à chaque requête et de la fréquence d'exécution. Estimez donc à partir de votre propre usage, fixez une limite dans le tableau de bord du fournisseur et plafonnez l'usage par utilisateur dans votre application.
Puis-je mettre ma clé OpenAI ou Anthropic dans le code de l'interface?
Non. Tout ce qui se trouve dans le code de l'interface peut être lu par quiconque ouvre la page, et une clé divulguée permet à des inconnus de faire grimper votre facture. Appelez le fournisseur depuis votre serveur, où la clé reste dans une variable d'environnement.
Qu'est-ce qu'une injection de consigne (prompt injection)?
C'est lorsque le texte que lit le modèle, qu'il s'agisse d'un message utilisateur, d'un document téléversé ou d'une page web, contient des instructions qui tentent de remplacer les vôtres. Traitez la sortie du modèle comme non fiable, ne laissez jamais un résultat déclencher une action sensible sans vérification, et limitez les données visibles par le modèle à ce que l'utilisateur a le droit de voir.