Bot IA
Traduit de l'original en espagnol. Lire en espagnol
Dans ce tutoriel, nous allons apprendre à créer un bot IA simple pour répondre à des questions avec Python et Azure OpenAI. Nous allons construire un système de base capable de répondre aux questions dans une conversation interactive en ligne de commande.

Prérequis
Avant de commencer, installez les bibliothèques suivantes dans votre environnement Python :
pip install langchain
pip install -U langchain-openai
pip install azure-identity
Authentification
D’abord, nous devons charger les identifiants nécessaires pour nous authentifier auprès d’Azure et utiliser les services Azure OpenAI.
import os
from azure.identity import ChainedTokenCredential, EnvironmentCredential
Nous chargeons les variables d’environnement AZURE_TENANT_ID, AZURE_CLIENT_ID et AZURE_CLIENT_SECRET avec les valeurs correspondantes.
os.environ['AZURE_TENANT_ID'] = "00000000-0000-0000-0000-000000000000"
os.environ['AZURE_CLIENT_ID'] = "00000000-0000-0000-0000-000000000000"
os.environ['AZURE_CLIENT_SECRET'] = "xxxxx"
Pour obtenir le token d’accès, nous utilisons Azure Identity. Vous trouverez plus d’informations dans la documentation officielle d’Azure Identity.
credential = ChainedTokenCredential(EnvironmentCredential())
access_token = credential.get_token("https://cognitiveservices.azure.com/.default")
Implémentation du bot de questions-réponses
Ensuite, nous configurons le deployment avec le nom du déploiement et définissons les variables d’environnement nécessaires.
deployment = "zerogap-gpt4-turbo"
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://zerogap.openai.azure.com/"
os.environ["OPENAI_API_VERSION"] = "2024-02-15-preview"
os.environ["OPENAI_API_TYPE"] = "azure_ad"
os.environ["AZURE_OPENAI_API_KEY"] = access_token.token
os.environ["OPENAI_DEPLOYMENT"] = deployment
Nous configurons le LLM et le modèle de messages pour les questions et réponses. Vous trouverez plus d’informations sur ces paramètres dans la documentation de LangChain et dans le guide de démarrage rapide des modèles de messages.
from langchain_openai import AzureChatOpenAI
from langchain.prompts import ChatPromptTemplate
llm = AzureChatOpenAI(openai_api_version="2024-02-15-preview", azure_deployment=deployment, temperature=0.5)
qa_system_prompt = """Tú eres un asistente para tareas de respuesta a preguntas. \
Utiliza un máximo de tres frases y mantén la respuesta concisa.\
"""
qa_prompt = ChatPromptTemplate.from_messages(
[
("system", qa_system_prompt),
("human", "{input}"),
]
)
Nous définissons la chaîne de traitement du bot et préparons le chat interactif en ligne de commande.
from langchain.prompts import ChatPromptTemplate
chain = qa_prompt | llm
print("\033[92m" + "¡Bienvenido al Bot de IA!" + "\033[0m")
print("\033[92m" + "###############################" + "\033[0m")
print("\033[92m" + "###############################" + "\033[0m")
print("\n")
while True:
question = input("\033[93m" + "Ingresa tu pregunta: " + "\033[0m")
if question == "quit":
break
result = chain.invoke({"input": question})
print("\033[92m" + "Respuesta: " + "\033[0m", result)
Avec ce code, vous pouvez interagir avec le chatbot en tapant vos questions dans le terminal.
Code complet
Voici le code complet pour exécuter le bot IA de questions-réponses avec Python et Azure OpenAI :
import os
from azure.identity import ChainedTokenCredential, EnvironmentCredential
from langchain_openai import AzureChatOpenAI
from langchain.prompts import ChatPromptTemplate
os.environ['AZURE_TENANT_ID'] = "00000000-0000-0000-0000-000000000000"
os.environ['AZURE_CLIENT_ID'] = "00000000-0000-0000-0000-000000000000"
os.environ['AZURE_CLIENT_SECRET'] = "xxxxx"
credential = ChainedTokenCredential(EnvironmentCredential())
access_token = credential.get_token("https://cognitiveservices.azure.com/.default")
deployment = "zerogap-gpt4-turbo"
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://zerogap.openai.azure.com/"
os.environ["OPENAI_API_VERSION"] = "2024-02-15-preview"
os.environ["OPENAI_API_TYPE"] = "azure_ad"
os.environ["AZURE_OPENAI_API_KEY"] = access_token.token
os.environ["OPENAI_DEPLOYMENT"] = deployment
llm = AzureChatOpenAI(openai_api_version="2024-02-15-preview", azure_deployment=deployment, temperature=0.5)
qa_system_prompt = """Tú eres un asistente para tareas de respuesta a preguntas. \
Utiliza un máximo de tres frases y mantén la respuesta concisa.\
"""
qa_prompt = ChatPromptTemplate.from_messages(
[
("system", qa_system_prompt),
("human", "{input}"),
]
)
chain = qa_prompt | llm
print("\033[92m" + "¡Bienvenido al Bot de IA!" + "\033[0m")
print("\033[92m" + "###############################" + "\033[0m")
print("\033[92m" + "###############################" + "\033[0m")
print("\n")
while True:
question = input("\033[93m" + "Ingresa tu pregunta: " + "\033[0m")
if question == "quit":
break
result = chain.invoke({"input": question})
print("\033[92m" + "Respuesta: " + "\033[0m", result)
Avec cet exemple simple, vous avez créé un bot IA qui peut servir de base à des systèmes plus complexes.
