paint-brush
Armas autónomas: cómo construir y usar agentes de IApor@lablab
3,038 lecturas
3,038 lecturas

Armas autónomas: cómo construir y usar agentes de IA

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

Demasiado Largo; Para Leer

Los agentes autónomos impulsados por IA tienen el potencial de revolucionar las industrias y cambiar la forma en que vivimos. ¡No necesitan que USTED los maneje! Son capaces de determinar qué hacer a continuación por su cuenta, sin ninguna intervención de usted. El uso de Agentes Autónomos en nombre del mal se ha convertido en una realidad en China.
featured image - Armas autónomas: cómo construir y usar agentes de IA
lablab.ai hackathons HackerNoon profile picture
0-item
1-item
2-item

Estamos compartiendo la oportunidad de trabajar con Agentes Autónomos y ser testigos de su poder de primera mano. Los agentes autónomos impulsados por IA tienen el potencial de revolucionar las industrias y cambiar la forma en que vivimos. Sin embargo, como con cualquier tecnología, pueden usarse para bien o para mal. Entonces, exploremos cómo podemos utilizarlos a través de ejemplos en vivo y un interesante tutorial al final.

Larga historia corta

En pocas palabras, Amazon está utilizando agentes autónomos en sus almacenes para recoger y embalar mercancías. Coca-Cola usa drones autónomos para verificar la seguridad y el mantenimiento de las instalaciones de producción, Tesla usa tecnología de conducción autónoma en sus vehículos para el transporte.

2 repositorios principales han aparecido en GitHub en el último mes, Auto GPT y Baby AGI.


Básicamente, utilizan LLM como GPT-4 para desarrollar y gestionar diferentes tipos de tareas de forma autónoma. En otras palabras, ¡no necesitan que USTED los maneje! Son capaces de determinar qué hacer a continuación por su cuenta, sin ninguna intervención de usted. Así que puedes desplegar agentes inteligentes para que hagan tareas por ti y relajarte 🙂

Algo salió mal...

¿Conoce esta historia de CAPTCHA cuando GPT-4 le pidió a un empleado de TaskRabbit que resolviera el código CAPTCHA para la IA? El empleado respondió: "¿Puedo hacer una pregunta? ¿Eres un robot que no pudo resolver el problema? Solo quiero aclarar la situación". A lo que GPT-4 respondió que simplemente tenía mala vista y dificultad para ver la imagen.


El empleado de TaskRabbit luego le proporcionó los resultados. Y este es el punto de inflexión... SKYNET ya está allí.


Desafortunadamente, el uso de Agentes Autónomos en nombre del mal se ha convertido en una realidad en China.


China utiliza Agentes Autónomos en varios campos, incluido el militar: vigilancia masiva de ciudadanos, represión de disidentes políticos, incluso drones que vuelan y recuerdan a las personas que las medidas de coronavirus aún están vigentes y deben quedarse en casa.

Cómo ayudan los hackatones a arreglar las cosas

Si le muestras a la gente más cosas buenas, esa parte buena ocupará la mayor parte de sus vidas. Así es como puedes administrar las elecciones de una persona. No es un secreto: nuestras elecciones están controladas por los especialistas en marketing, no siempre en nombre del bien, pero el hecho es que tenemos que usar la IA para el bien.


En el hackatón de lablab.ai , los mentores describieron cómo se puede usar la tecnología moderna. ¿Cómo cambió mi vida? Ahora puedo ver la trayectoria del futuro, conozco las profesiones del futuro, conozco los campos en los que los entusiastas se convertirán en el próximo Steve Jobs de la generación de la nueva era. ¿Has visto el show de Drones? Las marcas ya están publicando anuncios en el aire.

Ahora imagina cuántos vectores hay para el desarrollo. ¿Quieres crear tu propia empresa de publicidad con 0 competencia? ¿Quieres crear un centro médico que se destaque por la tecnología moderna? ¿Quieres automatizar tu rutina y pasar más tiempo con tu familia? Lo increíble es que lo encontré todo en un solo lugar: un equipo, una nueva startup, ideas, innovaciones, ganas de dejar una huella en la historia. Por cierto, todo sucedió en 48 horas: me topé con un anuncio.


Pero ahora…

Tutorial de AI Agents: cómo usar y crear AI Agents

Introducción

Los agentes de IA están ganando popularidad rápidamente gracias a su capacidad para resolver una tarea determinada por su cuenta. Supongo que has oído hablar de proyectos como AutoGPT , BabyAGI o CAMEL . ¡Hoy aprenderás al menos parcialmente cómo funcionan!

¿Qué es un agente de IA?

AI Agent es un sistema informático que está diseñado para tomar decisiones, elegir herramientas y realizar acciones para lograr un objetivo o conjunto de objetivos específicos, generalmente predefinidos. El agente opera de forma autónoma y rara vez requiere intervención humana en sus operaciones.


Son las herramientas poderosas adecuadas, así como la autosuficiencia, lo que actualmente hace que los agentes de IA centren tanta atención. Sin duda son nuestro futuro, y vale la pena familiarizarse con esta tecnología.

¿Cómo utilizar los agentes de IA?

Actualmente, hay varias opciones para probar Agentes. Puede elegir soluciones listas para usar, como AutoGPT . Da la casualidad de que nuestro equipo ya ha trabajado con ellos, puedes encontrar tutoriales en nuestra plataforma.


