Conheça a trilha Aplicações IA com Python, da Asimov Academy:
https://asimov.academy/trilha-aplicaco...
Video Transcript:
esse simples sistema aqui essa telinha feia com esse formulário aqui quase ridículo é o tipo de projeto mais poderoso que vocês podem construir hoje em dia utilizando Inteligência Artificial e o que que isso aqui tem de tão especial esse sistema especificamente é capaz de responder perguntas sobre o funcionamento da zimov porque ele foi treinado em uma base de conhecimentos que o nosso time tá alimentando sobre como a empresa funciona Então nesse caso em específico ele é capaz de responder e-mails que clientes nos mandam o tempo inteiro como se fosse um funcionário aqui da empresa deixa eu mostrar alguns exemplos então dúvidas muito comuns que a gente costuma receber de clientes IMP potenciais é que cursos que eu faço para atingir um determinado objetivo Então vamos supor que a gente receba uma dúvida em específica de um cliente que seria assim olá que trilha de cursos deve fazer das imó para me tornar um cientista de dados ele vai começar a gerar um e-mail resposta baseado nas melhores práticas e olha só que legal que ele gerou aqui Olá agradecemos o teu interesse pelas imóvei Academy por entrar em contato com conosco para se tornar um cientista de dados recomendamos a trilh deira Science machine learning Tá certo essa trilha abordo uso de Python para manipulação de dados que é extremamente poderoso para quem trabalha com pesquisa em qualquer área etc entendemos que você pode ter expenses negativas com outros cursos mas asz imóvel tu encontrará um curso de verdade sem enrolação com aulas práticas que são os nossos valores então ele já colocou aqui um argumento de venda ele tá instruindo também a pessoa a como se cadastrar na plataforma com o link certo indicou o nosso canal do YouTube e também tá ind indicando que a pessoa pode consultar a nossa base de projetos aqui e para fechar ele ainda assina como um membro da equipe esse projeto aqui em questão ele é um núcleo de um sistema que responde e-mails que a gente tá desenvolvendo mas eu quero que vocês percebam o poder desse tipo de tecnologia ele tá utilizando a api do chat GPT para tomar essas decisões e a gente tá alimentando esses dados através de uma base de dados do notion e o mais legal é toda vez que a minha equipe vem aqui e atualiza alguma coisa sobre o funcionamento da empresa automaticamente ele já consegue dar respostas corretas basead nas novas práticas então É como se eu tivesse treinado o próprio chat GPT para se comportar da forma como eu gostaria e constantemente ele vai est se atualizando porque uma vez que a gente atualize essa base aqui automaticamente ele já vai dar as novas respostas corretas pro cliente e como que isso aqui foi feito é um sistema muito fácil que tá sendo feito com python uma biblioteca muito poderosa e Popular hoje em dia chamado leng chain e a api da Open ai e claro eu fiz aqui uma consulta a base de dados do notion utilizando a api do notion mas eu para esse projeto aqui vocês podem utilizar um simples arquivo csv com as informações que vocês querem passar para ele que vai funcionar super bem então deixa eu ensinar vocês a como construir isso aqui para que possa ser adaptado tanto pra empresa de vocês quanto pro uso pessoal de repente vocês querem criar um assistente virtual que tá conversando com os próprios dados vocês têm de repente documentos internos estão fazendo pesquisa são produtores de conteúdo não sei Grande de poder disso aqui é permitir que o chat GPT se comporte conhecendo a base de dados de vocês então vamos lá sem Muita enrolação como é que eu fiz isso aqui eu vou começar com um arquivo no formato csv super simples vocês podem criar isso aqui com uma coluna contendo pergunta uma coluna contendo resposta e aqui a gente tem várias informações essa esse arquivo csv aqui ele foi gerado a partir de uma consulta a essa base do notion se vocês quiserem eu faço um vídeo sobre isso sobre como utilizar epi do do notion para poder ler tabelas como essa aqui gerar esse arquivo csv Ou de repente trabalhar com esse iepi do notion Mas vocês podem começar de maneira bem simples como isso abrir um arquivo eh um arquivo em Excel e colocar perguntas e respostas ou os documentos de vocês nesse caso aqui se vocês forem parar para pensar tem várias perguntas sobre o funcionamento da das Imóveis Academy então é possível assinar a plataforma fazer o pagamento com dois cartões aqui é uma resposta que o nosso time de vendas costuma dar sim a plataforma permite o pagamento e assim etc com algumas informações se chega algum aluno com dúvida sobre a cobrança do upgrade do plano vitalício a gente tem uma resposta padrão aqui Olá boa tarde você aptou pela assinatura anual na data tal construi sua inscrição Você tornou alunas das zemove e aqui uma série de informações sobre como que ele pode fazer esse upgrade então reparem que tem muita coisa aqui muita coisa técnica sobre pagamento sobre funcionamento das trilhas sobre preço sobre mudança de plano sobre Pedido de cancelamento todas as políticas de funcionamento da empresa estão aqui e Vocês poderiam argumentar Mas por que que eu não eu não simplesmente posso utilizar o chat pt4 que ele tem lá os meus plugins que eu consigo fazer upload de arquivos a grande vantagem de utilizar programação para isso e principalmente a l chain é que ela dá possibilidade de vocês desenvolverem uma rotina aqui em primeiro lugar constantemente vai manter o chat GPT atualizado se vocês fossem fazer via plugin vocês teriam que sempre criar uma nova conversa fazer o novo upload do arquivo começar a fazer perguntas por ali obter a resposta do prompt E aí sim começar a usar perde um pouco de produtividade e em segundo lugar que esse sistema que eu fiz aqui Eu só coloquei nessa cara para vocês verem mas o objetivo final disso é que eu nem tenho essa interface Ele simplesmente Receba as perguntas e automaticamente já responda por e-mail Ou seja eu desenvolvi um assistente pessoal aqui nas imóvel quase que como se tivesse contratado um funcionário porque ele já vai executar essas coisas e com programação até posso também mostrar como fazer isso no futuro a gente consegue plugar ferramentas aqui dentro então eu posso de repente receber um e-mail meio que o aluno pediu algum reembolso e o sistema já identifica que se trata de um pedido de reembolso Já conversa com o aluno pedindo informações como ele já executa esse reembolso sem que eu tenha que gastar energia de um funcionário meu porque essa aqui são tarefas muito operacionais que podem ser automatizadas E sobra tempo para que as pessoas aqui dentro foquem em tarefas de maior valor agregado mais nobre Então esse é o grande poder da da Inteligência Artificial hoje em dia e vocês vão se surpreender o quão fácil é fazer isso com python com link chain então partindo desse arquivo aqui vocês podem formatar do jeito que vocês quiserem eu venho aqui e vou criar um arquivo que eu vou chamar de email underline qa PP qa no sentido de question and answer ele vai conseguir responder algumas perguntas para mim eu vou importar uma série de bibliotecas Tá vamos começar importando o stramit para vocês verem aquela carinha no final e a gente vai importar aqui uma série de classes da biblioteca Lang chain o que que é o Lang chain depois eu volto por ali vou explicar para você vocês um a um leg chain é uma das principais bibliotecas de inteligência artificial com python hoje em dia é muito focado no que a gente chama de llm são os large language models focados em Sistemas como vocês devem conhecer o chat GPT e ele permite utilizar essas modelos de linguagens como núcleo de sistemas inteligentes e ele nos dá uma série de ferramentas para que a gente consiga criar esses sistemas inteligentes com muita facilidade Então eu tenho técnicas para poder serir dados nesse minha nessa minha llm fazer gestão desses dados de quaisquer fontes para vocês terem uma ideia com a lchin a gente consegue trabalhar com dados desse tipo aqui com muita facilidade então sei lá dados públicos do YouTube de pdfs aqui de de artigos do arivis dados estruturados de qualquer tipo csv PDF Open weer Caso vocês quiram trabalhar com clima notion Word github Messenger WhatsApp notion tem muito muita coisa que dá para inserir aqui dentro e a biblioteca tem funcionalidades para que a gente consiga construir prompts adequados e padrões inserir esses dados ali dentro ele vai conectar com as nossas llms e tem um aspecto aqui muito importante que são a chamado Vector Stores Vector Store como os nomes já diz são bancos de dados de vetores e por que que isso aqui é importante quando a gente trabalha com llms porque o computador ele não é capaz de entender texto ele sempre precisa fazer tradução das coisas em números e existem modelos matemáticos chamados in bearings que eles são responsáveis por traduzir texto em alguma representação numérica que são chamados vetores então aqui eu tenho um exemplo que existem muitos modelos matemáticos para isso que acho que não convém entrar em tanto detalhe aqui no vídeo mas é importante que vocês entendam que palavras para llms ou para modelos de linguagem normal elas são traduzidas emem vetores tá e em geral elas estão próximas elas vão estar próximas matematicamente Se tiverem valores semânticos parecidos Então eu tenho uma imagem aqui que representa de forma bem simplificada algumas palavras dispostos em um eixo bidimensional e reparem que as palavras com valores semânticos mais próximos elas são também fisicamente mais próximas nesse espaço vetorial aqui eu tenho uma outra imagem por exemplo que é um pouco mais complexo desses vetores sendo representados e aqui eu tenho algumas representações de cidades ter sentimentos viagens e isso aqui é importante porque quando a gente vai trabalhar com modelos como esse eu aqui passei um documento de 200 linhas por exemplo mas esse documento perfeitamente pode ter 100. 000 linhas como que a gente faz para poder passar tanto conhecimento para dentro de um modelo de linguagem vocês sabem que no chat GPT a gente não consegue porque ele tem uma limitação no tamanho de caracter e quando a gente combina o Python com essas llms existem essas ferramentas que nos permitem trabalhar de maneira adequada com esses grandes volumes de textos através das Vector Stores a Vector Store vai funcionar da seguinte forma eu vou dar pro meu modelo quanto texto eu quiser ele vai guardar dentro dessa Vector Story fazer essas associações aqui tá Vai representar de alguma forma vetorial vamos dizer assim num espaço vetorial muito grande todo meu texto vai estar lá dentro quando eu faço alguma pergunta como por exemplo foi o caso dessa esta pergunta que eu fiz aqui pro meu modelo de linguagem ao invés de pesquisar em todo o documento ele vai pegar e pensar o seguinte cara para essa pergunta que chegou aqui ela aonde que ela se posiciona nesse grande espaço vetorial de documentos que ele me passou antes aí ele vai olhar e pensar assim cara ela tá posicionada aqui então eu vou fornecer pro meu modelo de linguagem apenas alguns exemplos aqui ao redor E eu não vou sobrecarregar ele eu vou dizer mais ou menos para ele assim ó chat GPT responda a essa pergunta que foi feita agora como no caso que cursos ele deve fazer para se transformar em um cientista de dados e use como resposta esses documentos aqui que eu já pré-selecionar só uma fatia desses documentos que são os mais importantes para que ele consiga montar essa resposta isso permite que a gente consiga trabalhar com dados gigantescos porque eles nunca vão ser passados por inteiro pro modelo de linguagem a gente vai passar só um pedaço e isso é possível através dessas Vector Stores eh eu fui bem simplista aqui nessa explicação fui bem resumido tem muito mais coisa que poderia se falar sobre isso até Devo ter errado alguns termos técnicos mas a intuição mais ou menos é por isso então se vocês forem perceber aqui toda essa explicação que eu dei agora tem algumas bibliotecas que eu já importei que talvez começa a fazer um pouco mais sentido então em primeiro lugar eu tenho aqui L chain in barings isso aqui seria um modelo que faz esses enss pra gente ele vai conseguir fazer essas representações de texto eu tenho aqui em cima uma Vector Store que é como se fosse um banco de dados que vai armazenar esses ining eu peguei aqui um exemplo faz mas existem outros que vocês podem explorar dentro o l chain isso aqui funciona bem prompt template é um template de prompt que a Biblioteca já tem pronta para que a gente consiga trabalhar com essas estruturas de perguntas que vão ser feitas no futuro models o modelo que eu vou utilizar para tomar essas decisões e aqui o chain que é o nome L chain que ele permite conectar tudo isso vai conectar prompt com documento com Vector Store com llm esse é o grande poder da L chain essa biblioteca que é tão Popular hoje em dia que permite que a gente construa coisas tão Poderosas outra biblioteca que eu vou importar que vocês provavelmente vão ter que instalar tá Eu até vou colocar aqui embaixo Quais que vão ter que ser instaladas então Caso vocês tenham string Opa PIP install string a gente vai ter que instalar o l chain a gente vai instalar a biblioteca Python tro env tá python. env ser uma biblioteca que vai nos permitir guardar a chave de acesso da Open ai eu vou importar também aqui um document Loader da link chain que vai permitir que eu carregue o nosso arquivo csv para que ele depois seja traduzido em um vetor através do ens armazenado aqui num Vector Store e quando eu for fazer alguma pergunta a gente vai consultar dentro dessa Face e vai passar só essa essa esse filtro pra minha pergunta aqui no chat GPT e por hora são essas Então se vocês não têm a biblioteca instalado executem Esso comando aqui PIP install stram L chain python.
env eu acho que por hora é isso talvez Falte alguma coisa mas depois a gente a gente testa se eu não me engano existe uma outra chamado Chick token mas acho que a gente não precisa por hora tá beleza que que a gente vai fazer agora eu quero que vocês criem um arquivo chamado ponto envi tá esse arquivo aqui para poder rodar esse sistema como eu vou utilizar o open a api da Open a chat GPT é importante que vocês tem o token de acesso da openai que pode ser acessado aqui vocês entrem no site openai. com ou digitem no Google API Open ai faça um login aqui vocês vão cair nessa página vocês vão clicar em API e aqui no canto é importante que vocês acessem api sk a api da Open ai do chat GPT ela é paga se eu não me engano eu acho que com r$ 5 vocês já T acesso a praticamente consulta infinita pelo menos para testar a biblioteca Eu acho que ela tem uma versão gratuita por um período de teste que dá para ser utilizado aqui a Lang chain ela permite que vocês combinem outras llms eu acho que por enquanto o chat pt4 é o mais poderoso que a gente tem nesse momento mas a gente vai lançar outros vídeos inclusive trilhas na plataforma ensinando a trabalhar com outros com outras llms inclusive gratuitas então vocês podem utilizar aqui substituir o modelo este aqui por modelos gratuitos tá o resultado talvez não seja tão bom mas eu acho que r$ 5 caso seja necessário um investimento barato suficiente para tanto poder para tanta coisa que pode ser feita com isso que eu acho que não vale a pena vocês irem nesse caminho inicialmente por por coisas mais mais simples tá então vocês vão aqui vão criar uma chave nova e vão pegar a chave que for passada vocês vem no documento D env vocês vão colocar assim Open a api aqui e v colocar aqui a chave que foi passada então no meu caso aqui não não precisa de aspas tá no meu caso aqui ela começa com sk traço E aí começa com Várias Vários caracteres aqui que eu não vou mostrar para vocês tá vou até deletar esse arquivo aqui e copiar ele a versão final dele e para poder carregar isso vamos digitar load env beleza próximo passo a gente vai carregar a minha base de conhecimento então é simples assim eu vou vir aqui colocar o csv Loader que é essa classe que eu já importei antes e a gente vai pegar esse Loader e dar um Loader P load eu vou executar isso aqui por enquanto para vocês verem tem um vídeo aqui no canal que ensina como fazer essa construção aqui se eu não me engano é como configurar o vs code pra máxima produtividade Eu gosto muito de debugar ele aqui com com o Júpiter aqui no lado tem gente que gosta de abrir o terminal aqui embaixo e rodar Python 3 executar beleza carreguei o meu documento agora eu vou mostrar e reparem que ele quebrou cada uma daquelas linhas em documentos separados Isso aqui vai ser importante porque quando transformar isso aqui em vetores através do Open ai ele vai deixar pronto para só passar quais perguntas e respostas são relevantes para responder a pergunta que foi feita especificamente então importante que ele quebre em mú em muitos pequenos documentos para montar uma mensagem final que seja bem pequena Beleza agora a gente vai instanciar a classe em berings então é simples assim Open em berings e eu vou criar a minha Vector Store que vai ser o f. from documents passo aqui os meus documentos isso aqui tá tudo em texto ele Precisa converter isso aqui para número e para poder fazer essa conversão eu vou utilizar o ens da Open a isto aqui é um modelo matemático tá ele vai para poder fazer essa conversão não é simples tá é uma conta bem complicada para traduzir reparem que aqui a gente tem aqui uma frase não é uma uma uma palavra como eu mostrei para vocês então eu preciso conseguir entender Qual o valor semântico dessa frase para poder depois fazer as localizações do que é mais perto ou não então é é um pouquinho complexo mas eu vou mostrar para vocês que a ideia é complexa mas a execução é bem simples e agora eu vou criar uma uma função que ela vai fazer uma consulta nessa minha Vector Store baseada numa frase qualquer vai localizar qual qual dos documentos tem valor semântico mais parecido com alguma frase e me devolver então para isso eu venho aqui defino uma função que eu vou chamar de retrieve theine info ele vai receber uma query como parâmetro eu vou colocar aqui que a resposta similar vai ser o meu DB psil search ou seja Quais são as as respostas aqui os documentos que são mais similares a essa query e eu passei o k = a TR ou seja me responda só os três documentos com com maior similaridade e eu quero devolver só o conteúdo do meu documento Então vou dar aqui um return vou fazer aqui uma list comprehension onde eu vou pegar cada documento nessa minha query e eu vou pegar só o page content porque do contrário ele pegaria esse documento inteiro eu quero pegar só o que tem de conteúdo aqui tá quero tirar outras informações que não são relevantes tá vamos testar essa função aqui seleciono tudo vou executar isso aqui tudo no meu Júpiter aqui na direita Ele demora um pouquinho porque esse processo aqui é um pouco lento vamos testar essa função cara vamos pegar essa mesma pergunta que foi feita aqui anteriormente Olá que trilhas de curso devo fazer das imóv para tornar um cientista de dados vamos colocar aqui essa pergunta vou executar e ele me devolve que as as linhas do meu código que são mais semelhantes a isso são essas então reparem que a gente tem uma pergunta aqui qual o tril é mais adequado para quem quer trabalhar com ciência pesquisa tá não é ciência de dados é C pesquisa mas ele entendeu que essa linha Aqui tem muita relevância com a com a valor semântico semelhante com que foi perguntado essa de baixo aqui não tive boa boa experiência com outros cursos então o cara Pelo visto perguntou só isso ele não teve boa experiência com outros cursos então reparem que aqui na resposta ele até colocou um trecho aqui que ele tá falando que as imóv tem pode ter tido experiências negativas com outro curso provavelmente ele tá ele colocou desse jeito aqui porque ele se baseou nesse documento aqui ele encontrou que essa pergunta que seja relevante e outra preciso de conhecimento de bi e Excel para realizar o treinamento e talvez ele também tenha utilizado ao longo da resposta isso então reparem que qu poderoso já é isso aqui eu nem tô utilizando modelo de linguagem beleza essa função retrieve funcionou tem aqui 23 linhas de código um modelo muito inteligente já e o que que eu vou fazer agora eu vou instanciar o modelo da Open a o chat GPT para isso eu vou desenvolver que vou colocar llm vai ser igual chat Open ai temperatura do modelo é o quão creativo ele vai ser nas suas respostas eu posso ir de zero até um Se eu colocar um eu vou ter um modelo que vai responder coisas muito diferentes tá se eu colocar zerva das respostas mais padrões como eu tô lidando aqui com clientes eu quero respostas bem padrões não quero Muita criatividade e o modelo específico na própria documentação da do chat rept vocês vão encontrar modelos possíveis eu vou pegar o 3.
5 que é o mais barato Caso vocês acham que as respostas não tão boas o suficiente podem me ligar pro quro então peguei o 3. 5 turbo e aqui embaixo galera a gente vai construir a parte mais importante do projeto que é o prompt tá o prompt é que que a gente vai passar de instruções para ele para que ele como que ele deve se comportar e aqui que vem a mágica porque engenharia de prompt a gente até tem um curso na na plataforma na nossa trilha de desenvolvimento de aplicativos ai onde a gente constrói muitos outros projetos semelhantes com esse entra em detalh sobre L chain entra em detalhe sobre Python a gente também entra em detalh sobre engenharia de prompt Como construir um prompt adequado quem tá trabalhando um pouco com inteligência artificial já sabe que prompt é meio que a a diferença entre um bom resultado e um mau resultado está aqui tá e como que eu montei o meu eu expliquei para ele o seguinte você é um assistente virtual da escola de programação focada na linguagem Python eu tô dizendo para ele quem ele deve ser sua função é responder e-mails que recebemos de potenciais clientes então o que que tu faz o teu dia a dia descrição da vaga dele vou te passar alguns e-mails antigos enviados por nosso time de vendas para que você use como modelo paraas suas respostas siga as regras abaixo tu deve se comportar da maneira semelhante a Roberta @ z.