Guide du débutant pour créer des applications LLM avec Python

Guide du débutant pour créer des applications LLM avec Python

beginner-guide-building-llm-apps-python-header Guide du débutant pour créer des applications LLM avec Python NEWS
Image de l’éditeur | À mi-parcours et Canva

Robin Sharma a déclaré : « Chaque maître était autrefois un débutant. Chaque pro était autrefois un amateur. » Vous avez entendu parler des grands modèles de langage (LLM), de l’IA et des modèles de transformateur (GPT) qui font des vagues dans l’espace de l’IA depuis un certain temps, et vous ne savez pas par où commencer. Je peux vous assurer que tous ceux que vous voyez aujourd’hui la création d’applications complexes existait autrefois.

C’est pourquoi, dans cet article, vous serez influencé par les connaissances dont vous avez besoin pour commencer à créer des applications LLM avec le langage de programmation Python. Ceci est strictement adapté aux débutants et vous pouvez coder tout en lisant cet article.

Qu’allez-vous construire dans cet article ? Vous allez créer un simple assistant personnel IA qui génère une réponse basée sur l’invite de l’utilisateur et la déploie pour y accéder globalement. L’image ci-dessous montre à quoi ressemble l’application terminée.

beginner-guide-building-llm-apps-with-python-2 Guide du débutant pour créer des applications LLM avec Python NEWS beginner-guide-building-llm-apps-with-python-2 Guide du débutant pour créer des applications LLM avec Python NEWS
Cette image montre l’interface utilisateur de l’assistant personnel IA qui sera construit dans cet article

Conditions préalables

Pour que vous puissiez suivre cet article, vous devez verrouiller certaines choses. Ceci comprend:

  1. Python (3.5+) et écriture de scripts Python en arrière-plan.
  2. OpenAI : OpenAI est une organisation de recherche et une entreprise technologique qui vise à garantir que l’intelligence artificielle générale (AGI) profite à l’ensemble de l’humanité. L’une de ses principales contributions est le développement de LLM avancés tels que GPT-3 et GPT-4. Ces modèles peuvent comprendre et générer du texte de type humain, ce qui en fait des outils puissants pour diverses applications telles que les chatbots, la création de contenu, etc.
    S’inscrire pour OpenAI et copiez vos clés API depuis la section API de votre compte afin de pouvoir accéder aux modèles. Installez OpenAI sur votre ordinateur à l’aide de la commande ci-dessous :
  1. Chaîne Lang :LangChaîne est un framework conçu pour simplifier le développement d’applications qui exploitent les LLM. Il fournit des outils et des utilitaires pour gérer et rationaliser les différents aspects du travail avec les LLM, facilitant ainsi la création d’applications complexes et robustes.

Installez LangChain sur votre ordinateur à l’aide de la commande ci-dessous :

  1. Rationalisé : Rationalisé est une bibliothèque Python puissante et facile à utiliser pour créer des applications Web. Streamlit vous permet de créer des applications Web interactives en utilisant uniquement Python. Vous n’avez pas besoin d’expertise en développement Web (HTML, CSS, JavaScript) pour créer des applications Web fonctionnelles et visuellement attrayantes.

    Il est utile pour créer des applications d’apprentissage automatique et de science des données, y compris celles qui utilisent des LLM. Installez streamlit sur votre ordinateur à l’aide de la commande ci-dessous :

Coder le long

Une fois tous les packages et bibliothèques requis installés, il est temps de commencer à créer l’application LLM. Créez un fichier require.txt dans le répertoire racine de votre répertoire de travail et enregistrez les dépendances.

streamlit
openai
langchain

Créez un fichier app.py et ajoutez le code ci-dessous.

# Importing the necessary modules from the Streamlit and LangChain packages
import streamlit as st
from langchain.llms import OpenAI
  • Importe la bibliothèque Streamlit, utilisée pour créer des applications Web interactives.
  • from langchain.llms import OpenAI importe la classe OpenAI du module langchain.llms, qui est utilisé pour interagir avec les modèles de langage d’OpenAI.
