Instalar dependencias:
conda create -n rag_examples
pip install --upgrade langchain langchain-community langchainhub langchain_openai langchain_pinecone langchain langchain-community langchainhub git+https://github.com/pytube/pytube git+https://github.com/openai/whisper.git
Se carga entero el documento y se realizan preguntas sobre él.
Video tutorial base: https://www.youtube.com/watch?v=BrsocJb-fAo Código tutorial base: https://github.com/svpino/youtube-rag/blob/main/rag.ipynb
For fixing youtube problems change the following: pytube/pytube#1707 pytube/pytube#1894 (comment)
PROBLEMA Los costes son muy grandes si cada vez hay que cargarlo todo.
SOLUCION Pasamos al siguiente enfoque: enviar solo chunks.
- Se trocea y se envía a pinecone.
- Se utiliza la estrategia de semantic chunk para mejorar
https://community.fullstackretrieval.com/ https://github.com/FullStackRetrieval-com/RetrievalTutorials/blob/main/tutorials/LevelsOfTextSplitting/5_Levels_Of_Text_Splitting.ipynb
PROBLEMA Baja el accuracy al no tener todo el contexto.
SOLUCION Pasamos al siguiente enfoque: Probar varias veces hasta que se consigue el resultado esperado.
Se utiliza la estrategia de self rag con Langgraph.
https://blog.langchain.dev/agentic-rag-with-langgraph/ https://github.com/langchain-ai/langchain/blob/master/cookbook/langgraph_self_rag.ipynb
[X] Cambiar el chunk para hacerlo más inteligente --> Añadido Semantic Chunk [ ] Extraer de la mejor manera los datos de PDF [ ] Add metadata and selfquery retriever: https://medium.com/@lorevanoudenhove/enhancing-rag-performance-with-metadata-the-power-of-self-query-retrievers-e29d4eecdb73