Otra opción es construir el Agente usted mismo. Elegiré este mismo camino. Utilizará LangChain para esto. Es un marco creado para construir aplicaciones basadas en modelos de lenguaje grande. ¡Es muy poderoso y hace que trabajar con modelos y agentes sea mucho más fácil!

Parte de codificación

Ya sabemos por qué vale la pena aprender Agentes. ¡Ahora pongámonos manos a la obra y tratemos de crear algo propio!

Estructura del proyecto

Comencemos por crear un nuevo directorio e inicializar el entorno de Python.

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

dependencias

Comencemos instalando las herramientas necesarias. Necesitaremos langchain , para trabajar con LLM y agentes, requests , para realizar solicitudes a API externas, openai SDK, para un uso más fácil de los modelos de OpenAI y duckduckgo-search para la búsqueda web.


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


Ahora podemos importar bibliotecas.

 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


En este punto, quiero definir LLM de OpenAI. Usaré GPT-3 para este tutorial. Puedes jugar con otros modelos. También definiré el aviso inicial y crearé una cadena para este modelo.

 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)

Modelo de prueba sin herramientas

Ahora veamos cómo se comporta nuestro modelo cuando se enfrenta a nuestras preguntas. ¡Veamos si sabe qué es lablab.ai y cómo manejará la integral!


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

Lablab.ai es una plataforma tecnológica que brinda a las empresas soluciones basadas en inteligencia artificial y aprendizaje automático para ayudar a optimizar sus operaciones y hacerlas más eficientes. Ofrece un conjunto de servicios de inteligencia artificial, como procesamiento de lenguaje natural, visión artificial, automatización y otras soluciones específicas de la industria. Está diseñado para ayudar a las empresas a mejorar la experiencia de sus clientes, reducir costos y aumentar la productividad.


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

La respuesta es x^2 log(x)^3 / 3 + C, donde C es una constante de integración arbitraria.


Como puede ver, ambas respuestas son falsas. El valor correcto de la integral es: 1/4 x^2 (1 - 2 log(x) + 2 log^2(x)) . Por otro lado, qué es lablab.ai no creo que haga falta que se lo explique a nadie 😉.

Las respuestas incorrectas se deben a la falta de habilidades numéricas de LLM y la falta de información actualizada.


El modelo que utilizamos tiene información hasta septiembre de 2021. Posteriormente se creó la plataforma lablab.ai. Sin embargo, ¡para ambos problemas tenemos soluciones!

Preparar herramientas para el agente

Para hacer frente a nuestros problemas será una buena idea utilizar Agente y Herramientas. Podemos usar una herramienta de búsqueda en Internet; esto nos permitirá buscar información actualizada. ¡Esto aumentará el alcance del conocimiento de nuestro modelo hasta el día de hoy! ¡Ya existe una herramienta lista para usar que solo importaremos de LangChain! La solución al problema de conteo es una API de Wolfram Alpha . ¡Puede manejar problemas matemáticos muy bien! Lo recomiendo altamente.


Comencemos armando una herramienta de búsqueda. Se llama DuckDuckGoSearchRun y lo hemos importado antes.

 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." )


¡Simple como eso! Ahora vamos a crear una herramienta para resolver problemas matemáticos. Crearemos una clase personalizada para esto. Hay muchas API creadas por Wolfram Alpha , pero usaré una de las más 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


Esta API manejará la solicitud en lenguaje natural y devolverá el resultado. ¡Será perfecto para nosotros! ¡El método run se encargará de eso! Ahora vamos a definir nuestra herramienta.

 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." )

Crear agente y probar el rendimiento

Bien, el último paso será crear un Agente, darle Herramientas y verificar los resultados. ¡Vamos a hacerlo!

 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 )


¡Veamos las indicaciones anteriores!

 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']}")


Respuestas anteriores:

Lablab.ai es una plataforma tecnológica que brinda a las empresas soluciones basadas en inteligencia artificial y aprendizaje automático para ayudar a optimizar sus operaciones y hacerlas más eficientes. Ofrece un conjunto de servicios de inteligencia artificial, como procesamiento de lenguaje natural, visión artificial, automatización y otras soluciones específicas de la industria. Está diseñado para ayudar a las empresas a mejorar la experiencia de sus clientes, reducir costos y aumentar la productividad.

La respuesta es x^2 log(x)^3 / 3 + C, donde C es una constante de integración arbitraria.


Nuevas respuestas:

lablab.ai es una plataforma dedicada a herramientas y tecnologías de IA. Ofrece tutoriales de IA, hackatones, acceso a modelos de lenguaje de última generación y más.

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

Conclusión

Como puedes ver con Tools los resultados son mucho mejores! La integral se cuenta correctamente, mientras que la respuesta a la pregunta sobre la plataforma lablab.ai también es de mejor calidad. Esto muestra cómo la adición de herramientas simples ayudó a aumentar la corrección de las respuestas. Creo que es por eso que vale la pena su tiempo ahora, para que en el futuro nuestro trabajo con LLM pueda ser aún mejor asistido.

¿Qué se puede mejorar?

Para mejorar las aplicaciones sugiere probar con otro tipo de Agentes , para ellos también valdrá la pena usar memoria, aquí las Bases de Datos Vectoriales pueden venir bien. ¡Afortunadamente, LangChain también los admite!