https://medium.com/@garysvenson09/how-to-implement-retrieval-augmented-generation-in-langchain-c9b7136b7b60