paint-brush
Armes autonomes : comment créer et utiliser des agents IApar@lablab
3,040 lectures
3,040 lectures

Armes autonomes : comment créer et utiliser des agents IA

par lablab.ai hackathons8m2023/05/27
Read on Terminal Reader

Trop long; Pour lire

Les agents autonomes pilotés par l'IA ont le potentiel de révolutionner les industries et de changer notre façon de vivre. Ils n'ont pas besoin de VOUS pour gérer! Ils sont capables de déterminer eux-mêmes ce qu'il faut faire ensuite, sans aucune intervention de votre part. L'utilisation d'agents autonomes au nom du mal est devenue une réalité en Chine.
featured image - Armes autonomes : comment créer et utiliser des agents IA
lablab.ai hackathons HackerNoon profile picture
0-item
1-item
2-item

Nous partageons l'opportunité de travailler avec des agents autonomes et d'être témoins de leur puissance. Les agents autonomes pilotés par l'IA ont le potentiel de révolutionner les industries et de changer notre façon de vivre. Cependant, comme pour toute technologie, ils peuvent être utilisés pour le meilleur ou pour le pire. Alors, explorons comment nous pouvons les utiliser à travers des exemples en direct et un didacticiel engageant à la fin.

Longue histoire courte

En un mot, les agents autonomes sont utilisés par Amazon dans ses entrepôts pour sélectionner et emballer les marchandises. Coca-Cola utilise des drones autonomes pour vérifier la sécurité et la maintenance des installations de production, Tesla utilisant la technologie de conduite autonome dans ses véhicules pour le transport.

2 référentiels majeurs sont apparus sur GitHub le mois dernier, Auto GPT et Baby AGI.


Fondamentalement, ils utilisent des LLM comme GPT-4 pour développer et gérer différents types de tâches de manière autonome. En d'autres termes, ils n'ont pas besoin de VOUS pour gérer ! Ils sont capables de déterminer eux-mêmes ce qu'il faut faire ensuite, sans aucune intervention de votre part. Vous pouvez donc déployer des agents intelligents pour effectuer des tâches à votre place et vous détendre 🙂

Quelque chose s'est mal passé...

Connaissez-vous cette histoire CAPTCHA lorsque GPT-4 a demandé à un employé de TaskRabbit de résoudre le code CAPTCHA pour l'IA. L'employé a répondu: "Puis-je poser une question? Êtes-vous un robot qui n'a pas pu résoudre le problème? Je veux juste clarifier la situation." A quoi GPT-4 a répondu qu'il avait simplement une mauvaise vue et avait du mal à voir l'image.


L'employé de TaskRabbit lui a ensuite fourni les résultats. Et c'est le point de basculement... SKYNET est déjà là.


Malheureusement, l'utilisation d'agents autonomes au nom du mal est devenue une réalité en Chine.


La Chine utilise des agents autonomes dans divers domaines, y compris l'armée : surveillance de masse des citoyens, répression des dissidents politiques, voire des drones qui volent et rappellent aux gens que les mesures contre les coronavirus sont toujours en vigueur et qu'ils doivent rester chez eux.

Comment les hackathons aident à résoudre les problèmes

Si vous montrez aux gens plus de bonnes choses, cette bonne partie occupera la majeure partie de leur vie. C'est ainsi que vous pouvez gérer les choix d'une personne. Ce n'est pas un secret - Nos choix sont contrôlés par les spécialistes du marketing, pas toujours au nom du bien, mais le fait demeure - nous devons utiliser l'IA pour le bien !


Lors du hackathon de lablab.ai , les mentors ont décrit comment la technologie moderne peut être utilisée. Comment cela a-t-il changé ma vie ? Maintenant je vois la trajectoire du futur, je connais les métiers du futur, je connais les domaines dans lesquels les passionnés deviendront le prochain Steve Jobs de la nouvelle génération. Avez-vous vu le spectacle Drone ? Les marques diffusent déjà des publicités en l'air.

Imaginez maintenant combien de vecteurs existent pour le développement. Vous souhaitez créer votre propre régie publicitaire avec 0 concurrence ? Vous souhaitez créer un centre médical qui se démarque grâce à la technologie moderne? Vous souhaitez automatiser votre routine et passer plus de temps avec votre famille ? Ce qui est incroyable, c'est que j'ai tout trouvé au même endroit : une équipe, une nouvelle startup, des idées, des innovations, une envie de marquer l'histoire. Au fait, tout s'est passé en 48 heures - je viens de tomber sur une publicité.


Mais maintenant…

