paint-brush
Armas autônomas: como construir e usar agentes de IApor@lablab
3,038 leituras
3,038 leituras

Armas autônomas: como construir e usar agentes de IA

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

Muito longo; Para ler

Agentes autônomos orientados por IA têm o potencial de revolucionar as indústrias e mudar a maneira como vivemos. Eles não precisam de VOCÊ para gerenciar! Eles são capazes de determinar o que fazer a seguir por conta própria, sem nenhuma entrada sua. O uso de Agentes Autônomos em nome do mal tornou-se uma realidade na China.
featured image - Armas autônomas: como construir e usar agentes de IA
lablab.ai hackathons HackerNoon profile picture
0-item
1-item
2-item

Estamos compartilhando a oportunidade de trabalhar com Agentes Autônomos e testemunhar seu poder em primeira mão. Agentes autônomos orientados por IA têm o potencial de revolucionar as indústrias e mudar a maneira como vivemos. No entanto, como acontece com qualquer tecnologia, eles podem ser usados para o bem ou para o mal. Então, vamos explorar como podemos utilizá-los por meio de exemplos ao vivo e um tutorial envolvente no final.

Longa história curta

Em poucas palavras, os Agentes Autônomos estão sendo usados pela Amazon em seus armazéns para coletar e embalar mercadorias. A Coca-Cola usa drones autônomos para verificar as instalações de produção quanto à segurança e manutenção, a Tesla usa tecnologia de direção autônoma em seus veículos para transporte.

Dois grandes repositórios surgiram no GitHub no último mês, Auto GPT e Baby AGI.


Basicamente, eles usam LLMs como GPT-4 para desenvolver e gerenciar diferentes tipos de tarefas de forma autônoma. Em outras palavras, eles não precisam de VOCÊ para gerenciar! Eles são capazes de determinar o que fazer a seguir por conta própria, sem nenhuma entrada sua. Assim, você pode implantar agentes inteligentes para realizar tarefas para você e relaxar 🙂

Algo deu errado...

Você conhece essa história do CAPTCHA quando o GPT-4 pediu a um funcionário do TaskRabbit para resolver o código CAPTCHA para o AI. O funcionário respondeu: "Posso fazer uma pergunta? Você é um robô que não conseguiu resolver o problema? Só quero esclarecer a situação." Ao que o GPT-4 respondeu que simplesmente tinha problemas de visão e dificuldade em ver a imagem.


O funcionário do TaskRabbit forneceu a ele os resultados. E este é o ponto de inflexão...SKYNET já está lá.


Infelizmente, o uso de Agentes Autônomos em nome do mal tornou-se uma realidade na China.


A China usa Agentes Autônomos em vários campos, incluindo o militar: vigilância em massa de cidadãos, repressão de dissidentes políticos, até drones que voam e lembram às pessoas que as medidas de coronavírus ainda estão em vigor e devem ficar em casa.

Como os hackathons ajudam a consertar as coisas

Se você mostrar às pessoas mais coisas boas, essa parte boa ocupará a maior parte de suas vidas. É assim que você pode administrar as escolhas de uma pessoa. Não é segredo - nossas escolhas são controladas pelos profissionais de marketing, nem sempre em nome do bem, mas o fato permanece - temos que usar IA para o bem!


No hackathon do lablab.ai , os mentores descreveram como a tecnologia moderna pode ser usada. Como isso mudou minha vida? Agora posso ver a trajetória do futuro, conheço as profissões do futuro, conheço os campos em que os entusiastas se tornarão o próximo Steve Jobs da geração da nova era. Você já viu o show do Drone? As marcas já estão exibindo anúncios no ar.

Agora imagine quantos vetores existem para o desenvolvimento. Quer criar sua própria empresa de publicidade com 0 concorrência? Quer criar um centro médico que se destaque pela tecnologia moderna? Quer automatizar sua rotina e passar mais tempo com sua família? O incrível é que encontrei tudo em um só lugar: uma equipe, uma nova startup, ideias, inovações, uma vontade de deixar uma marca na história. A propósito, tudo aconteceu em 48 horas - acabei de encontrar um anúncio.


Mas agora…

Tutorial de agentes de IA: como usar e criar agentes de IA

Introdução

Os agentes de IA estão ganhando popularidade rapidamente por meio de sua capacidade de resolver uma determinada tarefa por conta própria. Acho que você já ouviu falar de projetos como AutoGPT , BabyAGI ou CAMEL . Hoje você aprenderá pelo menos parcialmente como eles funcionam!

O que é um agente de IA?

O AI Agent é um sistema de computador projetado para tomar decisões, escolher ferramentas e realizar ações para atingir um objetivo específico, geralmente predefinido ou um conjunto de objetivos. O agente opera de forma autônoma, raramente necessitando de intervenção humana em suas operações.


São as ferramentas poderosas certas, bem como a autoconfiança, que atualmente fazem com que os Agentes de IA concentrem tanta atenção. Com certeza são o nosso futuro, e vale a pena conhecer essa tecnologia.

Como usar agentes de IA?

