Introdução ao RAG - Retrieval Augmented Generation

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 80

  • @pkwebart
    @pkwebart Місяць тому

    Suas explicações são suaves, de fácil entendimento e muito ricas, obrigada pelo conteúdo.

  • @vivianemarins6706
    @vivianemarins6706 Рік тому +2

    Show de bola. Temos poucos professores explicando com clareza🙏🏼👏👏👏👏

    • @profmarlonferrari
      @profmarlonferrari  Рік тому +1

      Sempre vou acreditar que consigo ajudar alguém, em algum lugar, a aprender. Tudo o que se diz como progresso começou com um professor e um aluno 📚

  • @marcussales5231
    @marcussales5231 Місяць тому

    Parabéns pela clareza e didática em passar o conteúdo

  • @ChicoFWDduYT
    @ChicoFWDduYT 3 місяці тому +1

    Mano, que delicinha!, isso que é ensinar e saber sobre o conteúdo de verdade ✊🏽🚀

  • @devassis9695
    @devassis9695 4 місяці тому +1

    Excelente explicação. Fiquei impressionado. Gratidão. Continue disponibilizando esses conteúdos. De continuidade sobre RAG, Banco de Dados Vetoriais Engenharia de prompts sendo aplicada com esses temas. Parabéns!

  • @gastaoconselvan
    @gastaoconselvan 2 місяці тому +1

    Parabéns. Didática perfeita.

  • @leonardocoelho5556
    @leonardocoelho5556 Місяць тому

    Vídeo muito bom parabéns cara!! nem sou de comentar em vídeos mas você conduz muito bem 😊

    • @profmarlonferrari
      @profmarlonferrari  Місяць тому

      Por comentários assim que me motivo a continuar!!! Muito obrigado!

  • @Resumindoseumanhwa
    @Resumindoseumanhwa 2 місяці тому

    fiz um projeto assim, antes de conhecer sobre "rag" achei sensacional o fim do projeto, todos os dados rápido e facil no whatsapp, muito bom ver na teoria mais sobre

  • @phpprado
    @phpprado 5 місяців тому

    Estudo isso a quase um ano, fui ver seu vídeo pra reforçar alguns conceitos, e seu vídeo é muito bom, parabéns pelo trabalho!

  • @potenzia1
    @potenzia1 2 місяці тому

    Parabéns!!! muito boa a aula e a didática! aprendi muito nesse vídeo obg.

  • @RafaelRibeiro-ug1jw
    @RafaelRibeiro-ug1jw Рік тому +1

    Aula top.
    Pergunta: como eu poderia em cima dos top 5, fazer ele realizar uma busca semantica usando o algoritmo, para me da somente uma resposta mais direta?

    • @profmarlonferrari
      @profmarlonferrari  Рік тому

      Obrigado!! Seria usando uma distância entre os 5 embedding, como a distância do cosseno.

  • @rvmocara
    @rvmocara 10 місяців тому

    Fala Marlon... parabéns e obrigado pelo conteúdo!

  • @BTC999K
    @BTC999K 4 місяці тому

    Ótimo trabalho professor, estou implementando Rag (usando Langchain) em uma empresa grande!

  • @CelsoLuizAgradeSaFilho
    @CelsoLuizAgradeSaFilho 7 місяців тому

    Este video está excelente!
    Parabéns pelo conteúdo e pela clareza

  • @GeraldoBertoli
    @GeraldoBertoli Рік тому

    Fala Marlon. Achei muito top a aula. Ainda sei bem pouco sobre essa área de processamento de linguagem natural. Vou assistir os outros vídeos. rs

    • @profmarlonferrari
      @profmarlonferrari  Рік тому

      Valeu Geraldo!! É uma área infinita rs bora trocando ideias!!

  • @williamlopes3522
    @williamlopes3522 5 місяців тому

    Gostei da matéria, conteúdo 10... Vou aplicar no meu projeto de IA.

  • @igorferreirabr
    @igorferreirabr 5 місяців тому

    te achei aqui por acaso! vc é muito bom professor! parabens

  • @alexandrelima3111
    @alexandrelima3111 6 місяців тому

    Cara, que didática em 👏. Parabéns

  • @V.maarcos
    @V.maarcos 2 місяці тому

    Cara obg, vou envolver esse assunto segunda na Daily, vlw mesmo.

  • @anaraquel5936
    @anaraquel5936 7 місяців тому

    👏🏽🤩💙 conteúdo excelente! Parabéns Marlon!

    • @profmarlonferrari
      @profmarlonferrari  7 місяців тому

      Que honra Ana!! Agradeço muito o apoio 🚀💙

  • @cristianorolando7081
    @cristianorolando7081 6 місяців тому

    Counteúdo incrível! Estou amando tudo

  • @rafaelladuarte718
    @rafaelladuarte718 3 місяці тому

    Professor, voce pode disponibilizar os links mencionados no video aqui nos comentários, não consegui pegar todos

  • @silviorfaraujo
    @silviorfaraujo Рік тому

    Muito obrigado pelo conteúdo tão didático. Esse mini-projeto RAG poderia ser compartilhado? Não encontrei no seu github

  • @emerson5500
    @emerson5500 10 місяців тому

    Que aula sensacional!

  • @MoisesBastosConsiste
    @MoisesBastosConsiste Рік тому

    Como você pode dar um apoio para implementar a IA via Vector-Search em uma empresa que já usa o ElasticSearch ?

  • @danilosousa5714
    @danilosousa5714 Рік тому +1

    Bom dia, Marlon. Meus parabéns pelo conteúdo bem rico. É muito raro encontrar conteúdo de qualidade sobre LLM, RAG e seus derivados, em português. Assisti alguns vídeos seus e achei excelente.
    Estou criando uma api, em python, arquitetada para prover RAG para a empresa que trabalho. No caso, tenho vários tipos de possíveis documentos. Alguns não precisam de overlaps, pois são atômicos e tal. Outros precisam.
    Já estou gerando os embeddings destes dados. Porém, surgiu uma dúvida: como utilizo o openSearch (elastic) como vector db, tenho a opção de criar índices para cada categoria. Você teria uma sugestão neste caso? O trabalho é voltado para o ensino. Então, Eu tenho que criar um índice para questão(por exemplo), outro para aulas, outro transcricoes.
    A minha dúvida é no momento da busca, utilizando llm, poder integrar todos esses índices, para gerar uma personalização ao usuário. Vc sugeria alguma estragégia?

    • @profmarlonferrari
      @profmarlonferrari  Рік тому +1

      Opa Danilo, muito obrigado pelo retorno! Gratificante poder ajudar.
      Em relação ao seu case, a depender do tipo da tarefa a ser realizada (QA, sumarização) temos possibilidades diferentes, e tenho visto até que a qualidade dos dados impacta no resultado. Indo na possibilidade de melhorar os retornos do pipeline, eu faria um processo de enriquecimento dos embbedings, pode ser até usando um named entity pra categorizar cada chunk com um contexto prévio e facilitar a integração dos conteúdos. Esse material pode ser útil: medium.com/@evertongomede/named-entity-recognition-unveiling-the-languages-rich-tapestry-4f1c580c88cd

    • @danilosousa5714
      @danilosousa5714 Рік тому

      Valeu, Marlon. Em termos de dados, grande parte deles já estão higienizados, pois já utilizamos busca por palavra chave no elasticsearch, com varios índices. Vou dar uma lida no material. A dúvida mesmo seria saber se coloco todos os dados em um único indice ou separo eles por domínio. Esse artigo que me passou deve ser nesse sentido.

  • @msvasconcellos2
    @msvasconcellos2 11 місяців тому

    Parabéns pela didática. Vc daria consultoria/apresentação para empresa?

    • @profmarlonferrari
      @profmarlonferrari  11 місяців тому

      Muito obrigado pelo retorno! No momento não possuo disponibilidade

  • @jefersonsantana3404
    @jefersonsantana3404 5 місяців тому

    Prof Marlon excelente conteudo.
    Duvidas:
    Quando voce usa o input desse documento, gerando os embedding, fica dentro do banco blz, porem usando um openai pelo langflow + 1 banco, os dados ficam somente no banco ou ficam publico na openai ?
    Falo isso por talvez serem dados sensíveis e não poder ficar publico

    • @profmarlonferrari
      @profmarlonferrari  5 місяців тому

      Olá Jeferson! Em relação a esse ponto, os dados são trafegados sim para os servidores open ai e por uma questão de governança de dados, é ideal evitar. A solução para utilização de dados estratégicos para esta finalidade é a utilização de modelos internos, como o llama, hospedados de forma assistida pela empresa. Espero ter ajudado!

  • @diego856
    @diego856 8 місяців тому

    Parabéns! Pelas imagens, parece inspirado no projeto do coursera, mas com uma didática melhor que o original

  • @gustavoscalcoisquierdo6697
    @gustavoscalcoisquierdo6697 Рік тому

    Excelente aula! Explica os conceitos e a aplicação prática. Contudo, ficou uma dúvida: qual é o modelo embedding que foi usado? Quando olhamos a documentação do vectordb o modelo "normal" (normal - Uses "BAAI/bge-small-en-v1.5" (default)) é na língua inglesa (en). Como o exemplo funcionou exemplarmente com o português? Configurei para usar o modelo "multilingual" e os resultados pioraram...

    • @profmarlonferrari
      @profmarlonferrari  Рік тому +1

      Olá Gustavo muito obrigado!
      No vídeo utilizei o normal mesmo, small en. A construção de embeddings ocorre a partir dos dados originais, com o mesmo processo na consulta. Assim, por mais que não se tenha a total construção dos vetores na língua nativa, ainda assim os dados tornam-se mensuráveis por distância. Certamente não é o ideal, porém tenho visto como até mais viável do que embeddings multilíngue, que possuem menos parâmetros, o que explicaria a queda no seu teste.

    • @gustavoscalcoisquierdo6697
      @gustavoscalcoisquierdo6697 Рік тому

      ❤@@profmarlonferrari

  • @Madferreiro
    @Madferreiro 5 місяців тому

    Professor, voce já aplicou esse conhecimento em algum projeto comercial? Poderia falar de como foi a experiencia?

    • @phpprado
      @phpprado 5 місяців тому

      Olá, pessoalmente, já apliquei sim, os resultados são surpreendentes, ainda mais se você tiver uma infra cloud de apoio como Oracle Cloud

    • @profmarlonferrari
      @profmarlonferrari  4 місяці тому +1

      Opa amigo! Para projetos reais, temos a necessidade de muitos agentes envolvidos em garantir a segurança das respostas e do prompt. São chamados de guardrails, que precisam ser à prova de balas para evitar que o objetivo do RAG não seja desvirtuado. E em projetos reais, o uso de dados internos corporativos para modelos externos é um gargalo. Vejo organizações hospedando modelos internamente para contornar este cenário.

  • @fabriciocrt2
    @fabriciocrt2 7 місяців тому

    Parabéns! Muito bom! Consegue disponibilizar o script?

    • @profmarlonferrari
      @profmarlonferrari  6 місяців тому +2

      Opa muito obrigado! Segue: github.com/ferrarimarlon/PDFtoGPT

  • @raphaelbonillo2192
    @raphaelbonillo2192 2 місяці тому

    Para um PDF que não vai mudar o conteúdo. Você iria de RAG ou Fine Tuning?

    • @raphaelbonillo2192
      @raphaelbonillo2192 2 місяці тому

      Já descobri. Obrigado, parabéns pelo vídeo.

    • @profmarlonferrari
      @profmarlonferrari  Місяць тому

      RAG mesmo amigo! Fine tuning apenas para LLMs especialistas. Muito obrigado pelo feedback 🚀🚀

  • @tronyn
    @tronyn 6 місяців тому

    Muito bom

  • @hailtonDavidLemos
    @hailtonDavidLemos 6 місяців тому

    Professor Marlon, é possível liberar o código fonte deste script?

  • @adrianoavelino6871
    @adrianoavelino6871 5 місяців тому

    Alguém sabe se o colab do código foi compartilhado?

  • @colecionaveisdarah
    @colecionaveisdarah 8 місяців тому +1

    Bom dia Professor, estou gostando muito do vídeo e estou fazendo o código junto porém estou com erro na importação do memory, pesquisei e só achei uma pessoa que teve este mesmo problema, ele até colocou no repositório do vectordb, poderia me ajuda?
    ImportError Traceback (most recent call last)
    in ()
    ----> 1 from vectordb import Memory
    2
    3 memory = Memory(chunking_strategy={"mode": "sliding_window", "window_size": 128, "overlap":8})
    ImportError: cannot import name 'Memory' from 'vectordb' (/usr/local/lib/python3.10/dist-packages/vectordb/__init__.py)
    Desde já obrigada

    • @profmarlonferrari
      @profmarlonferrari  7 місяців тому

      Ola Raquel! Muito obrigado!!
      Em relação ao erro, houve uma alteração da classe memory para o sub nível schema. Tente from langchain.schema import Memory

  • @paulogorenstein770
    @paulogorenstein770 9 місяців тому

    Muito Obrigado. Fiz um post no meu insta se você se incomodar eu tiro....Mas agradeço muito a clareza das informações!

    • @profmarlonferrari
      @profmarlonferrari  9 місяців тому

      Muito obrigado Paulo! Imagina, meu objetivo é justamente disseminar conhecimento!!

  • @n0d2010
    @n0d2010 5 місяців тому

    Um conteúdo desses de graça? Obrigado professor