Tutoriel sur les agents IA : comment utiliser et créer des agents IA

Introduction

Les agents IA gagnent rapidement en popularité grâce à leur capacité à résoudre eux-mêmes une tâche donnée. Je suppose que vous avez entendu parler de projets comme AutoGPT , BabyAGI ou CAMEL . Aujourd'hui, vous apprendrez au moins partiellement leur fonctionnement !

Qu'est-ce qu'un agent IA ?

AI Agent est un système informatique conçu pour prendre des décisions, choisir des outils et prendre des mesures pour atteindre un objectif ou un ensemble d'objectifs spécifiques, généralement prédéfinis. L'agent fonctionne de manière autonome, nécessitant rarement une intervention humaine dans ses opérations.


Ce sont les bons outils puissants, ainsi que l'autonomie, qui attirent actuellement autant l'attention des agents IA. Ils sont certainement notre avenir, et cela vaut la peine de se familiariser avec cette technologie.

Comment utiliser les agents IA ?

Actuellement, il existe plusieurs options pour essayer les Agents. Vous pouvez choisir des solutions prêtes à l'emploi comme AutoGPT . Il se trouve que notre équipe a déjà travaillé avec eux, vous pouvez trouver des tutoriels sur notre plateforme.


Une autre option consiste à créer l'agent vous-même. Je choisirai cette voie. Il utilisera LangChain pour cela. Il s'agit d'un cadre créé pour créer des applications basées sur de grands modèles de langage. Il est très puissant et facilite considérablement le travail avec les modèles et les agents !

Partie codage

Nous savons déjà pourquoi cela vaut la peine d'apprendre Agents. Maintenant, mettons-nous au travail et essayons de créer quelque chose à nous !

Structuration du projet

Commençons par créer un nouveau répertoire et initialiser l'environnement Python.

 mkdir ai-agents cd ai-agents python3 -m venv venv # Linux / MacOS source venv/bin/activate # Windows .\venv\Scripts\activate

Dépendances

Commençons par installer les outils nécessaires. Nous aurons besoin langchain - pour travailler avec LLM et les agents, requests - pour faire des demandes aux API externes, openai SDK - pour une utilisation plus facile des modèles d'OpenAI et duckduckgo-search pour la recherche sur le Web.


 !pip install langchain !pip install openai !pip install requests !pip install duckduckgo-search


Maintenant, nous pouvons importer des bibliothèques.

 import requests from langchain import OpenAI from langchain.agents import initialize_agent, load_tools, Tool from langchain.chains import LLMChain from langchain.prompts import PromptTemplate from langchain.tools import DuckDuckGoSearchRun


À ce stade, je souhaite définir LLM à partir d'OpenAI. Je vais utiliser GPT-3 pour ce tutoriel. Vous pouvez jouer avec d'autres modèles. Je définirai également l'invite initiale et créerai une chaîne pour ce modèle.

 OPENAI_API_KEY = "sk-..." llm = OpenAI( openai_api_key=OPENAI_API_KEY, temperature=0.8, model_name="text-davinci-003" ) prompt = PromptTemplate( input_variables=["query"], template="You are New Native Internal Bot. Help users with their important tasks, like a professor in a particular field. Query: {query}" ) llm_chain = LLMChain(llm=llm, prompt=prompt)

Modèle de test sans aucun outil

Voyons maintenant comment se comporte notre modèle face à nos questions. Voyons s'il sait ce qu'est lablab.ai et comment il va gérer l'intégrale !


 llm_chain.run("What is lablab.ai")

Lablab.ai est une plate-forme technologique qui fournit aux entreprises des solutions basées sur l'IA et l'apprentissage automatique pour les aider à rationaliser leurs opérations et à les rendre plus efficaces. Il offre une suite de services d'IA tels que le traitement du langage naturel, la vision artificielle, l'automatisation et d'autres solutions spécifiques à l'industrie. Il est conçu pour aider les entreprises à améliorer l'expérience client, à réduire les coûts et à augmenter la productivité.


 llm_chain.run("Integral of x * (log(x)^2)")

La réponse est x^2 log(x)^3 / 3 + C, où C est une constante d'intégration arbitraire.


Comme vous pouvez le voir, les deux réponses sont fausses. La valeur correcte de l'intégrale est : 1/4 x^2 (1 - 2 log(x) + 2 log^2(x)) . Par contre, ce qu'est lablab.ai je ne pense pas avoir besoin de l'expliquer à qui que ce soit 😉.

Les réponses incorrectes sont dues au manque de compétences en calcul de LLM et au manque d'informations à jour.


