Image mise en avant pour l'article

Intégrer l’IA à ses applications : du SDK natif au framework modulable

3 novembre 2025
Technologies Web - Intelligence artificielle
L’IA et notamment les LLM, tout le monde en parle, mais on mentionne rarement comment intégrer ces modèles à ses propres applications.


L’Intelligence Artificielle (IA) est un sujet à la mode : tout le monde en parle et souhaite l’intégrer à ses produits. Dans le domaine du Web, l’IA est souvent synonyme d’utilisation de modèles LLM. Si les noms de Mistral ou OpenAI ne vous sont pas inconnus, il est plus rare de savoir comment intégrer les modèles LLM qu’ils proposent.

Dans cet article nous vous présentons d’abord comment intégrer facilement les LLM de Mistral et OpenAI par le biais de leurs SDK avant de nous intéresser à une solution plus modulable qu’est LangChain.

Sur l'image, nous voyons des lignes qui peuvent être des lignes de code se connecter pour n'en faire que 3.

Avant-propos

Avant de commencer, voici quelques informations qui vous seront utiles pour la compréhension de la suite de l’article.

Tout d’abord, un petit rappel des acronymes :

  • SDK : Software Development Kit - Ensemble d’outils logiciels destinés à la facilitation du développement.
  • LLM : Large Language Model - Modèle de langage qui possède un grand nombre de paramètres et reposent sur des réseaux de neurones profonds.

Les LLM sont des modèles statistiques qui, pour pouvoir être utilisés, doivent être associés à une application. Par exemple, Chat-GPT est une application de type chatbot qui utilise le modèle LLM GPT.

Les SDK associés à ces LLM sont donc des outils qui vous facilitent le travail d’intégration de ces modèles à votre propre application. Ces SDK sont la plupart du temps développés en Python (langage de prédilection des IA) mais peuvent aussi exister dans des langages plus couramment utilisés sur le Web.

Approche directe : utiliser les SDK

Si le choix sur le modèle d’Intelligence Artificielle que l’on souhaite utiliser est déjà arrêté, il peut être plus intéressant de s’orienter directement vers une intégration qui utilise les outils (le SDK) dédiés au modèle choisi. Voyons comment intégrer rapidement et facilement un LLM Mistral AI et un LLM OpenAI à nos applications.

NB : Nous proposons ici deux exemples ciblés, mais il est important de mentionner qu’Anthropic (fournisseur de Claude) et Google (fournisseur de Gemini) proposent eux aussi leur propre SDK.

Intégration avec le SDK de Mistral AI

La documentation utilisateur de Mistral présente les différents SDK disponibles et comment rapidement les implémenter.

Ceux-ci existent en version officielle en langage Python et Typescript, mais aussi en version non-officielle (i.e. fournis par la communauté et non pas par Mistral AI) dans d’autres langages, dont PHP et JavaScript. Toutefois, comme il est possible d’exécuter un script Python par le biais d’un script PHP, nous présentons ci-dessous l’intégration du SDK Python.

Première étape : récupérer le package « mistralai ». Nous utilisons le package manager par défaut de Python : pip.

pip install mistralai

Une fois Mistral installé, nous pouvons créer un premier exemple dans un fichier script_mistral.py :

#!/usr/bin/env python

import os

from mistralai import Mistral
from mistralai.models import UserMessage

def main():
    api_key = os.getenv("MISTRAL_API_KEY", "{my_key_value}")
    model = "mistral-medium-latest"
    client = Mistral(api_key=api_key)
  chat_response = client.chat.complete(
        model=model,
        messages=[UserMessage(content="Can you give me a short description of french web agency Adimeo?")],
    )
    print(chat_response.choices[0].message.content)

if __name__ == "__main__":
    main()

Exécuté depuis une console, ce script nous donne par exemple le résultat suivant :

Exemple de l'exécution du code avec Mistral

Si l’on souhaite améliorer la qualité de la réponse, il est possible de jouer sur le nombre de tokens maximal (max_tokens) que la requête peut utiliser ainsi que sur la température (ou niveau de créativité). Il aura donc suffi d’une commande d’installation et d’un fichier de script pour pouvoir commencer à utiliser le LLM de Mistral.

Intégration avec le SDK d’OpenAI

Afin de comparer la facilité d’implémentation, intéressons-nous maintenant à OpenAI et ses SDK. Tout comme pour Mistral, la liste des SDK est disponible dans la documentation officielle. Une fois encore, nous allons utiliser le SDK en Python, puisqu’il fait partie des versions officiellement maintenues par OpenAI.

De la même manière, la première étape consiste à récupérer le package openai :

# install from PyPI
pip install openai

Nous pouvons ensuite utiliser le petit script suivant pour simuler un chat et lui demander des informations à propos d’Adimeo.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("OPENAI_API_KEY", "{my_api_key_value}"),
)

response = client.responses.create(
    model="gpt-4o",
    temperature=0.7
    input="Can you give me a short description of french web agency Adimeo?",
)

print(response.output_text)

Ce script nous donne le résultat suivant :

Exemple de l'exécution du code avec OpenAI

De la même manière qu’avec Mistral, il est possible de jouer sur les paramètres pour changer le modèle LLM que l’on souhaite utiliser, le nombre de tokens à utiliser ou bien donner plus ou moins de contexte au modèle afin d’orienter sa réponse.

LangChain : un framework pour les gouverner tous

