https://dev.to/gde/implementing-a-rag-system-run-148g