Neste segundo vídeo da série, exploramos o conceito avançado de Retrieval-Augmented Generation (RAG)...
Video Transcript:
quer aprender tudo sobre haag fica comigo nesse [Música] vídeo Oi pessoal aqui é o Rafa nesse vídeo é o segundo vídeo da nossa série de L chain e a gente vai trazer aqui um assunto muito pedido muitas pessoas me chamaram na DM me pediram Ah Rafa fala de hag ra fala de hag né E hoje a gente vai começar nessa jornada Esse é o vídeo introdutório eu não vou explicar para vocês todas as nuances de hag hag pode ser já uma área de estudos por si só e a ideia é mostrar para vocês que estão começando a brincar com a biblioteca lchin como a gente vai fazer essa integração para fazer o hag né mas o que que é esse tal de hag hag é retrieval argument Generation que basicamente é o seguinte é você pegar os seus dados proprietários e utilizar esses dados proprietários para responder perguntas com qualquer llm como shpt como liama Gemini e qualquer outro llm que vai sair aí no futuro e qual que é a importância disso né nem todos os tipos de dados podem ser enviados na api da Open ai nem todos os tipos de dados dados síveis por exemplo se você tá fazendo uma aplicação jurídica que tem algum processo dados sigilosos você não quer que esses dados vão parar nas bases de dados da openni se você tem algumas questões de sigilo seja Industrial criativo que você tá desenvolvendo um projeto novo uma música nova você quer auxiliar as llms você quer criar aplicações com llms mas você não pode depender exclusivamente da apis públicas certo e essa é uma estratégia para você misturar a parte do contexto juntamente com a parte da llm Você tem o melhor dos dois mundos né e Existem várias técnicas pra gente fazer isso existem vários llms é legal que você pode depois testar né aquela modularidade que a gente viu lá no vídeo sobre L chain né que a gente tem a ideia das cadeias a gente sempre vai est juntando processamento nessas cadeias e existem componentes específicos já para extrair dados da web para fazer paras de PDF né paras de PDF literalmente você pode pegar um PDF de alguma coisa que interessa carregar nele facilmente usando esses componentes que aente propõe uma vez que tá carregado você vai pegar esses documentos e pode fazer perguntas pro seu PDF perguntas pro seu documento por exemplo de hoje a gente vai utilizar um componente que ele vai fazer um web scrapping numa página da Wikipedia para ajudar a gente a responder uma pergunta que o xat GPT por exemplo não consegue responder a ideia de hoje é mostrar para vocês um tutorial básico de como se virar como fazer um hag básico e na medida que a gente foi evoluindo com essa playlist minha ideia aqui é trazer aplicações cada vez mais profissionais a única coisa que às vezes demora um pouco para fazer esses vídeos Porque quanto mais profissional é a aplicação mais trabalho dá mais coisas para explicar mas a gente tá aprendendo né passo a passo aqui acho que você não tá com pressa né super aconselho você a também pegar a documentação da L chain que apesar dela mudar bastante essa é uma parte já avo bem chato de lidar com a l chain praticamente toda semana tem uma função nova eles estão depreciando função que não existe mais e você tem que estar correndo atrás do prejuízo e entendendo como é o novo jeito correto de fazer as coisas né esse é um preço que se paga por você tá na fronteira da tecnologia no estado da arte e da ciência é justamente Esse é ser o pioneiro é você lidar com essas questões no começo e você vai lidar com muita função quebrada muita função que semana passada você aprendeu a fazer de um jeito na semana seguinte não é essa sensação de frustração é normal tá E quanto mais Sênior você fica na carreira é isso que eu espero de você que o mercado espera de você que você saiba lidar com essa diversidade você sai entender o que tá acontecendo como esse movimento de llm tem menos de diria 2 3 anos a maturidade da biblioteca Tá longe de ser madura e cada semana a gente tem novidades diferentes e maneira de utilizar biblioteca diferente e a gente tem que lidar com isso e a minha ideia aqui também da playlist é diseminar esse conhecimento né eu vi que tem pouco conteúdos falando sobre langin aqui no Brasil eu quero trazer algo interessante aqui para vocês que vocês possam extrair valor mas chega de teoria vamos agora pra prática o nosso exemplo vai ser bem simples né O que que eu vou fazer eu vou pegar aquela função que eu criei para mostrar para vocês como funcionava a l team básica no primeiro tutorial vou reformular ela para ela responder perguntas em relação ao Oscar simples assim eu vou passar o nome do filme vou passar o ano e eu vou perguntar para ela quantos Oscars por exemplo o filme A vida bela ganhou né quero esse tipo de informação Só que tem um porém eu vou usar o llm o chat GPT 1. 5 Turbo que ele foi atualizado até o ano passado então ele não tem informações ainda do Oscar desse ano então se perguntar para ele por exemplo quantos Oscars o openheimer ganhou São estamos em 2024 né quando tô gravando esse vídeo o chat jpt 3. 5 não vai saber responder ele vai me falar não sei isso não aconteceu ainda essa a informação que ele tem e o que que eu vou fazer eu vou criar uma outra estrutura junto com o Lin também que vai fazer um web scrapping de uma página da Wikipedia sobre o filme openheimer que já tem as informações de quantos Oscars ele ganhou e eu vou utilizando a lchin pegar esse web scrapping pegar o meu llm que eu instancie e vou juntar eles e vou fazer com o modelo 3.
5 que não tem esse acesso a essa informação na base de dados dele de treino responder essa pergunta essa é um teste conceitual para vocês mostrarem entenderem o que o hag pode fazer por vocês nesse processo eu tenho que usar um um Vector Database eu vou usar o f que é uma alternativa open source também existe o Chrome DB existem outras alternativas também já enterprise que te oferecem outras coisas de Vector Database e esse também é um outro mundo parte né como você criar esse Vector Database como você fazer a gestão dele onde você vai alocar ele mas aqui a gente vai fazer tudo local eu vou criar um Vector Database para fazer o parte de uma página da Wikipedia Mas você pode imaginar que se você estivesse fazendo uma aplicação profissional Eu gosto do exemplo do escritório de advocacia que tem processos sigilosos então por gente ele não usaria o llm da Open ai mas poderia usar um lama por exemplo que é aberto do Facebook que ele não envia dados para fora Ele usa P interna né você consegue baixar o Lhama no do seu servidor ter controle e gestão sobre esse lln você pode utilizar o liama treinado para responder perguntas do processo para um advogado que tá querendo se enterado do processo e por a vai ao in vez dele ler 500. 000 páginas que todo advogado já deve ter lidado na vida né do processo ele pode simplesmente perguntar num prompt Ah o que aconteceu com fando de Tal Qual é a data que aconteceu e o mais legal disso é que o parcer que ele faz para o Vector Database você consegue achar a referência Então não é uma informação jog ele não vai te dar só por exemplo openheimer ganhou sete Oscars não ele vai te dar o openheimer ganhou sete Oscars e eu tô te respondendo isso baseado Nesse contexto que você me deu que no caso por exemplo da aplicação de direito o advogado podia ir lá no processo e ver o que de fato tá no processo se o chat não alucinou E por aí vai então hag ele tem aplicações muito Poderosas e é esse gostinho que eu quero dar aqui para vocês hoje então vamos lá pro tutorial botar a mão na massa entender como é que a gente faz esse rag aqui utilizando a biblioteca L chain pessoal aqui eu abri Nossa aplicação que a gente fez no tutorial zero né de L chain é exatamente o estado de como é que tava né só dando uma recordada aqui a gente usou o llm da openi mesmo a gente usou o Prom template e usou o llm chain para amarrar para juntar as duas coisas aqui né o prompt tá aqui nessas duas linhas aqui a minha ch ela tá juntando o meu llm com esse prompt e aqui eu consigo enviar via parâmetros né o animal a cor ele me responde aqui aqui baseando um pouco nessa aplicação eu criei já essa versão aqui para adiantar como é a mesma coisa não não perdi muito tempo né refazendo aqui passo com você mas basicamente tem praticamente as mesmas dependências aqui lembrando que o l. an é pra gente expandir a nossa chave da openi que tá aqui no ponto end se você tem dúvida do que tá acontecendo aqui né Eu sugiro que você busque lá no primeiro vídeo como é que você entra vai no site da Open como você gera essa chave secreta E como você carrega ela aqui mas é basicamente essa dependência aqui temos aqui os requirements de tudo que a gente vai precisar aqui né para instalar depois eu libero isso aqui para vocês puderem replicar e Eu só mudei a função né não é mais animais é a função Oscar aqui ela recebe o nome de um filme como parâmetro Opa aqui preciso tá errado né que precisa do ano também né filme Iano vou juntar o meu prompt com o meu llm através dessa chain Vou chamá ela de Oscar chain e vou passar para ela aqui o filme e o ano que eu recebi ela como um parâmetro né Tem uma diferença aqui que eu também tirei o llm aqui dessa função Vocês já vão entender daqui a pouco porquê Porque eu quero usar esse llm também na minha outra aplicação na minha veração com rag eu vou usar o mesmo objeto instanciado aqui para vocês verem que não tem diferença que é ele mesmo não tem nenhum problema né aqui eu instancie o modelo que eu quero o 3.