Crie agentes de IA autônomos com Python do zero | Hassan Aboul hassan | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Crie agentes de IA autônomos com Python do zero

teacher avatar Hassan Aboul hassan, Founder @LearnWithHasan & @SimplerLLM

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      O que é um agente de IA?

      3:08

    • 2.

      Configuração básica

      4:46

    • 3.

      Limitação de LLM em ação

      1:54

    • 4.

      Agente de IA codificado

      4:38

    • 5.

      O prompt do ReAct

      6:24

    • 6.

      Como adicionar funções

      9:03

    • 7.

      O loop

      2:11

    • 8.

      O agente final

      6:59

    • 9.

      O prompt

      3:17

    • 10.

      Simplifique com o SimplerLLM

      3:11

    • 11.

      Crie um auditor de SEO

      8:13

    • 12.

      O que é o próximo?

      0:54

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

1.039

Estudantes

3

Projetos

Sobre este curso

Bem-vindo ao “Crie agentes de IA do zero com o Python”, um course dinâmico projetado para pessoas ansiosas para mergulhar no mundo dos agentes autônomos de IA do zero.

Este curso vai guiar você pelos fundamentos dos agentes de IA e introduzir o inovador ReAct Prompting, que permite que modelos de linguagem grande (LLMs) pensem e tomem medidas úteis.

Você vai aprender como criar agentes de IA básicos e avançados totalmente do zero sem usar terceiros.

Vamos criar agentes integrando funções personalizadas que permitem que esses modelos respondam de forma inteligente às consultas dos usuários e às limitações de bypass, como acessar dados ao vivo, APIs e funções externas.

Se você está querendo criar um agente de IA simples ou um agente de IA do mundo real, este curso fornece todos os códigos e modelos necessários para você começar!

Este curso de nível intermediário requer que os participantes tenham uma compreensão fundamental da programação em Python e conceitos básicos de engenharia imediata.

Conheça seu professor

Teacher Profile Image

Hassan Aboul hassan

Founder @LearnWithHasan & @SimplerLLM

Professor

Hello, I'm Hassan.

The thing I dislike most is talking about myself, but here, I'm obliged to do so. I fell in love with computers when I was 8 years old, and by the age of 9, I had made a full Windows installation. I tried my best to learn everything I could about computers, such as Programming, Network and Server Administration, Hacking and Security, Computer Maintenance, Virtualization, Linux, and even Adobe and Auto DeskGraphic, and design products.

Computers are my life. By the time I wrote this biography, I had gained more than 8 years of experience in network and server administration.

I have more than six years of experience in .Net, Java, and C++ Programming, as well as, of course, Database design and administration.

I used to teach these subjects in... Visualizar o perfil completo

Habilidades relacionadas

