quer entender como os agentes da biblioteca lagen funciona fica aqui comigo nesse [Música] vídeo Oi pessoal aqui é o Rafa no vídeo de hoje eu vou mostrar para vocês os agentes que é terceiro componente né da solução da biblioteca lchin que estava faltando aqui nessa série Inicial né A ideia é fazer vários tutoriais de lchin e só fazendo uma pequena recat pulação primeiro vídeo eu mostrei o que que era a biblioteca e basicamente ela tem três grandes componentes Elas têm os llms elas TM as Chains e t os agentes llms É como fosse o cérebro
certo é o motor por trás de todas as soluções é o xad GPT é o Gini é o lama são esses llms que vão ser utilizados para a inteligência da nossa aplicação para lidar com processos ou tomadas de decisão nesse vídeo ainda eu mostrei aquela primeira ideia da chain né da corrente da biblioteca onde você cria prompts com alguns passos para definir onde você tem variáveis de input definidas e output você pode encadear isso então por exemplo tem um prompt que ele vai me dar as principais cidades turísticas de um país e para cada uma
desses outputs eu posso encadear me D locais paraar nessa cidade então por exemplo se estivesse pensando em criar uma solução de turismo eu sempre vou receber o país no meu prompt E como output eu tenho as C dadas principais desse país e para cada uma dessas cidades Eu posso enviar para um outro prompt e esse outro prompt vai me dar a os principais pontos turísticos de cada uma dessas idades que o primeiro prompt gerou e assim eu posso encadear Quantos processos eu quiser e a primeira e única grande diferença entre as Chains e os Agentes
é que no caso das Chains esse processo ele é estático ele é hardcoded o que quer dizer isso que sempre que eu executar ele ele vai esperar que eu mande o nome de um país e ele vai desencadear toda essa encadeamento de processos né que eu como programador criou então eu já tenho que saber de antemão o que eu quero utilizar numa chain certo se utilizar as Chains as cadeias é processos estáticos processo que não muda processo que eu não vou ficar interando muito a Chin é o o ideal Onde Você Vai juntar o llm
com prompt e vai conseguir criar sua solução os agentes Eles são um passo adiante dessa questão da Chin onde a gente cria soluções que os agentes eles conseguem escolher o que fazer então por exemplo eu vou criar um agente médico vamos supor assim um bote médico e ele recebe informações de um paciente e Dada das informações do paciente ele tem que escolher qual que é a ação a tomar eu peço medicamento eu peço para esse cara ser internado eu dou alta para Ele são processos Diferentes né que ele pode tomar cada um desses processos a
gente vai chamar de ferramentas de Tools que são as possibilidades que LM pode agir e pegar quem vai decidir o que usar e em que ordem usar é o agente Essa é a grande principal diferença e na aplicação que a gente vai fazer hoje vai botar aqui na mão na massa criar um agente aqui em Python a gente vai criar um agente bem simples sem nenhum propósito de novo igual o vídeo de hag é para mostrar para vocês como funciona a tecnologia é conceitual não é uma solução eu vou criar um agente eu vou criar
duas Tools diferentes uma que ela busca links de vídeos no YouTube e a outra que busca informações do Google Trends eu vou mostrar para vocês como eu crio essas Tools como eu testo elas Como eu crio um agente que faz faz isso depois eu vou interagir um pouco com o meu agente se eu perguntar para ele um link do YouTube Eu espero que ele me devolva esse link do YouTube se eu perguntar para ele alguma coisa sobre Google Trends eu espero que ele me dê as informações do Google Trends certo então vamos lá colocar m
no código e descobrir como é que funciona um a gente Pessoal estamos aqui já então no ambiente de desenvolvimento e da mesma maneira que a gente utilizou os embeddings da Open ai na última solução a gente vai utilizar elas aqui também então aqui lembrando que sempre que na pasta já tem a minha chave lá da Open A então vou ter que mandar ela pro sistema e vou usar a biblioteca que já faz isso para mim e aqui simplesmente estan essa função ela vai pegar todos as chaves que tiverem aqui as variáveis de ambiente que tiver
aqui nesse arquivo pen Vão mandar pro meu ambiente de execução certo o agente ele basicamente ele vai ter as Tools certo ele vai precisar de um prompt um objeto de prompt para rodar E além disso ele vai precisar é claro do llm Então a gente vai criar esses três objetos a gente vai depois juntar as Tools junto com o prompt e o llm e esses três caras juntos são de fato o meu agente certo colocar em inglês porque geralmente toda a literatura aa em inglês V manter o inglês aqui só que isso aqui é uma
representação uma classe Vai representar no meu agente eu preciso alguma coisa para executar então no caso da biblioteca Lang Change também precisa de um Executor um Executor Então são esses três objetos que a gente vai precisar aqui vamos então criar primeiro AST que a gente vai usar acho que a gente pode na verdade vamos já adiantar um pouco vamos criar primeiro o llm que a gente já sabe que a gente vai usar o do chat GPT mesmo então vamos aqui importar ele então llm igual Open ai aqui de novo né Só lembrando como a minha
chave tá na variável de ambiente eu não vou precisar passar de novo vou usar o o GPT 3,5 turbo já que é uma versão mais barata e a ideia depois é mostrar para vocês as soluções com ferramentas open source onde não vai ter nenhum custo aqui eu só tô setando a temperatura igual a zero porque eu não quero que ele seja nada criativo tá eu quero que ele use o mínimo possível e alucine o mínimo possível né então por isso que eu quero que ele use as informações que ele vai buscar aqui nas Tools tá
então já tenho o meu llm aqui estanciado vamos criar agora nossas Tools eu falei para vocês que a gente vai utilizar duas basicamente né uma que é o YouTube né um buscador de YouTube e a outra que é um uma do Google Trends todas essas soluções elas estão na parte de community do L Chain unit são pessoas como eu e você que criam soluções e buscam divulgar essas soluções junto com outras pessoas para utilizares então qualquer um de nós pode criar né uma outra solução e disponibilizar para outras pessoas utilizarem e é interessante esse é
um ponto que muita gente fala ah agora acabou a carreira e ah não vai ter mais carreira de programador de Dev não gente só vai mudar quem você acha que criou todas essas coisas são as pessoas que estão antenadas no mercado são as pessoas que já sabem que isso é b ela que só mudou o mercado Então quem criou esse YouTube search Tool foi alguém como e você que entendeu que deveria ser legal ter uma ferramenta para buscar vídeos no YouTube a partir de llms de maneira programática então tá aqui na biblioteca criaram fizeram Deploy
o time da L deixou válido Deploy então a gente pode utilizar ele oficialmente e aqui é muito simples para criar essa aqui eu só vou criar uma variável vou chamar a Deixa eu pensar YouTube e ela vai ser igual a esse cara instanciado então com esse cara aqui o llm ele vai utilizar esse objeto para entrar no YouTube e pesquisar vídeos a partir de uma palavra é isso que essa ferramenta faz certo dado uma ela busca esses links então vou agora criar a minha outra ferramenta que é a do Google Trends que está na mesma
biblioteca certo vou pegar aqui copiar ela tá dentro de Tools só que ela tem uma subpasta que é o Google Trends certo se eu quiser saber quanto uma palavra tá sendo usada ou algo desse gênero então aqui Google Trends query Run e eu vou precisar de outra dependência também que está em utilities e essa dependência é o Google Trends api wer precis desses dois objetos para fazer o Google Trend funcionar vamos aqui embaixo então Google Trends vou instanciar esse cara e vou passar API igual a ess transer mas Rafa da onde que você tirou essas
coisas como é que eu descobri essas coisas a resposta é a resposta menos sex do mundo a resposta que talvez quem esteja Começando na área tá cansado de ouvir que é leia a documentação Então se a gente ver aqui na documentação por exemplo temos aqui o YouTube falando aqui o que que eu preciso para fazer is funcionar Então tá aqui na de community como se importa Ele explica o que que é esse pacote ele busca vídeo no YouTubes e você não precisa tem uma conta no Google ele dá um bypass limite de pesquisa você não
precisa dar pi do YouTube para utilizar essa solução deles porque é muito legal isso né De novo alguém como eu e você que criou isso daqui a gente importa dessa maneira aqui são as dependências que tem instalar que eu já instalei a gente distancia Ele simplesmente Passa esse exemplo aqui né aliás vamos dar uma rodada nesse cara antes eu sei que esse não é o propósito só colocar aqui vamos dar um print só que a invés de Lex friedman Vamos mudar isso aqui para L chain quero um vídeo sobre L chain aqui vamos rodar agora
o nosso código erro de sintaxe aqui né corrigimos ah Gente pelo amor de Deus faltou o g aqui agora sim sem esse G tudo certo todas nossas dependências estão corretas vamos rodar ele e ver o que que ele vai devolver aqui pra gente dessa ferramenta né vamos rodar ela aqui agora aqui temos dois vídeos vamos ver se esses dois vídeos tratam [Música] sobre Então temos aqui um vídeo sobre então a api não é necessariamente uma API uma biblioteca ela capaz a partir de uma palavra ela ir no YouTube busca vídeos relacionados a um determinado tema
bem interessante essa ap aqui agora vamos api não gente tô com api na cabeça vamos testar a o Google Trends é a mesma coisa se a gente vir aqui na documentação dele ele fala que provavelmente essa empresa que crou né Essa serp api e a gente tem que se já tô aqui nela né você tem que ter uma conta né você vai ter uma uma chave assim como você tem da Open ai e ele fala assim que você tem que ser uma chave de ambiente ser api underline Key eu posso pegar essa variável de ambiente
usar a mesma estratégia que eu usei aqui colocar aqui dentro desse ponto en né para expandir ela Coisa Que Eu Já Fiz e a eu vou poder usar o Google Trends aqui também então vamos ver funcionamento dele aqui basicamente que eu descobri que eu preciso desse whopper e desse query Run Esse é o objeto que de fato vai executar e aqui por exemplo a palavra water ele vai me falar o water o número médio essa palavra procurada as tendências tem histórico ele me D uma string gigante com todas as informações provavelmente ele já devolve uma
string aqui porque a gente vai utilizar isso no nosso llm né Essa é a parte interessante de já ter uma biblioteca do L como essa biblioteca é poderosa para trabalhar com lms né E aqui gente não é nada demais e mail vai ter que validar com o telefone você vai ser logado e vai pra sua área de usuário e lá você você vai ter o só copiar e colar a sua chave api sem grandes elocubrações aqui né o terceiro passo né que a gente vai precisar bom aqui a gente já tem aqui o nosso llm
a gente vai precisar de um prompt né o prompt que a gente vai utilizar a gente vai pegar um prompt próprio já da openi que lembra a long chain é um open source né ela não é da Open ai você pode usar vários llms inclusive minha ideia para os vídeos futuros é trazer outros llms diferentes da openi para vocês verem outras opções mas aqui para facilitar nossa vida a openi já criou um template para funções para agentes que usam o llm da Open ai esse template aqui Open ai functions Agent certo tá o nome dele
aqui e eu vou usar a função R do L Nativo justamente para importar esse cara aí já vai importa ele na raiz e usa o template não precisa criar o nosso mas nada impede da gente criar um template próprio e e melhorando esse template tenho aqui então o meu prompt esse p é de pegando mesmo né Eu quero o Aquele modelo da Open ai Esse é provavelmente o Dev que desenvolveu Open Ai p functions presso Agent certo então a gente já tem aqui praticamente tudo que a gente precisa a gente precisa juntar essas Tools a
gente sempre vai juntar todas as Tools que a gente quiser que o a gente seja capaz de fazer em uma lista de Tools então simplesmente pego esses objetos aqui copio e colo se eu tiver mais coisas que o meu agente quer fazer pode fazer eu tenho que distanciar eles aqui e colocar numa lista no exemplo que eu dei sobre o médico por exemplo isso aqui podia ser perdir exames pedir radiografia aí podia colocar outra coisa pedir de alta pedido de um remédio x faça o teste tal são coisas que o agente pode fazer toda tuol
é uma coisa que o ag gente pode fazer a gente simplesmente instancia elas aqui e coloca numa lista chamada de Tools e agora eu tenho já os três componentes que eu preciso tenho as Tools Ten o prompt para usar e tenho o llm então agora a gente vai juntar isso tudo um agente e vamos utilizar aqui os agentes e vou pegar aqui a função Create Open ai functions Agent A partir dessa função vou aqui ó no meu llm vou instanciar ele e aqui eu simplesmente passo o llm que eu criei depois eu vou passar a
minha lista de Tools e em seguida vou passar o meu prompt certo como havia falado no começo um agente nada mais é do que a junção de um llm das Tools e do prompt o prompt é para ele receber as informações um template aqui no caso já tá usando o da Open Ai que aqui do lado já tá dizendo n como ele funciona e tudo mais né então por isso que a gente tá não tá perdendo tempo né já mostrei para vocês como se cria um prompt customizado no primeiro vídeo dessa série estamos usando ISO
aqui por conta disso em seguida a gente tá utilizando o LM Instância olho aqui e est passando isso tudo pro nosso Agente né mantendo inglês aqui e como eu falei para vocês uma coisa é quem vai de fato executar isso a gente precisa de um uma ferramenta para executar os nossos agentes né então aqui V importar o Agent Executor esse objeto ele é o responsável por executar esse agente então de novo algo bem simples aqui vou criar esse objeto Executor a gente vai falar que o agente desse cara é o agente as tools são as
Tools certo que a gente definiu essa lista aqui em cima eu vou deixar ele verboso porque eu quero que vocês vejam o que que ele tá pensando né deixar ele true aqui ele vai colocar vários logs é bem legal pra gente ver o que que ele tá escolhendo Qual o processo que ele tá escolhendo pra gente e pronto acabamos de criar o nosso primeiro agente tudo que a gente precisa tem aqui recapitulando temos as Tools que é o que ele pode fazer o Prom é como ele recebe informação e devolve informação o llm que seria
entre aspas o cérebro né ou o que que vai orquestrar essa solução e temos aqui o agente que junta tudo então essa aqui é uma definição abstrata pra gente ter algo que execute a precisa do Agent Executor e agora vamos começar com os testes Vamos começar com um teste bem simples né vamos dar aqui invoke e vamos a gente passa como se tivesse passando um dicionário inputs e vou começar como se fosse uma pessoa né Falando olá tudo bem vamos supor por exemplo que se fosse um chatbot at entendimento ou algo nessa linha né então
é um bot que vai interagir com o ser humano Opa que que eu errei aqui Ah claro tem que instanciar ele né tô passando uma referencia errou bobo vamos rodar ele aqui de novo Lembrando que eu mandei um Olá tudo bem Olá tudo bem Como posso te ajudar e a gente poderia a partir de encadear outras perguntas mas simplesmente vou começar do zero vou como ter memória né A gente podia fazer ele ter memória como se fosse um chatbot e lembrar que ele tava interagindo né agora eu vou fazer uma pergunta e eu quero que
essa pergunta ele utilize essa Tool ou essa Tool então vou fazer algo relacionado ao YouTube por exemplo Me dê alguns links de vídeos que e no YouTube que falam sobre [Música] llms vamos rodar aqui agora aqui ele começou a executar olha só ele invocou YouTube search Olha que legal que que ele entendeu que ele tinha que vi para cá eu não dei nenhuma dica para ele aqui né eu falei um Prom um ser humano falaria aí ele me responde aqui aqui estão os links do de vídeos do YouTube que falam sobre lms Ele só tá
aparecendo essa parte aqui porque eu deixei o verb true para mostrar para vocês o que ele tá fazendo mas a Rigor se isso aqui fosse falso ele só mostrai aqui pra gente a resposta vamos lá só confirmar pegar esse o primeiro vídeo aqui e um Google no vídeo aqui do Google sobre llms certo então funcionou agora vamos fazer um outro prompt e vamos perguntar algo sobre o Google Trends deixa eu ver qual o valor médio do interesse pela vou colocar mais recente pelo termo llms veja que interessante aqui eu não preciso falar para ele cara
use essa tool do Google Trends use essa outra do YouTube não ele vai saber interagir com a ordem correta né inclusive se ele não souber não tiver tu você tem que criar estratégias para lidar com isso né se ele vai dizer que não sabe se ele vai derivar para um ser humano aí é uma arte né como você lida com o caminho não feliz quando você tá criando um chatbot mas tá vend aqui de novo ó ele entendeu o que ele tinha aqui para cá para Google trains with llms esse daqui são os parâmetros isso
aqui é que devolveu né da query e aqui é a resposta dele o valor médio de interesse mais recente para o termo llm é aproximadamente 50.4 que é o que tá aqui bem interessante interesse presente 54% compara pres anteriores faz sentido né estamos na era do llms e aqui foi uma breve explicação para vocês sobre como é que funciona um gente é um exercício bem Inicial né E a minha ideia aqui com isso é ser algo que todo mundo possa entender né tem o ideias para próximos vídeos já pensar em aplicações um pouquinho mais sofisticadas
e agora vamos fazer as considerações finais pessoal algumas considerações finais em relação à aplicação que a gente viu De novo primeiro é uma aplicação de brinquedo para vocês entenderem a diferença das Ferramentas entender o que é um prompt entender que o agente junta aos dois e o principal que o agente ele escolhe a ordem e qual ferramenta que ele vai executar sem a gente precisar dar informação nenhuma para ele e eu espero que vocês entendam o quanto Fantástico e Poderoso a isso para nós conseguirmos construir ferramentas otimizadas construir nossos próprios chat gpts criar nossas soluções
com LM em casa se a gente precisa por exemplo na empresa com dados proprietários a gente pode usar o hag a gente pode criar por exemplo ferramentas que bus fazem queries em SQL em em bancos de dados e explorem aquela parte de community da lchin da biblioteca lchin que tem uma infinidade de componentes de Tools já prontas que é só pegar e usar e eu acredito que vai ser muito útil no dia a dia de vocês para criar essas pequenas automações e deixar a vida de vocês mais eficiente Então esse papo de que ah a
ia vai tirar o emprego do programador que as pessoas não vem mais aprender tecnologia balela gente olha só o quanto de coisas as pessoas estão fazendo Olha só o quanto de inovação as pessoas estão criando quem você acha que criou esse tipo de estrutura quem pensou isso obviamente foi um programador foi um ser humano foi uma pessoa da área de tecnologia e se você é um profissional de a você tem que ter a capacidade de entender Onde tá o desenvolvimento da tecnologia onde você vai ser útil como você pode se sobressair E é isso que
eu quero com essa playlist que vocês peguem essa playlist e criem as ideias de vocês e depois que vocês criaram essas ideias faz o teste aí em casa e bota aqui embaixo para mim o que que vocês testaram manda o link do kiub vamos conversar que eu vou ter muito prazer em olar com vocês e ajudar vocês nessa jornada de conhecimento Se gostou do vídeo Não esquece de curtir compartilhar e comentar e até a próxima tchau tchau