https://python.plainenglish.io/llm-large-language-model-a-comprehensive-overview-and-options-for-building-one-b180f508e182