Atualmente, existem várias opções para experimentar os Agentes. Você pode escolher soluções prontas para uso, como o AutoGPT . Acontece que nossa equipe já trabalhou com eles, você encontra tutoriais em nossa plataforma.


Outra opção é construir você mesmo o Agente. Eu vou escolher este caminho. Ele usará LangChain para isso. É um framework criado para construir aplicações baseadas em Large Language Models. É muito poderoso e facilita significativamente o trabalho com modelos e agentes!

Parte de codificação

Já sabemos porque vale a pena aprender Agentes. Agora vamos trabalhar e tentar criar algo nosso!

Estrutura do projeto

Vamos começar criando um novo diretório e inicializando o ambiente Python.

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

Dependências

Vamos começar instalando as ferramentas necessárias. Vamos precisar langchain - para trabalhar com LLM e agentes, requests - para fazer solicitações a APIs externas, openai SDK - para facilitar o uso dos modelos da OpenAI e duckduckgo-search para pesquisa na web.


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


Agora 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


Neste ponto, quero definir o LLM do OpenAI. Usarei o GPT-3 para este tutorial. Você pode jogar com outros modelos. Também definirei o prompt inicial e criarei uma cadeia 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 teste sem nenhuma ferramenta

Agora vamos ver como nosso modelo se comporta quando confrontado com nossas perguntas. Vamos ver se ele sabe o que é lablab.ai, e como ele vai lidar com a integral!


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

Lablab.ai é uma plataforma de tecnologia que fornece às empresas soluções baseadas em IA e aprendizado de máquina para ajudar a simplificar suas operações e torná-las mais eficientes. Ele oferece um conjunto de serviços de IA, como processamento de linguagem natural, visão de máquina, automação e outras soluções específicas do setor. Ele foi projetado para ajudar as empresas a melhorar as experiências de seus clientes, reduzir custos e aumentar a produtividade.


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

A resposta é x^2 log(x)^3 / 3 + C, onde C é uma constante de integração arbitrária.


Como você pode ver, ambas as respostas são falsas. O valor correto da integral é: 1/4 x^2 (1 - 2 log(x) + 2 log^2(x)) . Por outro lado, o que é lablab.ai acho que não preciso explicar para ninguém 😉.

As respostas incorretas são devidas à falta de habilidades numéricas do LLM e à falta de informações atualizadas.


O modelo que utilizamos tem informações até setembro de 2021. A plataforma lablab.ai foi criada posteriormente. Porém, para ambos os problemas temos soluções!

Preparar ferramentas para o agente

Para lidar com nossos problemas, será uma boa ideia usar Agente e Ferramentas. Podemos usar uma ferramenta de pesquisa na Internet - isso nos permitirá pesquisar informações atualizadas. Isso aumentará o alcance do conhecimento do nosso modelo até os dias atuais! Já existe uma ferramenta pronta que vamos importar apenas do LangChain! A solução para o problema de contagem é uma API do Wolfram Alpha . Ele pode lidar com problemas de matemática muito bem! Eu recomendo.


Vamos começar montando uma ferramenta de pesquisa. Chama-se DuckDuckGoSearchRun e já o importamos 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." )


Simples assim! Agora vamos criar uma ferramenta para resolver problemas matemáticos. Vamos criar uma classe personalizada para isso. Existem muitas APIs criadas pelo Wolfram Alpha , mas vou usar uma das mais 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


Essa API manipulará a solicitação em linguagem natural e retornará o resultado. Será perfeito para nós! run irá lidar com isso! Agora vamos definir nossa ferramenta.

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

Criar Agente e testar o desempenho

Ok, o último passo será criar um Agente, dar-lhe Ferramentas e verificar os resultados. Vamos fazê-lo!

 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 )


Vamos verificar as instruções 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']}")


Respostas anteriores:

Lablab.ai é uma plataforma de tecnologia que fornece às empresas soluções baseadas em IA e aprendizado de máquina para ajudar a simplificar suas operações e torná-las mais eficientes. Ele oferece um conjunto de serviços de IA, como processamento de linguagem natural, visão de máquina, automação e outras soluções específicas do setor. Ele foi projetado para ajudar as empresas a melhorar as experiências de seus clientes, reduzir custos e aumentar a produtividade.

A resposta é x^2 log(x)^3 / 3 + C, onde C é uma constante de integração arbitrária.


Novas respostas:

lablab.ai é uma plataforma dedicada a ferramentas e tecnologias de IA. Oferece tutoriais de IA, hackathons, acesso a modelos de linguagem de última geração e muito mais.

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

Conclusão

Como você pode ver com o Tools os resultados são muito melhores! A integral é contada corretamente, enquanto a resposta da pergunta sobre a plataforma lablab.ai também é de melhor qualidade. Isso mostra como a adição de ferramentas simples ajudou a aumentar a correção das respostas. Acho que é por isso que vale a pena o seu tempo agora, para que no futuro nosso trabalho com o LLM possa ser ainda melhor assistido!

O que pode ser melhorado?

Para melhorar as aplicações sugere-se experimentar outros tipos de Agentes , para eles também valerá a pena usar memória, aqui Bancos de Dados Vetoriais podem vir a calhar. Felizmente, LangChain também os suporta!