Maison > développement back-end > Tutoriel Python > Créer des agents intelligents avec LangChain et OpenAI : guide du développeur

Créer des agents intelligents avec LangChain et OpenAI : guide du développeur

Mary-Kate Olsen
Libérer: 2025-01-20 16:22:16
original
164 Les gens l'ont consulté

Building Intelligent Agents with LangChain and OpenAI: A Developer

L'essor de l'intelligence artificielle permet aux développeurs d'intégrer des fonctionnalités intelligentes dans les flux de travail quotidiens. Une approche clé consiste à créer des agents autonomes qui allient raisonnement et action. Cet article montre la création de tels agents à l'aide de LangChain, de GPT-4 d'OpenAI et des fonctionnalités expérimentales de LangChain. Ces agents exécuteront du code Python, interagiront avec les fichiers CSV et traiteront des requêtes complexes. Commençons !


Pourquoi choisir LangChain ?

LangChain excelle en tant que framework pour développer des applications exploitant des modèles de langage. Sa force réside dans la création de composants modulaires et réutilisables, comme des agents, capables de :

  • Exécution du code Python.
  • Analyser et interagir avec les fichiers de données.
  • Effectuer un raisonnement et une prise de décision à l'aide d'outils.

La combinaison de LangChain avec GPT-4 d'OpenAI permet la création d'agents adaptés à des besoins spécifiques, y compris l'analyse des données et le débogage de code.


Démarrage : configuration de l'environnement

Avant de coder, assurez-vous que votre environnement est correctement configuré :

  • Installer les bibliothèques Python :
<code class="language-bash">pip install langchain langchain-openai python-dotenv</code>
Copier après la connexion
Copier après la connexion
  • Créez un fichier .env : Stockez votre clé API OpenAI en toute sécurité :
<code>OPENAI_API_KEY=your_api_key_here</code>
Copier après la connexion

Créer un agent d'exécution Python

Une capacité cruciale de l'agent consiste à exécuter du code Python. Ceci est réalisé en utilisant PythonREPLTool de LangChain. Définissons l'agent :

Conception des instructions

Le fonctionnement de l'agent repose sur un ensemble d'instructions. Voici l'invite :

<code>instruction = """
You are an agent tasked with writing and executing Python code to answer questions.
You have access to a Python REPL for code execution.
Debug your code if errors occur and retry.
Use only the code's output to answer.
If code cannot answer the question, respond with 'I don't know'.
"""</code>
Copier après la connexion

Configuration de l'agent

Le framework REACT de LangChain construira cet agent :

<code class="language-python">from langchain import hub
from langchain_openai import ChatOpenAI
from langchain_experimental.tools import PythonREPLTool
from langchain.agents import create_react_agent, AgentExecutor

base_prompt = hub.pull("langchain-ai/react-agent-template")
prompt = base_prompt.partial(instructions=instruction)

tools = [PythonREPLTool()]
python_agent = create_react_agent(
    prompt=prompt,
    llm=ChatOpenAI(temperature=0, model="gpt-4-turbo"),
    tools=tools,
)
python_executor = AgentExecutor(agent=python_agent, tools=tools, verbose=True)</code>
Copier après la connexion

Cet agent exécute le code Python et renvoie les résultats.


Ajout d'une analyse CSV à l'agent

L'analyse des données est une tâche fréquente des agents d'IA. L'intégration de create_csv_agent de LangChain permet à notre agent d'interroger et de traiter les données des fichiers CSV.

Configuration de l'agent CSV

Voici comment ajouter des fonctionnalités CSV :

<code class="language-python">from langchain_experimental.agents.agent_toolkits import create_csv_agent

csv_agent = create_csv_agent(
    llm=ChatOpenAI(temperature=0, model="gpt-4-turbo"),
    path="episode-info.csv",
    verbose=True,
    allow_dangerous_code=True,
)</code>
Copier après la connexion

Cet agent répond aux questions sur episode-info.csv, telles que le nombre de lignes/colonnes et la saison avec le plus d'épisodes.


Combiner des outils pour un agent unifié

Pour plus de polyvalence, nous combinons l'exécution Python et l'analyse CSV en un seul agent, permettant un changement d'outil transparent en fonction de la tâche.

Définition unifiée de l'agent

<code class="language-python">from langchain.agents import Tool

def python_executor_wrapper(prompt: str):
    python_executor.invoke({"input": prompt})

tools = [
    Tool(
        name="Python Agent",
        func=python_executor_wrapper,
        description="""
        Transforms natural language to Python code and executes it.
        Does not accept code as input.
        """
    ),
    Tool(
        name="CSV Agent",
        func=csv_agent.invoke,
        description="""
        Answers questions about episode-info.csv using pandas calculations.
        """
    ),
]

grant_agent = create_react_agent(
    prompt=base_prompt.partial(instructions=""),
    llm=ChatOpenAI(temperature=0, model="gpt-4-turbo"),
    tools=tools,
)
grant_agent_executor = AgentExecutor(agent=grant_agent, tools=tools, verbose=True)</code>
Copier après la connexion

Cet agent gère à la fois la logique Python et l'analyse des données CSV.


Exemple pratique : analyse des épisodes d'une émission télévisée

Testons l'agent unifié avec episode-info.csv :

<code class="language-bash">pip install langchain langchain-openai python-dotenv</code>
Copier après la connexion
Copier après la connexion

L'agent analyse le CSV et renvoie la saison avec le plus d'épisodes, en utilisant des pandas.


Prochaines étapes et conclusion

  • Expérimentez avec davantage d'outils et d'ensembles de données.
  • Explorez la documentation de LangChain pour une création d'agent plus avancée.

LangChain permet la création d'agents intelligents hautement personnalisés, simplifiant ainsi les flux de travail complexes. Avec des outils tels que Python REPL et l'agent CSV, les possibilités sont vastes, de l'automatisation de l'analyse des données au débogage du code et au-delà. Commencez à créer votre agent intelligent dès aujourd'hui !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal