10-10-2023
(em contraste com responder perguntas baseado em tabelas/banco de dados do SEADE)
Embeddings: converte uma sentença (ou coisa parecida) em um vetor de números, de tal forma que o vetor contem/representa o conteúdo da sentença.
Em particular, sentenças com conteúdo parecido vão resultar em vetores perto um do outro.
converte todas as sentenças dos documentos em vetores
converte a pergunta num vetor
ache as sentenças dos documentos mais próximas (distancia) do vetor da pergunta (vector database)
recupere tais sentenças
monte uma pergunta para o ChatGPT com essas sentenças dos documentos e a pergunta original do tipo: “usando essa informações: sentenças responda esta pergunta: pergunta”
definir uma área especifica onde há de 20 a 100 documentos relevantes
definir 20 questões tipicas de usuários nesta área: 10 fáceis e 10 difíceis
testar chatGPT e outros nestas questões
implementar um protótipo (e não aplicação) de RAG
testar as questões no protótipo
verificar se as respostas usando o RAG são melhores
vai funcionar para o português?
vai funcionar para questões típicas de usuários?
a melhora é significativa?
problemas de temporalidade (devemos usar documentos velhos ou só a versão mais nova dos documentos?)
ajustes de parâmetros (número de trechos, tamanho dos trechos, etc)
testar diferentes embeddings e diferentes LLMs(?)
prompt engineering
vale a pena implantar?
rodar como serviço ou localmente?
outros LLMs e embeddings
https://www.youtube.com/watch?v=Q-uEhJMu3ak
https://www.youtube.com/watch?v=T-D1OfcDW1M
https://thenewstack.io/top-5-vector-database-solutions-for-your-ai-project/
https://byby.dev/vector-databases
https://github.com/Anil-matcha/ChatPDF
https://github.com/anis-marrouchi/chatpdf-gpt
https://python.langchain.com/docs/additional_resources/tutorials
https://python.langchain.com/docs/use_cases/question_answering/