IA e inovação Fundamentos da IA Prompting
Level: Advanced

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. O que é um agente de IA?: Então, vamos começar entendendo o que é um agente de IA para tornar as coisas o mais simples possível. Eu vou usar esse exemplo prático. Aqui estou em Cage Pit e selecionei o GPT 3.5 Vou simplesmente fazer essa pergunta. Devo pegar um guarda-chuva e sair hoje na Califórnia, ok. Então, vamos tentar isso e agora GPT três me dirá, ou Ch GPT, para fornecer os conselhos mais precisos de que eu precisaria para saber sua localização específica na Califórnia e a previsão do tempo atual para o Então, acho que você aprendeu no curso de engenharia rápida que uma das principais limitações dos modelos de linguagem é que eles só geram respostas com base nos dados nos quais foram treinados. Portanto, ele não tem acesso a dados em tempo real. É por isso que não pode responder à minha pergunta. Ele precisa saber o tempo antes de me dizer se eu preciso de um guarda-chuva ou não Simples Agora, se fizermos a mesma pergunta e formos para o GPT quatro Vamos fazer a mesma pergunta agora. E veja o que vai acontecer. GPT quatro ainda é um modelo de linguagem e tem uma limitação, mas respondeu à minha pergunta O que aconteceu? Simplesmente, o que eu fiz com o GPT quatro, se você entrar aqui e subir, verá com a navegação na web de Dale e algumas outras ferramentas Portanto, não é apenas um modelo de linguagem aqui. É o modelo de linguagem. É o GPT quatro, mas combinado com algumas funções e ferramentas externas Então, ficou o clima. Então, com base no clima, sugeriu que carregar um guarda-chuva pode não ser necessário e forneceu os recursos do clima Entrei em contato com o Serviço Meteorológico Nacional e, com base no resultado, gerei a resposta. Essa é uma forma simples de como os agentes de IA trabalham. Se você quiser definir um agente de IA em termos simples, é um modelo de linguagem, além de algumas ferramentas e funções externas. Esses dois são movidos por uma técnica. Ele permite o modelo, por favor, concentre-se. Ele permite que o modelo pense sobre a pergunta ou a solicitação, entenda, talvez se divida em tarefas e, partir de uma lista de ferramentas às quais está atribuída, eu posso escolher a ferramenta certa para a tarefa, ela gera o resultado com a ferramenta com a ação e usar a saída da ação, novamente, no prompt para gerar o resultado final. De alguma forma, ele imita a forma como os humanos trabalham. Espero que você tenha entendido. 2. Configuração básica: Ok, amigos. Nesta palestra, criarei um ambiente virtual para nosso projeto, instalarei o pacote Open AI e criarei uma função simples para geração de texto usando pen AI e a testarei Então, vamos começar. Primeiro passo, vou subir em um terminal U aqui e criar um ambiente virtual. Basta executar essa VM Python comum e, em seguida, o nome do ambiente virtual, novamente, Aguarde Perfeito. Você pode ver agora que a pasta do ambiente virtual foi criada. Agora vamos ativá-lo. Vou até os scripts, ativarei e aperfeiçoarei. Agora você pode ver que estamos dentro do ambiente virtual e podemos instalar nossos pacotes. Basta executar o pip, instalar o open AI para instalar o pacote pen I em nosso projeto E perfeito, passo um feito, passo dois feito. Agora vamos criar uma função simples para gerar texto com a caneta AI. Vou criar um novo módulo para pen AI para tornar nosso projeto de alguma forma estruturado e organizado. Eu direi que agora vou criar uma função aqui que usa a API Open AI. De Open AI, importen AI, e isso é criar um arquivo de variáveis ambientais Obtenha sua API da Open AI e cole aqui. E vamos voltar agora para ler a chave dos nossos scripts, vou instalar o pacote Python, que possamos ler os valores desse arquivo. Perfeito. Vamos voltar aqui e carregar as variáveis ambientais. Vamos importar o sistema operacional e a função, perfeito. Agora vamos criar uma instância da classe de IA aberta dessa forma, temos um objeto aberto. Isso podemos chamar para gerar um texto perfeito e passamos a chave da API da caneta. Agora, vamos criar a função que gera texto com a caneta AI. Aqui estamos gerando texto básico, usando o cliente pen I e passando o modelo pela foto GPT 3.5 Podemos mudar isso se você quiser, passamos um prompt do sistema e o prompt do usuário e lemos a resposta, muito simples e básica. Já fizemos isso muito antes, no curso de engenharia rápida e em outras aulas. Deixe-me diminuir o zoom e explicar isso rapidamente. Usamos o pacote OpenAI, carregamos as variáveis ambientais, obtemos a chave da API e criamos uma instância Vamos ligar para esse cliente só para esclarecer as coisas. Criamos esse objeto de IA aberto a partir da classe ou instância e, em seguida, geramos texto usando essa instância e retornamos o conteúdo. Vamos testar isso. Vou aqui e criarei um módulo de teste e importarei o módulo aberto ou, digamos, partir da importação aberta, gerarei texto básico. E agora vou dizer prompt, gerar uma resposta de frase de cinco palavras é igual a gerar texto básico e passar a resposta de impressão imediata. Vamos testar isso agora. Python, teste PIs. Recebemos um erro. Vamos voltar aqui. Acho que é APK. Dessa forma, declaramos a instância. Vamos tentar aperfeiçoar. Sim. Precisamos adicionar a chave da API como nome da variável ou nome do parâmetro e obtemos a frase. Vamos esclarecer novamente, e direi que agora gere um parágrafo sobre computação quântica. Vamos correr, ok. E perfeito. Você pode ver agora temos uma função simples que podemos chamar a qualquer momento para gerar texto com a caneta AI A terceira etapa está concluída e estamos prontos para começar a criar nosso agente. 3. Limitação de LLM em ação: OK. Antes de começarmos a construir nosso agente AII Vamos ver em ação e experimentar como os modelos de linguagem são limitados. Voltarei ao modelo de teste que criei e farei a mesma pergunta, se você se lembra, devo pegar um guarda-chuva e sair hoje na Califórnia, por padrão, o modelo como GPT 3,5 Tb? Vamos remover o prompt do sistema Não precisamos disso por enquanto. Agora, estou usando esse prompt e o modelo é o GP 3.5. Vamos ver a resposta do modelo. Eu recomendo verificar a previsão do tempo para sua localização específica para determinar se está chovendo ou algo assim. Então, você pode ver que ele não tem acesso a nenhum dado ativo para decidir com base nisso. Novamente, vou limpar e testar com o GPT quatro. Ele diz que atualmente não consigo acessar dados em tempo real. Novamente, é GPT quatro e não tem acesso a nenhum dado. Lembre-se de que, quando fizemos essa pergunta ao C GPT desenvolvido pelo GPT four e outras ferramentas, ele conseguiu acessar e responder a essa pergunta porque está usando ferramentas externas e esse tipo de agente de IA, como você mencionou anteriormente É isso que vamos construir do zero juntos neste curso. Ele obteve a previsão e, em seguida , respondeu com base nesses dados. Mas se você entrar em contato diretamente com o modelo, sem o ChagPT, sem ferramentas externas, ele é limitado. Você vê? Como assistente de IA, atualmente não consigo acessar dados em tempo real. Essa é a limitação que vamos enfrentar e resolver com agentes de IA. 4. Agente de IA codificado: Ok, amigos. Então, a partir de agora, começaremos a resolver o problema e as limitações dos modelos de linguagem. E daremos ao modelo de linguagem acesso a ferramentas externas. Mas nesta palestra, mostrarei como criar o que chamo de agente de IA codificado. Vamos começar. E acho que com o exemplo, você entenderá o ponto. Então, se você se lembra, dissemos que se quisermos ultrapassar essa limitação e fazer com que o GPT 43.5 ou qualquer modelo de linguagem responda a perguntas que exijam dados em tempo real, precisaremos dar a ele acesso a funções e ferramentas externas Então, vou aqui e digo: exemplos de funções e criarei uma função simples que simplesmente retorna o clima com base na cidade. É muito simples e básico retorna ensolarado, chuvoso, nublado e assim por diante, com base na cidade, no Como eu disse antes, estou mantendo as coisas muito, muito simples, para que qualquer pessoa possa entender o conceito antes de prosseguir com exemplos avançados. Há uma função muito básica em Python que retorna um texto simples, que é o clima com base na cidade Está bem? Agora, vou aqui e criarei um novo módulo, e vou chamá-lo de agente codificado Você entende o que quero dizer daqui a pouco. Esse é o agente codificado. Nesse cenário, vamos nós mesmos, o programador. Vamos chamar a função personalizada, que é get weather, e vamos passar o resultado e injetá-lo no prompt antes de chamar o modelo Se eu voltar para o teste, copiarei o mesmo. Vá aqui novamente para o agente, digamos, um agente codificado Agora, antes de executarmos essa amostra, que é limitada, importarei minha função get weather e direi clima atual e obterei da Califórnia a partir dessa função. Agora, no prompt, eu diria com base na seguinte condição climática e passaria a corrente para o clima que obtivemos da função. Vamos deixar isso claro dividindo em várias linhas dessa forma, removendo os pontos positivos, adicionando o clima atual e formatando a Então, podemos ver agora que nosso prompt é totalmente diferente. Fizemos a pergunta, mas injetamos o resultado da função dentro do próprio prompt. Então, agora o modelo conhece o clima atual com base nessa função, e responderemos com base nisso. Simples, hein? Vamos tentar agora executar esse script novamente, Python e você executa um agente codificado Vamos ver. Com base nas condições climáticas que você descreveu como ensolaradas, normalmente você não precisaria de um guarda-chuva. Você vê? Agora ele respondeu à pergunta e ultrapassamos a limitação. Mas é codificado, que significa que nós mesmos chamamos a função no código e a passamos para o prompt, injetamos o valor e chamamos o modelo para gerar a resposta ou responder à pergunta Embora seja um agente autônomo de IA que vamos construir posteriormente, o modelo de IA por si só entenderá se precisa uma função e a chamará por si só. Então, tudo será automatizado. Essa é a principal diferença. Essa é uma solução codificada. É semelhante aos fluxos de trabalho de automação que criamos no curso de engenharia rápida ou o que eu chamo de cadeia de funções. Então você cria uma função e a encadeia dentro de um prompt e , em seguida, chama o modelo. Isso é o que eu chamo de solução codificada para resolver a limitação no modelo de linguagem A próxima etapa é otimizar, melhorar ou criar uma solução automatizada que possa fazer tudo isso sozinha. Prepare-se para um pouco de mágica que está por vir. 5. O prompt do ReAct: OK. Então, no último exemplo, mostrei como criar o que chamamos agente codificado ou fluxo de trabalho codificado e resolvemos a limitação do LM injetando o resultado da função ou a saída da função diretamente dentro do prompt e obtivemos o Agora é hora de subir de nível e ver como podemos automatizar isso, como podemos fazer com que a IA ou o agente chamem a função automaticamente e a passem automaticamente para o prompt ou a pergunta para respondê-la Em termos simples, como automatizar isso, como podemos criar um agente que pense e responda Por favor, de agora em diante, concentre-se muito bem. Vou passo a passo e dividirei o ID em várias palestras para simplificar as coisas O que vou fazer agora é criar um novo módulo, e vou chamá-lo de prompts. A ideia toda é sobre esse prompt. Vamos diminuir o zoom. Isso é o que chamamos de prompt de reação. Não sei se você ouviu falar sobre o react. É um tipo de solicitação que permite ao modelo pensar entrada do usuário, na pergunta ou na solicitação e realizar ação leve para responder à pergunta Aqui está o prompt que estou usando. Você foi conduzido em um ciclo de pensamento, ação, pose e resposta à ação. No final do loop, você gera uma resposta. Então eu explico isso. Eu digo a eles que a ideia é entender a pergunta que lhe foi feita. Portanto, ele usará o pensamento para entender os requisitos do usuário. Em seguida, ele usará a ação para executar uma das ações disponíveis para você. Portanto, com base na compreensão da tarefa, ele escolherá uma ação e a executará. E então a resposta da ação é o resultado das ações selecionadas. Em seguida, direi ao modelo quais ações estão disponíveis para uso. No nosso caso, temos a função get weather. Então, vamos chamá-lo assim, obter o clima, e os parâmetros são Califórnia, que é o nome da cidade, e depois retornamos o estado climático atual da cidade. Então, essas são as funções ou ações disponíveis para o modelo. E no final, darei um exemplo de sessão. Então, direi, por exemplo, que se a pergunta fosse: devo levar um guarda-chuva na Califórnia hoje, o pensamento será: devo primeiro verificar o clima na Califórnia Então é assim que os humanos pensam. Quando eu te pergunto, devo levar um guarda-chuva? Você vai pensar primeiro no clima? Está ensolarado? Está chovendo Em seguida, você verificará o clima. Você usa uma ação, por exemplo, você verifica a previsão on-line ou algo assim. No nosso caso, temos uma função para obter o clima. Em seguida, ele fará uma pausa e, em seguida, esfriará novamente com a resposta da ação Por exemplo, se a resposta da ação foi: o clima na Califórnia está ensolarado. Então, temos agora o clima para que possamos responder à pergunta com base nessa saída. A saída seria algo como, não, eu não deveria levar um guarda-chuva hoje porque o tempo está ensolarado Então, estamos dando uma sessão de exemplo para o modelo entender como ele funcionará. Então, novamente, esse mesmo baile permite que o modelo pense sobre a pergunta ou a solicitação que foi feita e tente entendê-la e, em seguida, entenda quais tarefas ou quais ações ele deve tomar para resolver o problema, e forneceremos uma lista de ações a serem usadas Ele usará essas ações, obterá a resposta e usará o prompt para obter a final. Resposta. Vamos ver agora como esse prompt funcionará em nosso cenário. Então, vou criar um novo modelo novamente, e vou dizer, teste de agente de reação. E vou copiar agora o agente codificado aqui. E eu vou remover esse. Vou manter a pergunta como está em L quatro e, em seguida, passarei ao sistema aqui o prompt do sistema. Simplesmente passarei o prompt do sistema, mas vamos importá-lo antes. Vou dizer prompt, react system prompt, perfect, e vou passá-lo aqui. Então, o único ajuste que fizemos aqui foi receber a solicitação novamente para uma pergunta simples sem fornecer nenhum dado Movemos a função e agora veremos como o modelo funcionará com esse novo prompt do sistema. Deixe-me mudar a Califórnia também para, por exemplo, Arizona, outra cidade Não queremos uma combinação perfeita. Só para ter certeza de que o prompt está funcionando perfeitamente e, de alguma forma, é genérico. Então, vamos executar esse script, Python, e copiar o nome do script E vamos ver agora o que vai acontecer. Por favor, concentre-se na saída. E perfeito. Você pode ver que agora está de alguma forma pensando. Tem uma ideia. Esse é o primeiro passo. Se você voltar ao prompt, verá que a primeira etapa foi pensada para entender a pergunta. Então, o pensamento é : preciso verificar o clima atual no Arizona Em seguida, a ação escolhe uma ação, que é obter o clima e os parâmetros no Arizona, e depois posiciona Veja, chegamos a esse ponto, perfeito. Mas como ainda não temos a função, o modelo não tem acesso a nenhuma função neste teste. Não definimos nenhuma função aqui, nada. Então, simplesmente pausou e não tivemos a saída final. Mas isso é perfeito para esta palestra sobre este ponto. A ideia que quero mostrar aqui é que esse prompt de pacto permitirá o modelo entenda a questão, decida uma ação, a execute e escolha a ação. Chegamos a um ponto em que o modelo pode escolher automaticamente uma ação a ser usada e, em seguida, responder à pergunta A próxima etapa é definir essa função para que o modelo possa chamá-la e usá-la. 6. Como adicionar funções: OK. Então, na última etapa, o agente foi capaz de pensar sobre a questão e decidir a ação. Mas como não há nenhuma ação definida em nosso script, o modelo não chamou nenhuma ação ou função. Então, nesta palestra, vamos para o nível três e fazer com que o modelo chame automaticamente a ação necessária para responder à pergunta Então, vou aqui e aplicarei este script Quero acompanhar cada atualização para que você possa acessar cada script e acompanhar passo a passo como desenvolvemos o agente do zero Na verdade, vou renomear isso para R A para tornar a nomenclatura um pouco menor, R A, que significa agente de reação, e direi com teste de funções, e este, o teste básico RA E agora vou copiar o mesmo código e movê-lo aqui, e vou definir o conjunto de funções disponíveis para o modelo. Então, vamos remover isso. Eu vou dizer aqui, ações disponíveis, e simplesmente eu defino uma lista que contém o nome de cada função. E vamos importar a função das funções de amostra e transferir para o clima. Portanto, temos uma lista entre as quais o modelo pode escolher. No nosso caso, temos apenas uma para simplificar as coisas, como mencionei antes, mas essa é uma lista, o modelo pode acessar e escolher uma função e chamá-la. Veremos como daqui a pouco. Temos uma lista de ações disponíveis. Agora, o que vou fazer é ler o nome da ação na saída e instruir o modelo a chamar essa função Você pode ver que o modelo sabia que precisamos obter a função climática com o Arizona como parâmetro Mas como vai chamá-lo, vamos ver. Então, agora temos a resposta. Aqui, queremos instruir o modelo a chamar a ação ou a função Então, o que precisamos é extrair o nome da função da resposta, e a resposta é uma resposta de texto. Então, meu pequeno truque aqui está dentro do nosso prompt. Em vez de retornar um texto simples como esse, vou retornar um Jason estruturado Seria muito mais fácil lermos o nome e os parâmetros. O que vou fazer aqui é ir para a sessão de exemplo e você verá aqui que a ação retornada está nesse formato, no nome da função e, em seguida, no parâmetro. Em vez disso, direi ao modelo que retorne isso em JS dessa forma. Então, em vez desse texto simples aqui, temos um JSN dentro do texto para que possamos extraí-lo facilmente do texto da resposta e chamar a função Vamos voltar ao nosso teste aqui e, antes de escrevermos o código para extrair a função, deixe-me mostrar o que aconteceu, o que mudou agora. Vou executar isso no script, e você pode ver agora, o pensamento é o mesmo. Preciso verificar primeiro o clima no Arizona, mas agora a ação está no formato Jason E isso é muito importante. Agora posso ler facilmente essa string de Jason convertê-la em Jason e chamar a função Espero que tenham entendido a ideia porque se você tem um texto simples aqui como antes, talvez precisemos de expressões regulares. De alguma forma, será mais difícil extrair uma função ou uma string simples de dentro da resposta. Quando tivermos um Jason estruturado como este, será muito mais fácil Mas como podemos extrair esse texto JSN dessa resposta. Aqui estão minhas funções auxiliares que desenvolvi, criei para facilitar as coisas para você Vou aqui e criarei um novo módulo Python, vou chamá-lo de ajudantes de JS. Vou colar as funções que criei . Isso pode ajudá-lo em Mas o que precisamos no nosso caso é essa função, extrair Jason do texto Olha como isso é fácil agora. Voltarei ao nosso exemplo e simplesmente direi que a função Jason é igual ao nome da função Vamos primeiro importá-lo do Jason helpers import. Qual é o nome da função? Extraia Jason. Ajudantes, digamos, extraia JS e da resposta, e agora vamos imprimir a função JSN Vamos também imprimir a resposta, eu diria a resposta do modelo, e então direi funções JS extraídas após essa formatação E agora vamos ver o que vai acontecer. Então, o que estou fazendo aqui simplesmente é imprimir a resposta principal e, em seguida, extrair a função JS e, em seguida, imprimir a função extraída para ver se tudo está funcionando perfeitamente Então, vamos executar isso. Você pode ver. Essa é a principal resposta do modelo. Em seguida, a função JSN extraída. Você pode ver que agora temos uma lista de funções com seus parâmetros. Você pode ver o nome da função e os parâmetros da função City, Arizona Agora temos um JCN. É muito mais fácil simplesmente ler os valores desse JSN. Espero que você tenha entendido a ideia aqui. Eu instruí o modelo aqui com o prompt gerar a ação e o parâmetro ou a função com o parâmetro no formato JSM, então será mais fácil para mim extraí-lo posteriormente e permitir que o modelo execute essa Vamos comentar essas linhas. Agora eu tenho a função JSN como texto. A próxima etapa é executar a função. Deixe-me te mostrar o código. De alguma forma, é simples. Acabei de verificar se essa função JSN existe quando a extraímos Então eu recebo o nome da função e os parâmetros da função. Agora você pode ver como é fácil obtê-los do JSIN cortando o JSN Em seguida, verifico se o nome da função existe na lista de ações disponíveis. Onde está essa lista, lembre-se, nós a definimos aqui. Ele verificará se esse nome de função existe nessa lista. Caso contrário, dirá ação desconhecida. Se sim, ele imprimirá em execução o nome da ação com os parâmetros, então eu definirei a função e a codificarei aqui com os parâmetros, salvarei o resultado dentro dessa variável e simplesmente mostrarei essa mensagem de resultado da função, que é o resultado da função, aqui o resultado, e vamos imprimir a mensagem do resultado da função de impressão. É isso mesmo. Extraímos o JSN, depois extraímos o nome da função e os parâmetros da função, verificamos se ele está disponível aqui, pegamos o nome da função e o chamamos, obtemos o resultado e estou imprimindo agora para mostrar que tudo está funcionando conforme Vamos esclarecer isso novamente e testar nosso novo código. Vamos ver o que vai acontecer agora, corra, e você pode ver agora, diz correndo, veja o clima. Então, o modo escolheu automaticamente a função e a executou. Mas temos aqui um problema. Diz que a resposta da ação é nenhuma. Por quê? Simplesmente porque, se formos para nossa função de amostra, não temos o Arizona na lista Então, vamos escolher algo que está disponível aqui, como Londres, e ir aqui e alterar o prompt Se eu levar um guarda-chuva comigo em Londres, vamos agora tentar executar e aperfeiçoar Você pode ver agora o clima correndo, a cidade é Londres e a resposta à ação está nublada O modelo agora nesta etapa foi capaz de decidir que deveria verificar o clima, eu treino a função e obtemos a resposta O próximo passo é fazer o modelo, usar a resposta para responder nosso prompt principal, nossa pergunta principal. E é aí que precisaremos do loop de agentes de IA. Se voltarmos para o prompt, lembre-se de que temos um loop. Então, explicaremos mais sobre esse loop e criaremos nosso próprio loop de agente para que o modelo ou o agente de IA possam responder com a resposta final. 7. O loop: Ok, amigos, na última aula, chegamos a um ponto em que, no modelo somos capazes de obter a função, extraí-la da resposta, chamá-la e obter um resultado da função Então, neste exemplo, para Londres, percebemos que a resposta é nebulosa Então, agora o modelo sabe que o tempo em Londres está nublado Mas isso não gerou a saída final. É aqui que o loop é importante. Se voltarmos às instruções, lembre-se que você corre em um ciclo de ação e ação de resposta Então, o que devemos fazer agora é fazer o modelo rodar dentro de um loop. Dessa forma, ele terá a resposta da ação na segunda iteração do loop Então, na primeira iteração, ele obteve a resposta na segunda iteração Ele terá a resposta para poder responder à pergunta. Espero que tenhamos entendido a ideia porque nesse script aqui, entramos no baile e extraímos a função e obtivemos o resultado Mas paramos aqui. A modelo não sabia como responder. Acabamos de receber a resposta da função. Então, precisamos aninhar esse código aqui dentro de um loop. Assim, o modelo pode ser executado novamente e agora ele conterá as informações. Ele terá a resposta da ação dentro das mensagens. Para fazer isso, nesta palestra, vou apresentar uma nova função Volte para nosso módulo aberto aqui. Vou criar essa nova função. E em vez de pegar um prompt simples e o prompt do sistema e criar as mensagens manualmente aqui no corpo da função, simplesmente passarei as mensagens como um parâmetro. Então, de alguma forma, podemos fazer o modelo, lembrar a conversa. Salvaremos a conversa dentro do loop. Então, agora temos essa função na próxima palestra, finalizaremos nosso agente E se você acha que há algo incerto aqui, acho que aplicaremos isso na prática na próxima aula, você entenderá como o loop funciona e como o modelo e como o agente A está trabalhando dentro desse E você entenderá a importância do loop. 8. O agente final: Ok, amigos, nesta palestra. Vamos finalizar nosso agente de IA implementando o loop final Então, novamente, vou criar um novo módulo, vou chamar RA final. E este é nosso agente de reação final. Espero que, com este exemplo, você entenda toda a ideia por trás dos agentes. Então, vou copiar o mesmo código aqui. Ok, vamos remover esses comentários. E agora, o que vou fazer é adicionar mensagens. Lembre-se de que adicionamos essa função aqui para que possamos passar mensagens. Então, vamos usar essa função em vez disso. Então, precisamos importá-lo aqui, perfeito. E em vez do prompt e do prompt do sistema, passaremos mensagens e as definiremos aqui. As mensagens são iguais. E vamos encarar esse código simples. Você sabe que no OpenAI, temos o prompt do sistema o prompt do usuário e uma conversa, e você pode adicionar o quanto quiser aqui entre o assistente do usuário, como uma conversa a ser passada com o modelo para começar, se quiser . Portanto, temos aqui apenas o prompt do sistema, que é o prompt do sistema de reação, e temos o conteúdo, que é nosso aviso simples aqui Agora passamos essas mensagens como um parâmetro para nossa nova função, então agora ela será gerada com base nessa conversa. Até agora, nada de novo, muito simples. Em vez de passar ao prompt um prompt do sistema, cada um como parâmetro, usamos a nova função com esse parâmetro de mensagens. Em seguida, extraímos a função, nada de novo. Agora precisamos implementar o loop sobre o qual falamos. Por favor, concentre-se nesta parte. Isso é muito importante. É quase a parte mais importante na estrutura do agente de IA. Agora, em vez de gerar diretamente a resposta da IA e depois extrair e continuar, vamos aninhar isso dentro de um loop, como mencionei antes na última palestra Basta definir duas variáveis, a contagem de turnos e o máximo de voltas. Quantas vezes você quer que o asiático corra, quantas iterações e, em seguida, um simples loop y, e você dirá que, embora a contagem de turnos seja menor que o máximo de voltas, ela continuará Vou imprimir a iteração ou a contagem de turnos apenas para saber onde estou dentro do loop Em seguida, adicionarei um à contagem de turnos para que possamos quebrar o loop quando ele atingir cinco e simplesmente adicionaremos uma orientação de guia aqui para criar o código dentro do loop. Então, na primeira iteração, o que acontecerá, geraremos a resposta, extrairemos a função e obteremos o resultado da ação. Está bem? Agora, o que precisamos fazer é acrescentar o resultado à conversa Você vê aqui que temos as mensagens. O que vamos fazer agora aqui é acrescentar uma nova mensagem informando que recebemos uma resposta de ação Obtivemos um resultado da função. Vamos contar ao modelo. Ok, agora temos a resposta para que você possa responder à pergunta. Como fazer isso? Simplesmente. Depois de recebermos a mensagem de resultado da função, simplesmente anexamos essa nova mensagem ou nova mensagem de bate-papo à matriz de mensagens aqui. Está bem? Então, agora, se você quiser, teremos algo assim. A matriz de mensagens será mais ou menos assim neste estágio. Então, agora temos a conversa completa, e podemos novamente na segunda iteração, quando chamarmos isso, agora as mensagens conterão o resultado da função Então essa é a importância do loop. Estamos acompanhando os resultados que o modelo gerou. Obtivemos resultados da função, então a adicionamos às mensagens. Então, na segunda iteração, ele verá que temos um resultado da função E vou acrescentar aqui no final, se não tivermos uma função adjacente, eu diria que senão quebre. Para ver tudo o que está acontecendo dentro do loop, estou aqui também. Imprima a resposta para que possamos ver exatamente o que está acontecendo dentro da mente do agente. Então, faça um loop, imprima a resposta, extraia a função, obtemos a função e a executamos. Obtemos o resultado da função. Adicionamos o resultado ao histórico de mensagens e, em seguida, fazemos um loop com os novos resultados. Vamos ver o que vai acontecer agora. Limpe e vamos executar nossa implementação final ou um final.yn Perfeito. Então, na primeira iteração do ciclo, o modelo, o agente disse, eu deveria primeiro verificar o clima em Londres Então eu preciso dessa ação. Ele executou a ação. Você vê? Eu preciso saber o clima. A cidade é Londres. A resposta da ação é nebulosa. No segundo loop, veja essa mágica incrível. Realmente, é como mágica. Algo muito interessante. Na segunda iteração, o agente agora sabe que o tempo está nublado Então, isso significa que sim, você deve considerar usar um guarda-chuva, pois está nublado em Londres Então, na primeira iteração, entenda a pergunta, eu executo a função e, em seguida, adiciono os resultados ao segundo loop à segunda iteração, e assim por diante até encontrar a resposta final E o que é interessante aqui agora você pode fazer ao agente qualquer pergunta que exija conhecer o clima. Não se trata apenas do guarda-chuva. Deixe-me mostrar um exemplo. Vou alterar essa solicitação e perguntarei outra coisa ao agente. Pergunta muito básica. Qual é o clima em Londres hoje? Então, se você está falando sobre isso, novamente, agora o agente de IA pode responder a essa pergunta facilmente. Isso me dirá que o tempo está nublado. Ele usa a função externa . ' Então faça algumas outras perguntas complicadas para ver o quanto esse agente de IA é inteligente Por exemplo, é um bom dia para visitar a praia na Califórnia. Vamos testar isso. Sim, é um bom dia. O clima é Sonny. Vamos tentar outra coisa. É muito interessante. Deixe-me perguntar desta forma. Qual é o clima em Nova York, e eu escreverei Nova York com erros ortográficos Vamos ver se ele consegue lidar com isso sozinho. Corra novamente. Perfeito. Ele lida com isso. Deixe-me perguntar algo que não tem nada a ver com o clima. O que é marketing digital? Vamos ver o que vai acontecer. Pensei sobre isso, e é uma pergunta baseada em fatos, então recebi uma resposta diretamente. Talvez você esteja se perguntando agora como posso restringir esse agente a responder apenas perguntas relacionadas a um caso de uso específico, como, por exemplo, se é ou talvez apenas para marketing ou apenas para ajuda financeira e assim por diante. Como posso restringir o modelo para fazer isso. Tudo gira em torno do prompt do sistema. Vou discutir isso mais na próxima palestra. 9. O prompt: Então, na última palestra, terminamos o agente de IA e eu mostrei como o loop funciona e como o agente de IA conseguiu usar uma função externa automaticamente para responder às nossas perguntas E brincamos com esse aviso e fizemos perguntas diferentes. E eu mostrei também que ele pode responder a perguntas genéricas, como o que é marketing digital. Vamos executar isso de novo. E você verá que ele tem uma resposta sobre marketing digital. Nesta palestra, quero falar um pouco sobre o sistema, o react prom Primeiro, quero mencionar que esse prompt não é o prompt perfeito. Às vezes, se você mudar um pouco nesse prompt, talvez obtenha resultados melhores. Por exemplo, nesta postagem de bloco, e a propósito, é uma ótima postagem de bloco, aqui, Simon, o autor usa esse prompt aqui. É de alguma forma semelhante e, para ser sincero, recebi algumas ideias do blog dele quando criei o curso. Mas se você ver aqui, quando ele recebe a função, ele retorna desta forma, a ação, o nome da função e o nome do parâmetro. Se você acessar o script Python que ele construiu ou criou, verá o uso de expressões regulares Essa abordagem, na minha opinião, não é a melhor abordagem usando expressões regulares. É por isso que, em meu prompt, preferi usar a estrutura da resposta Jason e extraí-la da resposta, para que possamos interagir facilmente com as funções. Mesmo que eu esteja usando de alguma forma expressões regulares para extrair o JSN Mas quando o extrairmos, obteremos algo parecido com este, que é facilmente acessível e podemos jogar com muito mais facilidade do que um simples texto simples. Então, o que eu quero dizer é que esse aviso não é o aviso sagrado. Você pode brincar com isso, você pode mudar. Vou compartilhar com vocês algumas versões diferentes desse prompt. Enquanto preparava o curso, eu estava brincando com algumas ideias rápidas diferentes. Deixa eu te mostrar essa. Como você pode ver aqui, eu tenho diferentes versões de prompt. Vou anexar tudo isso, para que você possa jogar e testar se quiser. Só uma nota final. Se você quiser que o agente de IA responda perguntas somente em seu cenário de caso ou caso de uso específico. Por exemplo, quero que o agente responda apenas perguntas relacionadas a se. Posso adicionar isso ao prompt do sistema. Não responda a nenhuma pergunta que não esteja relacionada ao clima. E então você escreve o prompt de reação. Se você for aqui agora e vamos testar isso, eu pergunto o que é marketing digital? Vamos ver qual será a resposta. Você pode ver que eu sinto muito, mas eu só posso fornecer informações sobre o clima. Esse prompt do sistema é muito importante, se você quiser. Para tornar seu agente específico para um cenário de caso de uso especial. Acho que de agora em diante, você pode usar o mesmo modelo de prompt, esse modelo de reação. Você pode adicionar mais funções e testá-las se quiser, e faremos isso mais tarde. Mostrarei como você pode implementar alguns agentes avançados de IA com diferentes cenários e casos de uso posteriormente nos vídeos do projeto. Mas, por enquanto, acho que você entendeu a ideia completa e a importância desse prompt do sistema. 10. Simplifique com o SimplerLLM: Ok, amigos. Nesta palestra, mostrarei como simplificar o processo de criação de agentes de IA com uma biblioteca chamada LM mais simples Então, o que vou fazer simplesmente é clonar esse copiar e colar e simplesmente renomeá-lo Vamos chamá-lo de algo mais simples. E a ideia aqui é mais simples. LM é uma biblioteca que eu desenvolvi. É um pacote Python que ajudará você a interagir com modelos de linguagem com muito Acredite, isso me ajudou muito e eu o tornei público e de código aberto Qualquer pessoa pode usá-lo e criar ferramentas poderosas de IA com facilidade. Olha isso agora. Não precisaremos mais desse módulo, não precisaremos mais do módulo JS Helpers. Precisamos do prompt e da função de amostra de clima do GT e, simplesmente aqui, instale um LM mais simples e verifique se você está no ambiente virtual Basta instalá-lo, esperar um pouco e perfeito Agora, a partir de uma linguagem simples de pontos LM LLM importe LLM e o provedor LLM Olha isso. Agora, criarei uma nova instância de LM e selecionarei o provedor como IA aberta e o nome do modelo como GPT four Agora eu tenho essa instância. Eu posso usá-lo para gerar texto com IA. O que é muito bom é que você pode simplesmente mudar o provedor para Gemini ou autoantrópico, e o código permanecerá como Essa é a principal vantagem de usar o LM simples. Com uma instância, você pode criar o aplicativo e, se quiser alterar o modelo, basta alterar o provedor aqui. De qualquer forma, a IA também, e vamos até aqui, a função de gerar e, digamos, gerar resposta e passar as mensagens, mensagens iguais, e não precisamos mais do modelo aqui , pois ele é definido com a instância, e então simplesmente podemos inserir também as ferramentas JSN, que estão embutidas nessa biblioteca Temos um conjunto de ferramentas, auxiliares de JS, importamos, extraímos JS do texto e simplesmente o substituímos por essa função aqui Com essa biblioteca, agora, você não precisa de todos esses módulos em seu script Python . Vamos testá-lo. Vou executar isso e ver o que vai acontecer e aperfeiçoar. Funciona como antes. Portanto, agora não precisamos de todos esses módulos, como mencionei, você só precisa importar a biblioteca e usar as ferramentas. Talvez você pense agora que não é grande coisa. Eu posso criar esses arquivos, mas você verá mais tarde, quando criar mais projetos e ferramentas de IA e assim por diante, você verá como isso mudará o jogo Acredite, com base na experiência real, mais de 100 projetos de IA, isso mudará a maneira como você interage com os modelos de linguagem. 11. Crie um auditor de SEO: Olá a todos, espero que tenham gostado deste curso sobre como criar agentes de IA do zero com Python Agora, nesta palestra, construiremos um exemplo do mundo real Algo realmente super interessante. Vou criar um agente, um agente de IA que possa responder perguntas sobre páginas da web. É um agente auditor de SEO. Assim, ele terá acesso direto às páginas da web e você poderá perguntar o que quiser, por exemplo, quantas fotos existem nesta página da web Como otimizar essa página da web para ser classificada no Google. Qualquer coisa que você quiser. É como seu assistente de SEO. SEO significa otimização de mecanismos de pesquisa e é a técnica usada para otimizar seu site, que possamos nos classificar no Google ou nos mecanismos de pesquisa para obter tráfego orgânico. Vamos criar juntos o agente de IA mais antigo de SEO. Tenho certeza que você vai adorar isso. É super interessante. Vamos começar. Então, aqui está um novo projeto. Vou começar do zero para que possamos revisar tudo o que fizemos e você verá agora a importância e o poder de um LM mais simples neste projeto Crie um novo arquivo Python. Este é o arquivo principal, e vamos criar o arquivo de prompt, abrir o terminal. Vamos criar um novo ambiente virtual. Não se preocupe com os códigos. Tudo será anexado ao curso. Por favor, concentre-se agora. Entenda o conceito para que possamos criar qualquer agente que você quiser. Vamos ativar. OK. Perfeito. Instale um LM mais simples, ok, perfeito Agora vamos adicionar nossa pasta APike aqui e agora vamos começar Primeiro passo, importarei um LM mais simples e criarei uma nova instância, como fizemos na última aula Agora temos isso que extrai JS do texto e temos a instância gerando texto com GPT para API Agora, antes de prosseguirmos, vamos entender o asiático que vamos construir. Como mencionei, este é um agente auditor de SEO. Assim, podemos perguntar qualquer coisa sobre qualquer página da web e ela pode acessar os dados da página da web. Ele pode ler a página da web e responder com base nisso. Então, qual é a nossa ação externa, a função externa? Vamos definir isso. Digamos ações, por exemplo, ponto Y, e essa função é simplesmente uma função que pode gerar um relatório de SEO para qualquer página da web Então, para fazer isso, usarei uma API simples que desenvolvi. É chamada de ferramenta de análise de SEO do site. Se você acessar a API rápida e testá-la, por exemplo, este é meu site, ponto final de teste, você verá que obtemos uma descrição detalhada, os cabeçalhos HTTP, os títulos, a descrição, a contagem de palavras, as imagens, Portanto, os dados sobre qualquer página da web são perfeitos. Então, agora, vou criar uma função que chama essa API e retorna a auditoria de SEO. Agora, aqui está o poder do LM simples. Construímos um módulo de API rápida nesta biblioteca. Assim, podemos chamar qualquer API em uma API rápida com essa classe simples. Então, vou definir essa função. É preciso um URL. Eu fornecerei o APURL da API rápida. Vamos ver, essa é a URL, e temos o parâmetro como URL, você pode ver, eu defino os parâmetros e, em seguida, chamo a API com essa função simples e retorno a resposta. Você pode ver agora como o LM simples tornou as coisas muito mais fáceis agora e criamos a função facilmente com a ajuda do LM simples Perfeito, temos a ação. Agora é hora de definir o prompt. Claro, eu preparei isso antes. Só para não perder tempo agora escrevendo o prompt completo. Vamos colar e explicar brevemente. Olha isso. É quase a mesma ação, pensamento, ação, resposta, o mesmo modelo de reação, mas agora temos diferentes ações disponíveis. Temos o relatório da página get SCO que você pode ver e teremos uma URL como parâmetro E esta é a sessão de exemplo. Isso é muito importante. Olha isso. O título está otimizado para a palavra-chave marketing na página da web? nas.com é meu site A ideia de que eu deveria primeiro gerar um relatório de SCO completo para a página da web Ele chama essa função e , com base no relatório, responderá à sua pergunta. Você vai ver agora o quão interessante é isso? Este é o nosso aviso. Voltarei à sessão principal para acessar o script principal e importarei a função de actions, importarei, obterei um relatório de página CO e, de import axt and prompt, perfeito Temos a ação agora, temos o prompt e temos nossas funções, temos a instância LM, estamos prontos para criar o agente Então, de agora em diante, o código é quase o mesmo. Eu vou colar isso. Você verá que agora temos a consulta do usuário, que é a pergunta que você deseja fazer. Por exemplo, quantas imagens na página da web a seguir. As mensagens, eu as defini, depois a contagem de turnos, o loop. Você se lembra do loop. Então, temos a resposta do agente. Usando agora a instância do elemento para doar a resposta e passar as mensagens e, em seguida, simplesmente anexar a resposta. Simplesmente temos a resposta do agente, extraímos a ação e verificamos se ela está disponível. Portanto, precisamos definir as ações disponíveis em Lembre-se dessa lista, vamos defini-la. Vamos aqui e defini-lo como disponível. Ações, aqui está a ação. Agora, acho que está tudo perfeito. Eu abro a mensagem. OK. Vamos testar isso. A questão agora é quantas imagens na seguinte página da web? Vamos tentar Python main BY Runs, temos uma API de erro que deve ser fornecida para Precisamos fornecer o APK rápido também aqui, acrescentamos que este é meu AP Ike e você pode encontrá-lo, aliás, aqui, o APike rápido. Vamos voltar ao nosso Vamos limpar e tentar novamente. Agora, espero que funcione. Função, perfeita, geração de relatório, loop dois. Há oito imagens nesta página da web. Perfeito. Vamos fazer uma pergunta diferente. Qual é a velocidade de resposta desta página da web. Vamos correr. A resposta final é de 0,08 segundos. Uau, de alguma forma rápido. você pode ver, agora temos esse agente de IA capaz de responder qualquer pergunta relacionada às suas páginas da web com a ajuda de uma função externa Este é o nosso agente de IA de auditoria de SEO. Lembre-se de que esse é o back-end do nosso agente. Estamos interagindo agora com o terminal. Esse pode ser um ótimo projeto para talvez uma ferramenta em seu site, como explicamos em meus outros cursos sobre a criação de ferramentas de IA no WordPress, ou talvez a criação de um bot de bate-papo. Novamente, no WordPress, desenvolvido por um assistente como este aqui. Quando você cria esse agente e, a propósito, temos infinitas possibilidades aqui, podemos criar qualquer agente que você queira que possa ajudá-lo em qualquer coisa ou fornecer isso como um serviço aos seus clientes em seu próprio site, para seus próprios clientes, para seus próprios visitantes. Seria algo muito útil para sua empresa ou para você mesmo, ou talvez para ser mais produtivo em qualquer coisa que você quiser. 12. O que é o próximo?: Então chegamos ao final desse curso. Espero que você tenha gostado de aprender a criar agentes de IA com a ajuda do react prompt e do Python totalmente do zero. Agora, o que vem a seguir? A coisa mais importante a fazer é praticar, criar seu próprio agente. Você pode obter todos os meus códigos. Tudo está anexado, baixado e tente ajustá-lo, alterá-lo para criar seu próprio agente personalizado Não se esqueça de compartilhar tudo conosco com a comunidade. Nós podemos compartilhar ideias, nós podemos. Estou aqui para ajudá-lo a qualquer momento, se você enfrentar algum problema, poste suas perguntas Estou aqui quase todos os dias. A segunda coisa é que publicarei mais projetos asiáticos de IA quase todos os meses na minha videoteca no meu site. Se você gosta de participar, pode ir até lá e continuar e ver mais exemplos e mais projetos todos os meses. Obrigado e veja outro curso.