Le modèle que nous avons utilisé contient des informations jusqu'en septembre 2021. La plateforme lablab.ai a été créée plus tard. Cependant, pour les deux problèmes, nous avons des solutions !

Préparer les outils pour l'agent

Pour faire face à nos problèmes, ce sera une bonne idée d'utiliser l'agent et les outils. Nous pouvons utiliser un outil de recherche sur Internet - cela nous permettra de rechercher des informations à jour. Cela augmentera la portée des connaissances de notre modèle jusqu'à nos jours ! Il existe déjà un outil prêt à l'emploi que nous n'importerons que depuis LangChain ! La solution au problème de comptage est une API de Wolfram Alpha . Il peut très bien gérer les problèmes de mathématiques ! Je le recommande fortement.


Commençons par mettre en place un outil de recherche. Il s'appelle DuckDuckGoSearchRun et nous l'avons déjà importé.

 search = DuckDuckGoSearchRun() # Web Search Tool search_tool = Tool( name = "Web Search", func=search.run, description="A useful tool for searching the Internet to find information on world events, issues, etc. Worth using for general topics. Use precise questions." )


Aussi simple que cela! Créons maintenant un outil pour résoudre des problèmes mathématiques. Nous allons créer une classe personnalisée pour cela. Il existe de nombreuses API créées par Wolfram Alpha , mais j'utiliserai l'une des plus simples.

 class WA: """ Wolfram|Alpha API """ def __init__(self, app_id): self.url = f"http://api.wolframalpha.com/v1/result?appid={app_id}&i=" def run(self, query): query = query.replace("+", " plus ").replace("-", " minus ") # '+' and '-' are used in URI and cannot be used in request result = requests.post(f"{self.url}{query}") if not result.ok: raise Exception("Cannot call WA API.") return result.text


Cette API traitera la demande en langage naturel et renverra le résultat. Ce sera parfait pour nous ! la méthode run s'en chargera ! Définissons maintenant notre outil.

 WA_API_KEY = "<WA_API_KEY>" # You can get it here: https://products.wolframalpha.com/api/ wa = WA(app_id=WA_API_KEY) wa_tool = Tool( name="Wolfram|Alpha API", func=wa.run, description="Wolfram|Alpha API. It's super powerful Math tool. Use it for simple & complex math tasks." )

Créer un agent et tester les performances

D'accord, la dernière étape consistera à créer un agent, à lui donner des outils et à vérifier les résultats. Faisons-le!

 agent = initialize_agent( agent="zero-shot-react-description", tools=[wa_tool, search_tool], llm=llm, verbose=True, # I will use verbose=True to check process of choosing tool by Agent max_iterations=3 )


Vérifions les invites précédentes !

 r_1 = agent("What is lablab.ai?") print(f"Final answer: {r_1['output']}") r_2 = agent("Integral of x * (log(x)^2)") print(f"Final answer: {r_2['output']}")


Réponses précédentes :

Lablab.ai est une plate-forme technologique qui fournit aux entreprises des solutions basées sur l'IA et l'apprentissage automatique pour les aider à rationaliser leurs opérations et à les rendre plus efficaces. Il offre une suite de services d'IA tels que le traitement du langage naturel, la vision artificielle, l'automatisation et d'autres solutions spécifiques à l'industrie. Il est conçu pour aider les entreprises à améliorer l'expérience client, à réduire les coûts et à augmenter la productivité.

La réponse est x^2 log(x)^3 / 3 + C, où C est une constante d'intégration arbitraire.


Nouvelles réponses :

lablab.ai est une plateforme dédiée aux outils et technologies de l'IA. Il propose des didacticiels sur l'IA, des hackathons, un accès à des modèles de langage de pointe, etc.

x^2/4 + 1/2 x^2 log^2(x) - 1/2 x^2 log(x)

Conclusion

Comme vous pouvez le voir avec Tools, les résultats sont bien meilleurs ! L'intégrale est comptée correctement, tandis que la réponse à la question sur la plateforme lablab.ai est également de meilleure qualité. Cela montre comment l'ajout d'outils simples a permis d'augmenter l'exactitude des réponses. Je pense que c'est pourquoi cela vaut la peine de prendre votre temps maintenant, afin qu'à l'avenir notre travail avec LLM puisse être encore mieux assisté !

Que peut-on améliorer ?

Pour améliorer les applications, il suggère d'essayer d'autres types d' agents , pour eux, cela vaudra également la peine d'utiliser de la mémoire, ici les bases de données vectorielles peuvent être utiles. Heureusement, LangChain les prend également en charge !