# Setting the title of the Streamlit application
st.title('Simple LLM-App 🤖')
  • st.title(‘Simple LLM-App 🤖’) définit le titre du Web Streamlit.
# Creating a sidebar input widget for the OpenAI API key, input type is password for security
openai_api_key = st.sidebar.text_input('OpenAI API Key', type="password")
  • openai_api_key = st.sidebar.text_input(‘OpenAI API Key’, type= »password ») crée un widget de saisie de texte dans la barre latérale pour que l’utilisateur puisse saisir sa clé API OpenAI. Le type de saisie est défini sur « mot de passe » pour masquer le texte saisi pour des raisons de sécurité.
# Defining a function to generate a response using the OpenAI language model
def generate_response(input_text):
    # Initializing the OpenAI language model with a specified temperature and API key
    llm = OpenAI(temperature=0.7, openai_api_key=openai_api_key)
    # Displaying the generated response as an informational message in the Streamlit app
    st.info(llm(input_text))
  • def generate_response(input_text) définit une fonction nommée generate_response qui prend input_text comme argument.
  • llm = OpenAI(temperature=0.7, openai_api_key=openai_api_key) initialise la classe OpenAI avec un paramètre de température de 0,7 et la clé API fournie.

Température est un paramètre utilisé pour contrôler le caractère aléatoire ou la créativité du texte généré par un modèle de langage. Il détermine le degré de variabilité que le modèle introduit dans ses prédictions.

  • Basse température (0,0 – 0,5): Cela rend le modèle plus déterministe et ciblé.
  • Température moyenne (0,5 – 1,0): Fournit un équilibre entre le hasard et le déterminisme.
  • Haute température (1,0 et plus): Augmente le caractère aléatoire de la sortie. Des valeurs plus élevées rendent le modèle plus créatif et diversifié dans ses réponses, mais cela peut également conduire à moins de cohérence et à des résultats plus absurdes ou hors sujet.
  • st.info(llm(input_text)) appelle le modèle de langage avec le input_text fourni et affiche la réponse générée sous forme de message d’information dans l’application Streamlit.
# Creating a form in the Streamlit app for user input
with st.form('my_form'):
    # Adding a text area for user input
    text = st.text_area('Enter text:', '')
    # Adding a submit button for the form
    submitted = st.form_submit_button('Submit')
    # Displaying a warning if the entered API key does not start with 'sk-'
    if not openai_api_key.startswith('sk-'):
        st.warning('Please enter your OpenAI API key!', icon='⚠')
    # If the form is submitted and the API key is valid, generate a response
    if submitted and openai_api_key.startswith('sk-'):
        generate_response(text)
  • avec st.form(‘my_form’) crée un conteneur de formulaire nommé my_form.
  • text = st.text_area(‘Enter text:’,  ») ajoute un widget de saisie de zone de texte dans le formulaire permettant à l’utilisateur de saisir du texte.
  • submit = st.form_submit_button(‘Submit’) ajoute un bouton de soumission au formulaire.
  • sinon openai_api_key.startswith(‘sk-‘) vérifie si la clé API saisie ne commence pas par sk-.
  • st.warning(‘Veuillez saisir votre clé API OpenAI !’, icon=’⚠’) affiche un message d’avertissement si la clé API n’est pas valide.
  • s’il est soumis et openai_api_key.startswith(‘sk-‘) vérifie si le formulaire est soumis et si la clé API est valide.
  • generate_response(text) appelle la fonction generate_response avec le texte saisi pour générer et afficher la réponse.

En le rassemblant, voici ce que vous avez :

# Importing the necessary modules from the Streamlit and LangChain packages
import streamlit as st
from langchain.llms import OpenAI

# Setting the title of the Streamlit application
st.title('Simple LLM-App 🤖')

# Creating a sidebar input widget for the OpenAI API key, input type is password for security
openai_api_key = st.sidebar.text_input('OpenAI API Key', type="password")

# Defining a function to generate a response using the OpenAI model
def generate_response(input_text):
    # Initializing the OpenAI model with a specified temperature and API key
    llm = OpenAI(temperature=0.7, openai_api_key=openai_api_key)
    # Displaying the generated response as an informational message in the Streamlit app
    st.info(llm(input_text))

# Creating a form in the Streamlit app for user input
with st.form('my_form'):
    # Adding a text area for user input with a default prompt
    text = st.text_area('Enter text:', '')
    # Adding a submit button for the form
    submitted = st.form_submit_button('Submit')
    # Displaying a warning if the entered API key does not start with 'sk-'
    if not openai_api_key.startswith('sk-'):
        st.warning('Please enter your OpenAI API key!', icon='⚠')
    # If the form is submitted and the API key is valid, generate a response
    if submitted and openai_api_key.startswith('sk-'):
        generate_response(text)

Exécuter l’application

La candidature est prête ; vous devez exécuter le script d’application à l’aide de la commande appropriée pour le framework que vous utilisez.

En exécutant ce code à l’aide de streamlit run app.py, vous créez une application Web interactive dans laquelle les utilisateurs peuvent saisir des invites et recevoir des réponses textuelles générées par LLM.

Lorsque vous exécutez streamlit run app.py, les événements suivants se produisent :

  • Le serveur Streamlit démarre: Streamlit démarre un serveur Web local sur votre machine, généralement accessible par défaut sur `http://localhost:8501`.
  • Exécution de code: Streamlit lit et exécute le code dans `app.py`, rendant l’application telle que définie dans le script.
  • interface Web: Votre navigateur Web s’ouvre automatiquement (ou vous pouvez naviguer manuellement) vers l’URL fournie par Streamlit (généralement http://localhost:8501), où vous pouvez interagir avec votre application LLM.

Déployer votre application LLM

Déployer une application LLM signifie la rendre accessible sur Internet afin que d’autres puissent l’utiliser et la tester sans avoir besoin d’accéder à votre ordinateur local. Ceci est important pour la collaboration, les commentaires des utilisateurs et les tests réels, garantissant ainsi que l’application fonctionne correctement dans divers environnements.

Pour déployer l’application sur Streamlit Cloud, suivez ces étapes :

  • Créez un référentiel GitHub pour votre application. Assurez-vous que votre référentiel comprend deux fichiers : app.py et rexigences.txt
  • Aller à Cloud communautaire rationaliséclique le « Nouvelle application » de votre espace de travail et spécifiez le référentiel, la branche et le chemin du fichier principal.
  • Clique le Déployer et votre application LLM sera désormais déployée sur Streamlit Community Cloud et accessible dans le monde entier.

beginner-guide-building-llm-apps-with-python-1 Guide du débutant pour créer des applications LLM avec Python NEWS beginner-guide-building-llm-apps-with-python-1 Guide du débutant pour créer des applications LLM avec Python NEWS

Conclusion

Toutes nos félicitations! Vous avez fait vos premiers pas dans la création et le déploiement d’une application LLM avec Python. En commençant par comprendre les prérequis, en installant les bibliothèques nécessaires et en écrivant le code de l’application principale, vous avez maintenant créé un assistant personnel IA fonctionnel. En utilisant Streamlit, vous avez rendu votre application interactive et facile à utiliser, et en la déployant sur Streamlit Community Cloud, vous l’avez rendue accessible aux utilisateurs du monde entier.

Grâce aux compétences que vous avez acquises dans ce guide, vous pouvez approfondir vos connaissances des LLM et de l’IA, explorer des fonctionnalités plus avancées et créer des applications encore plus sophistiquées. Continuez à expérimenter, à apprendre et à partager vos connaissances avec la communauté. Les possibilités des LLM sont vastes et votre voyage ne fait que commencer. Bon codage !

Shittu Olumide est un ingénieur logiciel et un rédacteur technique passionné par l’exploitation des technologies de pointe pour créer des récits captivants, avec un sens aigu du détail et un talent pour simplifier des concepts complexes. Vous pouvez également retrouver Shittu sur Twitter.

Source