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!
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
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?
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?
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
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.
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
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!
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...
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.
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.
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
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
Suas explicações são suaves, de fácil entendimento e muito ricas, obrigada pelo conteúdo.
Muito obrigado 🚀🚀
Show de bola. Temos poucos professores explicando com clareza🙏🏼👏👏👏👏
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 📚
Parabéns pela clareza e didática em passar o conteúdo
Muito obrigado 🚀🚀
Mano, que delicinha!, isso que é ensinar e saber sobre o conteúdo de verdade ✊🏽🚀
Muito obrigado 🚀🚀
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!
Muito obrigado pelo feedback! Honrado
Parabéns. Didática perfeita.
Muito obrigado amigo!!
Vídeo muito bom parabéns cara!! nem sou de comentar em vídeos mas você conduz muito bem 😊
Por comentários assim que me motivo a continuar!!! Muito obrigado!
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
Muito obrigado 🚀🚀
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!
Muito obrigado pelo relato amigo!
Parabéns!!! muito boa a aula e a didática! aprendi muito nesse vídeo obg.
Muito obrigado!!!
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?
Obrigado!! Seria usando uma distância entre os 5 embedding, como a distância do cosseno.
Fala Marlon... parabéns e obrigado pelo conteúdo!
Muito obrigado!!
Ótimo trabalho professor, estou implementando Rag (usando Langchain) em uma empresa grande!
Sucesso!!
Este video está excelente!
Parabéns pelo conteúdo e pela clareza
Muito obrigado amigo!!
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
Valeu Geraldo!! É uma área infinita rs bora trocando ideias!!
Gostei da matéria, conteúdo 10... Vou aplicar no meu projeto de IA.
Honra em poder ajudar!
te achei aqui por acaso! vc é muito bom professor! parabens
Muito obrigado!!
Cara, que didática em 👏. Parabéns
Agradeço demais o retorno!!
Cara obg, vou envolver esse assunto segunda na Daily, vlw mesmo.
Feliz em poder contribuir amigo!!
👏🏽🤩💙 conteúdo excelente! Parabéns Marlon!
Que honra Ana!! Agradeço muito o apoio 🚀💙
Counteúdo incrível! Estou amando tudo
Muito obrigado amigo!!
Professor, voce pode disponibilizar os links mencionados no video aqui nos comentários, não consegui pegar todos
Muito obrigado pelo conteúdo tão didático. Esse mini-projeto RAG poderia ser compartilhado? Não encontrei no seu github
Estou devendo mas em breve sairá!!
Que aula sensacional!
Muito obrigado pelo retorno! Vamos juntos
Como você pode dar um apoio para implementar a IA via Vector-Search em uma empresa que já usa o ElasticSearch ?
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?
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
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.
Parabéns pela didática. Vc daria consultoria/apresentação para empresa?
Muito obrigado pelo retorno! No momento não possuo disponibilidade
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
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!
Parabéns! Pelas imagens, parece inspirado no projeto do coursera, mas com uma didática melhor que o original
Muito obrigado!!
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...
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.
❤@@profmarlonferrari
Professor, voce já aplicou esse conhecimento em algum projeto comercial? Poderia falar de como foi a experiencia?
Olá, pessoalmente, já apliquei sim, os resultados são surpreendentes, ainda mais se você tiver uma infra cloud de apoio como Oracle Cloud
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.
Parabéns! Muito bom! Consegue disponibilizar o script?
Opa muito obrigado! Segue: github.com/ferrarimarlon/PDFtoGPT
Para um PDF que não vai mudar o conteúdo. Você iria de RAG ou Fine Tuning?
Já descobri. Obrigado, parabéns pelo vídeo.
RAG mesmo amigo! Fine tuning apenas para LLMs especialistas. Muito obrigado pelo feedback 🚀🚀
Muito bom
Professor Marlon, é possível liberar o código fonte deste script?
Alguém sabe se o colab do código foi compartilhado?
To devendo meu amigo!!
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
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
Muito Obrigado. Fiz um post no meu insta se você se incomodar eu tiro....Mas agradeço muito a clareza das informações!
Muito obrigado Paulo! Imagina, meu objetivo é justamente disseminar conhecimento!!
Um conteúdo desses de graça? Obrigado professor