Voyons maintenant une autre approche, celle de LangChain. LangChain est un outil qui se veut être une interface standard pour l’intégration des modèles, qu’ils proviennent d’OpenAI, Anthropic, Google ou autre.

Là où les SDK dédiés ont chacun leurs propres spécificités, LangChain permet au contraire de construire des applications sur une architecture commune. Le développeur utilise la librairie (framework) mise à disposition par LangChain et c’est ensuite celle-ci qui se charge de gérer les spécificités propres à chaque modèle utilisé. C’est donc un gain de temps non négligeable pour les développeurs s’ils doivent utiliser plusieurs modèles issus de fournisseurs différents.

Si vous souhaitez en apprendre plus sur LangChain, vous pouvez vous référer à la documentation officielle. Reprenons nos exemples des chapitres précédents, mais intégrés cette fois-ci par l’intermédiaire de LangChain.

Première étape : installer LangChain

pip install -U langchain

Deuxième étape : installer le ou les paquets relatifs au(x) modèle(s) que l’on souhaite utiliser (dans notre cas, OpenAI et Mistral AI)

pip install -U langchain-openai
pip install -U langchain-mistralai


Intégration de Mistral AI via LangChain

Créons maintenant un petit script dont le but sera le même que lors de l’utilisation du SDK de Mistral AI : demander au modèle de nous donner des informations sur Adimeo.

La différence par rapport au SDK est qu’ici le code utilise des classes et méthodes définies par LangChain. Nous n’utilisons pas directement du code proposé par Mistral AI.

#!/usr/bin/env python
import os

from langchain_mistralai import ChatMistralAI

def main():
    api_key = os.getenv("MISTRAL_API_KEY", "{my_key_value}")
    llm = ChatMistralAI(
        model="mistral-medium-latest",
        temperature=0.7,
        mistral_api_key=api_key,
    )

    messages = [
        (
            "human",
            "Can you give me a short description of french web agency Adimeo?"
        ),
    ]

    ai_msg = llm.invoke(messages)
    print(ai_msg.content)

if __name__ == "__main__":
    main()

Sans grande surprise, le résultat est très similaire à ce que nous avions obtenu avec l’utilisation du SDK de Mistral.

Exemple d'intégration de Mistral AI via LangChain

Intégration de OpenAI via LangChain

Dernier cas de figure, reprenons notre exemple OpenAI mais intégré via LangChain.

#!/usr/bin/env python
import os

from langchain_openai import ChatOpenAI

def main():
    api_key = os.getenv("OPENAI_API_KEY", "{my_key_value}")
    llm = ChatOpenAI(
        model="gpt-4o",
        temperature=0.7,
        api_key=api_key,
    )

    messages = [
        (
            "human",
            "Can you give me a short description of french web agency Adimeo?"
        ),
    ]

    ai_msg = llm.invoke(messages)
    print(ai_msg.content)

if __name__ == "__main__":
    main()

Une fois encore, le résultat est très similaire à celui obtenu via le SDK d’OpenAI.

Exemple d'une intégration de OpenAI via LangChain

Comparaison entre l’intégration de Mistral et l’intégration d’OpenAI via LangChain

Si nous comparons nos deux exemples d’intégration via LangChain, nous constatons que les deux codes sont très similaires. Les deux seules différences résident dans :

  • la classe importée pour cibler l’Intelligence Artificielle à utiliser (ChatMistralAI d’un côté, ChatOpenAI de l’autre).
  • Les paramètres passés lors de l’instanciation de cette classe importée :
    • côté Mistral :
          llm = ChatMistralAI(
              model="mistral-medium-latest",
              temperature=0.7,
              mistral_api_key=api_key,
          )
    • côté OpenAI :
          llm = ChatOpenAI(
              model="gpt-4o",
              temperature=0.7,
              api_key=api_key,
          )

Hormis ces deux différences, le code est similaire entre nos deux exemples, c’est là tout l’intérêt de LangChain : plus besoin de connaître les spécificités de chaque modèle pour pouvoir l’intégrer.


En conclusion, dans cet article, nous vous avons montré avec quelle facilité il est possible d’intégrer l’Intelligence Artificielle à vos applications.

Par le biais des SDKs dédiés, l’avantage est d’utiliser un set d’outils optimisés pour communiquer avec le modèle de votre choix. L’inconvénient se présente lorsque vous devez intégrer différents modèles issus de différents fournisseurs : cela oblige à connaître les spécificités de code de chacun.

Par le biais de LangChain, un niveau d’abstraction supplémentaire est introduit, ce qui vous permet de passer facilement d’un modèle d’IA à l’autre sans pour autant devoir réécrire tout votre code.

Si les solutions proposées dans cet article requièrent l’utilisation du code, il est à noter qu’il existe aussi d’autres solutions dites « all-in-one » qui proposent un niveau d’abstraction encore plus élevé. C’est le cas par exemple de Dify, Flowise ou n8n.

Poursuivez votre lecture avec d’autres articles du blog Adimeo :

Crédit photo : NicoElNino

Image mise en avant pour l'article
Pierre Waldura
Lead Développeur Drupal
Vous souhaitez intégrer des solutions d’IA à vos applications ou explorer les frameworks les plus adaptés à vos cas d’usage ?
Nos experts en développement et en intelligence artificielle vous accompagnent pour concevoir, intégrer et optimiser vos applications IA.
Contactez-nous !