[INSERIR DESCRITIVO DO VÍDEO]
Aqui é o Eduardo e se curtiu o papo, já dá um like, se inscreve e ati...
Video Transcript:
seja muito bem-vindos seja muito bem-vindo a mais um tutorial de Inteligência Artificial aqui no canal ciência dos dados Meu nome é Eduardo Rocha E hoje nós vamos trabalhar com um sistema de hag que que é o hag Eduardo você vai descobrir o que que é o hag nós vamos utilizar os grandes modelos os famosos llms para nos ajudar a criar uma inteligência artificial que vai nos responder não só de acordo com a sua ah com o seu próprio com a sua própria inteligência com o seu próprio conhecimento mas sim com dados adicionados à sua inteligência a sua capacidade para que a gente consiga realizar a aquilo que a gente chama de ajuste fino nos modelos de llms tudo bem Beleza então esse aqui é um treinamento é um treinamento simples é um tutorial onde você vai aprender os principais conceitos é claro tudo alinhado com a prática Mas você vai aprender os principais conceitos desse mecanismo de recuperação de informações vou te dar um exemplo bem simples nós estamos aqui trabalhando com o próprio chat GPT imagina né o chat GPT ele tem o modelo GPT né o GPT 4 Omni nesse momento atual é o é o seu modelo que é disponibilizado no site chat GPT né E esse modelo por si só ele não detém todo o conhecimento do mundo mas você pode eh adicionar conteúdo para que ele possa trazer para você informações adicionais por exemplo você quer Eh trazer O Rol de notas técnicas da sua empresa para que o seu modelo o chat GPT eh diga pra gente ah Quais são as decisões estratégicas tomadas pela empresa ao longo dos anos e que você quer também que esse modelo o chat GPT faça uma interpretação se as decisões Foram boas Ou foram ruins ou enfim você quer que o chat ept analise todas as decisões e responda pra gente de acordo com o contexto do seu conhecimento ou seja do do conhecimento do próprio chat GPT mas também com o conhecimento da documentação técnica que porventura você adicionou lá no no chat GPT né só que é o seguinte muitas vezes a sua empresa ela pode ter ali uma necessidade de manter os dados em privacidade ah como a gente sabe dados bancários também podem ser muito sensíveis E por aí vai você não quer colocar os dados da empresa diretamente no chat GPT então é aí que surge o mecanismo dos hags né das hags onde você pode utilizar outros llms para criar criar toda essa estrutura o meu foco não vai nem ser em utilizar esses modelos locais não mas é um passo antes é o conhecimento mesmo sabe eu sei que muitas pessoas está estão começando agora nesse processo da Inteligência Artificial na prática mesmo ali utilizando a programação Python e precisam do conhecimento básico e esse conhecimento básico é o que a gente vai passar aqui hoje para conhecer o pipeline do do do sistema rag né Porque hoje a prática é simples né você pega um documento adiciona um llm E aí Traz a resposta só que como que funciona isso por trás como que eu utilizo os bancos de dados vetoriais Eduardo precisa de banco de dado vetorial então se você tem essa necessidade de aprender sobre esse contexto eu acredito que esse vídeo vai responder isso para você estamos junto Beleza então bora pra frente a parada é o seguinte hoje nós temos aqui esse pipeline hag Tá bom então Ó nós temos aqui uma fonte de dados desenhada aqui né como a fonte de dados que vai ser adicionado ao llm Só que essa fonte de dados ela precisa perpassar por um caminho e esse caminho é Eu preciso guardar esses dados para que eles sejam buscados no formato de de vetores né no formato de edgings e Eduardo para que que serve esse formato de embeds eu vou te explicar essa é a estratégia que no atual momento da inteligência artificial é uma das melhores estratégias para fazer essa recuperação de conteúdo né a recuperação de conteúdo que inclusive deriva né esse hag esse R é do retrieval né da recuperação né Por geração aumentada que é isso que significa o hag essa recuperação a gente faz exatamente trazendo o as embed E essas embeds nada mais são do que você decompõe o texto você decompõe o livro você decompõe o site você decompõe tudo isso em vetores e armazen esses vetores num banco de dados vetorial se você já conhece banco de dados imagina que quando a gente tá guardando uma tabela dentro de um postgres por exemplo você tá armazenando a tabela com informações com as colunas né e aqui a gente tá armazenando um dado não estruturado no formato de vetores Como assim formato de vetores Eduardo Pensa num vetor numérico é isso que o banco de dados é é isso que os modelos de embeds fazem eles pegam os textos e eles transformam esses textos num embedding que é um uma uma série numérica vetorial para que depois a gente faça a busca não pelo texto bruto mas sim por meio dessas embed por meio doss vetores beleza é uma grande e uma grande e linda saída matemática paraa atual geração aqui da nossa Inteligência Artificial estamos junto beleza bem esse é o nosso contexto Inicial nós temos aqui algumas bibliotecas eu já vou falar das bibliotecas que a gente vai utilizar nesse Case prático Ah nós vamos utilizar sim o o o o modelo do chat o modelo do GPT 4 mas nós vamos utilizar H uma série de outras bibliotecas Como o próprio rugin Face o próprio L chain né se você ainda não sabe ainda não utiliza essas biblioteca são as bibliotecas mais utilizadas e mais baixadas da história do Python né quando a gente fala aqui no atual contexto da Inteligência Artificial então convido né inclusive alunos aqui da ciência dos dados já tem ali material exclusivo só para aprender a trabalhar com e rugen Face transformadores L Chain tá bom isso é muito importante não estamos com matrícula aberta não tô vendendo nada só tô falando o que existe lá dentro tá bom para que você no momento oportuno saiba aproveitar e entrar para dentro tamos junto então beleza nós vamos trabalhar com l chain nós vamos trabalhar com Open ai mas antes eu queria desenhar essa estrutura aqui com você e só não vale rir do meu desenho Beleza a gente vai desenhar aqui mais ou menos o que a gente vai fazer Beleza então olha só nós temos a uma uma estratégia que é o seguinte nós temos os dados brutos que nós vamos utilizar para adicionar no llm no modelo Ah no modelo que nesse caso a gente vai utilizar aqui o GPT 4 pra gente trazer a resposta que a gente precisa só que nesse contexto nós temos que pegar esses dados brutos guardar em algum lugar Ah fazer um processamento e depois disponibilizar para que o GPT Leia e traga a resposta pra gente beleza nós vamos perpassar em cada uma dessas etapas eu vou tentar ser bem direto ao ponto para que você entenda exatamente o que que tá sendo feito Tá bom então Ó nós temos um pipeline que ele é bem assim nós vamos carregar os dados né E esses dados eles vão a gente vai utilizar um dado de um livro o livro mais famoso da história dos últimos milhares de anos nós vamos utilizar a Bíblia Tá bom nós vamos utilizar a Bíblia online para que a gente possa buscar os dados que estão ali na Bíblia a gente vai pegar esses dados adicionar de certa forma ao modelo GPT para que a gente consiga de acordo com essa tradução Ah fazer uma iteração com chat GPT e fazer com que ele responda de acordo com o que tá escrito no documento que a gente adicionou tudo bem beleza vamos lá que você vai ver como é que a gente vai fazer essa parada Então vamos lá a primeira coisa é o carregamento nós vamos acessar ali o o o os dados dados que estão nesse formato aí que está armazenado por meio de da indexação da web ele tá no site Tá bom então e essa é a etapa de carregamento depois a gente vai precisar fazer um trabalho de processamento desses dados a gente não simplesmente joga o dato bruto dentro de um banco de dados vetorial a gente divide ele no que a gente chama de chunks né Esses chunks são pedaços imagina como pedaços e a gente divide esses pedaços para que a gente consa utilizar esses pedaços fazer o armazenamento num banco de dados vetorial e facilitar o mecanismo de pesquisa depois esses bancos de dados vetoriais eles vão trazer mais velocidade você vai ver que a gente vai utilizar a um mix entre modelos que estão abertos dentro lá da da comunidade rugen Face e o GPT utilizando o melhor dos mundos que é a junção da velocidade né por ser um modelo leve um modelo gratuito bem como a gente vai conseguir trabalhar com ele rodando na CPU né Nós estamos apesar de utilizar o cab aqui nós não vamos utilizar GPU vamos utilizar CPU porque pode ser a necessidade de muitas empresas né Nem toda VPS nem toda nem todo servidor vai est lá com uma GPU disponível Então a gente vai trabalhar com a CPU e é claro o chat GPT que é mais pesado com a openi tem mais um tem o próprio custo apesar dos custos estarem caindo a gente também tem essa essa esse melhor dos mundos que é usar o modelo gratuito e o modelo de geração aumentada mais robusto tá bom ah beleza nós temos o carregamento a gente vai fazer o processamento que é a divisão nós vamos fazer o armazenamento que é colocar isso num banco de dados vetorial Então a gente vai utilizar aqui um banco de dados vetorial né pra gente armazenar esses dados e esse banco de dados vetorial que a gente vai utilizar é o chrom DB depois a gente vai fazer a recuperação né A recuperação a gente vai utilizar ali a o o rugin Face né trazendo ali os o o modelo que gera esse embedding pra gente que é essa recuperação vetorial e depois a gente vai fazer a geração da resposta opa deu um bug aqui no no mouse né no na figurinha mas a gente vai fazer a resposta com o GPT 4 tá bom essa Esses são os passos aqui que a gente vai trabalhar bem indo pra frente um pouco nós vamos aqui eh eh aqui tá a descrição do que que é o pipeline do hag né retrieval augmented Generation né a geração aumentada por recuperação né então a gente coloca informações adiciona informações no no no contexto do modelo do llm recupera essas informações e traz uma resposta um pouco mais abrangente né por isso que é uma geração aumentada por meio de recuperação tá bom bem nós vamos lá né nós nessa etapa Inicial né E aí seria né a etapa um do pipeline né a conexão com os dados seria Exatamente Essa parte de carregar o documento né então bem a gente vai carregar o documento né no nosso sistema a gente vai eh armazenar essas essas bibliotecas essas esses documentos e vamos utilizar uma funcionalidade aqui do L chain que é o Web base Loader nós vamos buscar a informações né documentos que estão na web a a gente vai utilizar esse link aqui ó que é da da Bíblia e King James fiel né uma Bíblia online tá bom uma Bíblia online onde a gente tem aqui a os capítulos né se você clica aqui ó você vê os vários os vários livros da Bíblia e aí você pode eh navegar aqui nos Capítulos nós vamos trabalhar nesse link como se a gente tivesse dentro de um documento que tá hospedado na web a partir de agora tá bom então Ó nós estamos hospedando acessando esse livro que é o capítulo um de provérbios a gente já vai falar sobre ele aqui agora eu só quero que você entenda essa essa essa esse início aqui que são exatamente aquela parte Inicial que é a instalação das bibliotecas eu quero passar aqui contigo antes de sair navegando você que já tá acompanhando essa aula você já deve ter um conhecimento prévio em Python né porque nós estamos falando aqui de um passo além da Inteligência Artificial que quer conhecer como desenvolve esse projeto de uma forma um pouco mais profissional né você não tá começando do zero Você já conhece um pouco do Python Você já conhece o cab então nós estamos aqui naquela estrutura de instalar as bibliotecas que são necessárias Quais são as bibliotecas o l chain como a gente já havia falado o l chain Open ai o l chain community a gente vai utilizar o Tik talken o os Transformers que é do rigin Face e o chrom DB que é o banco de dados vetorial Tá bom então antes de mais nada a gente vai precisar instalar todas essas ah essa stc né conhecida assim no mundo do desenvolvimento né Essa steack de tecnologias aqui são necessárias para que a gente consiga e fazer todo esse cinco seis Passos aqui que é criar uma ia que Responda pra gente no contexto de um hag né de uma hag se você assim preferir dizer né Tá bom então antes de mais nada a gente já instalou as bibliotecas eu armazenei aqui no utilizando Secrets né à esquerda do Google collab tem essa chavinha eu já armazenei e já habilitei aqui a Open ai Key né então você vai precisar de uma Open ai Key a gente vai utilizar o mix né de usar aquilo que é aberto e aquilo que a gente tá utilizando por meio da api então eu já deixei armazenado e agora eu tô fazendo simplesmente a recuperação tá bom e deixei um teste aqui para você verificar se essa recuperação ela foi feita de forma correta esse teste aqui é simplesmente para dizer pra gente se essa chave que a gente armazenou aqui ela foi recuperada de forma correta é uma forma profissional de se trabalhar para que você não deixe aí eh exposta a sua chave as suas Keys né que inclusive podem gerar custos adicionais para você se você não trabalhar dessa forma nós estamos utilizando a biblioteca do sistema operacional né Nós estamos utilizando aqui a o os né o operational System para armazenar por meio da função get in get environment né E aí a gente tá guardando exatamente aqui dentro a Open aiq nós tivemos a resposta true ou seja estamos de boa aí para fazer o nosso o nosso trabalho agora que que a gente vai fazer presta atenção nessa parada aqui ó nós temos aqui um contexto onde nós vamos utilizar a biblioteca lchin e a biblioteca lchin a gente vai trabalhar aqui ah a gente vai trabalhar aqui com o modelo beleza nós vamos trabalhar com o GPT 4 aqui nesse nesse contexto Tá bom não tô usando nem quatro homem tô trazendo o quatro mesmo que é o GPT 4 nós vamos trazer um parâmetro que é a temperatura a temperatura é quanto mais próximo de um mais ah criativo ele é quanto mais próximo de zero menos criativo ele é eu tô deixando 0. 6 para que ele seja um pouco criativo e não esteja completamente estritamente Ah e estritamente em cima do que a gente pergunta porque a gente tá colocando um pedaço de um livro e eu não quero que ele simplesmente fique engessado somente no contexto das coisas que estão no livro Fazendo um parêntese imagina que você tem um documento importante e você quer que esse documento ele seja utilizado aí na perspectiva de ser um um suporte se você ingesta demais e coloca a temperatura zero por exemplo você vai fazer com que o a sua ia responda de uma forma muito mais eh precisa e Aí nem sempre é isso que você quer você quer que ele utilize Inclusive o seu poder de diálogo de de ah de ser um pouco mais abrangente nas respostas para que a gente consiga interagir né com a o usuário Beleza então nós vamos utilizar aqui o Vamos criar esse llm usando o GPT 4 utilizando aqui o chat openi né dentro do L chain Ah e é claro utilizando a Open Open a ke que é pra gente criar essa primeira estrutura do ll Tá bom agora que que a gente vai fazer a gente vai trazer os dados e trazer os dados a gente vai utilizar a estrutura do carregamento de documentos que é esse documents loaders ah dentro da biblioteca L chain conhecida como web base Loader aqui dentro a gente coloca o link desse documento e armazena esse documento nessa estrutura onde eu tô chamando de data Tá bom então ó se você olhar eu vou dar um um play aqui só para você visualizar aqui a saída você vai ver que a saída ele tá carregando agora exatamente esse link que tá aqui ó provérbios de Salomão filho de Davi rei de Israel tá bom é exatamente isso que ele carregou aqui agora ah eu vou dar um print né aqui essa célula aqui é para ele dar um print e aí você vai ver aqui ó título um proverbios capítulo 1 Bíblia King James fiel 1611 E por aí vai beleza então ó essa primeira parte que é o carregamento daqueles dados que vão ser utilizado na recuperação aumentada nós já já temos aqui do nosso lado aqui poderia ser a a interação entre os dados da sua empresa né como eu deesse exemplo do repositório de notas técnicas aqui poderia ser a conexão onde você iria pegar esse repositório de bancos de notas técnicas para daqui um pouco passar para as llms é claro que ia ter que fazer essa esse processamento que a gente vai fazer aqui embaixo agora tá bom eu não posso simplesmente pegar os dados e jogar dentro do llm sem ter a ocupação de saber se a gente vai estar trabalhando isso de forma ótima por quê porque existem várias coisas que influenciam aqui tá bom quando a gente olha muitos muitos cases que a gente vê os cases eles vêm de uma forma um pouco mais simplória e aí eles eh omitem algumas coisas que são muito importantes Como por exemplo o custo né então é simplesmente você pode jogar isso dentro de um chat GPT e ele vai fazer essa parada para você vai só que existe um custo eu não sei se toda a empresa vai estar disponível para a arcar com esse tipo de custo e é aí que esse vídeo é importante para você porque ele vai trazer esse Insight de administrar inclusive esse processamento que por hora poderia ser muito oneroso institucionalmente falando Tá bom então você vai aprender a essa parada aqui agora então nós vamos dividir em Partes Tá bom ah uma coisa que é interessante né a gente vai pegar esse documento vai dividir esse documento em partes menores né conhecida como os splits beleza ah conhecido como chunks também tá bom ele é muito conhecido como chunks o que a gente vai fazer aqui é o seguinte Ah aqui eu vou utilizar o tikt é uma curiosidade que eu trouxe aqui para você há pouco tempo atrás a gente tinha ali algo em torno de algo em torno de ah 4. 000 4000 4.
000 tokens que era a o o limite máximo que a gente poderia ah colocar dentro de um contexto de um prompt dentro do um chat GPT para que ele respondesse pra gente né e olhando hoje agora o contexto do chat GPT 41 om dá uma olhada aqui ele tem aqui um contexto de 200. 000 né 200 k é um é um ele consegue trazer pra gente aqui uma uma quantidade ele consegue disponibilizar pra gente uma quantidade muito grande ali de iterações né de colocar um prompt um pouco mais recheado ali dentro né Isso é bem interessante ah trazendo essa trazendo essa parada aqui eu vou só trazer para você um exemplo um exemplo aqui de uma frase só para você entender o o comprimento desses tokens né porque eu posso falar de 200. 000 tokens mas aí fica muito obscuro na sua cabeça né então presta atenção nessa frase aqui essa frase o temor do senhor tá aqui essa frase trazendo o tamanho dela Se você olhar ela tem cinco tokens foi utilizado cinco tokens pra gente decodificar essa frase aqui tá bom então se eu aumento um pouquinho essa frase você vai ver que o temor do senhor é o princípio da sabedoria então ele aumentou para 11 tokens então só para você ter uma noção da quantidade de informações que a gente consegue utilizar aqui quando a gente tá falando com chat GPT com GPT 4 homen né est falando de 200.