Skip to content

A structured learning path for software engineers to master Large Language Models through theory, practical exercises, and project implementation.

License

Notifications You must be signed in to change notification settings

JawherKl/llm-foundations

Repository files navigation

LLM Foundations: From Theory to Production πŸš€

Repository Size Last Commit Issues Forks Stars License

llm-foundations

A structured learning path and project portfolio for software engineers to master Large Language Models. This repository moves beyond theory, focusing on the practical application of LLMs through prompt engineering, API integration, and building scalable applications.

πŸ’‘ For Developers, By a Developer: This isn't just a list of concepts. It's a hands-on curriculum designed to take you from foundational understanding to building production-ready LLM applications.

πŸ“– Overview

The field of Large Language Models is moving fast. This repository provides a structured path to not just keep up, but to become proficient. It's organized into a 28-step curriculum that balances deep theoretical understanding with immediate, practical application.

Whether you're building AI-powered features into your product, automating workflows, or launching a new AI-based service, this guide will help you develop the necessary skills.

🧭 The 28-Day Learning Path

The curriculum is divided into six logical parts:

Part Focus Area What You'll Achieve
1. Theory Foundations Core Concepts Understand how LLMs work under the hood
2. Prompt Engineering Communication Master the art of guiding LLMs to desired outputs
3. Practical Applications API Integration Build functional applications using various LLM APIs
4. Advanced Topics Production Systems Implement RAG, work with vector DBs, and build agents
5. Build Projects Portfolio Development Create showcase projects for your portfolio
6. Next Steps Career Planning Define your specialization and next learning goals

πŸ—οΈ Repository Structure

llm-foundations/
β”œβ”€β”€ 01-theory-foundations/          # Days 1-8: How LLMs work
β”œβ”€β”€ 02-prompt-engineering/          # Days 9-16: Effective prompting
β”œβ”€β”€ 03-practical-applications/      # Days 17-18: API integration & simple apps
β”œβ”€β”€ 04-advanced-topics/             # Days 19-27: RAG, vector DBs, agents
β”œβ”€β”€ 05-build-projects/              # Portfolio project development
β”œβ”€β”€ 06-reflection-next-steps/       # Day 28: Planning your path forward
β”œβ”€β”€ resources/                      # Cheatsheets, tools, reading lists
└── quizzes/                        # Self-assessment tools

πŸ“š Learning Resources

To make the most of this curriculum, you'll want to be familiar with these core technologies and have these tools ready.

🐍 Prerequisite Knowledge

  • Python Programming: Intermediate proficiency (functions, classes, decorators, async/await)
  • API Concepts: REST APIs, HTTP requests, authentication (API keys)
  • Basic Command Line: Navigating directories, running scripts, managing environments
  • Git & GitHub: Cloning repositories, making commits, creating pull requests

πŸ”§ Essential Tools & Accounts

Category Tools & Services Description
Development Python 3.10+, VS Code, Jupyter Notebook Core coding environment
API Access OpenAI, Anthropic, Cohere Accounts for LLM API access (some offer free credits)
Open Source LLMs Ollama, LM Studio Run models locally on your machine
Vector Databases Pinecone, Chroma, Weaviate For RAG implementations (free tiers available)
UI Frameworks Streamlit, Gradio For building web interfaces for your LLM apps
Prompt Tools PromptHero, FlowGPT For prompt inspiration and testing

πŸ“– Recommended Learning Path

  1. Setup Your Environment: Install Python, create a virtual environment, and install key packages (openai, langchain, streamlit)
  2. Get API Access: Sign up for OpenAI/Anthropic and get your API keys
  3. Install Ollama: Follow the Ollama installation guide to run models locally
  4. Clone This Repo: git clone https://github.com/JawherKl/llm-foundations.git
  5. Explore the Structure: Review the repository organization and learning path

πŸ’‘ Pro Tips

  • Start Small: Begin with simple API calls before tackling complex frameworks
  • Use Free Tiers: Most LLM APIs offer free credits to get started
  • Experiment Locally: Use Ollama with smaller models (like Llama 3) for experimentation without API costs
  • Document Your Learning: Keep notes on what works and what doesn't - this becomes valuable reference material
  • Join Communities: Participate in Discord servers and subreddits like r/LocalLLaMA, r/LangChain, and AI developer communities

πŸ†“ Free Resources to Supplement Learning


πŸš€ Getting Started

For the Structured Learner (Recommended)

  1. Start with Theory: Begin with 01-theory-foundations/README.md
  2. Follow the Path: Progress through each section in order
  3. Build as You Learn: Implement projects in 05-build-projects/ as you acquire relevant skills
  4. Assess Your Knowledge: Use the quizzes to validate your understanding

For the Project-Focused Learner

  1. Skim the Theory: Review 01-theory-foundations/04-key-terminologies.md
  2. Master Prompting: Study 02-prompt-engineering/ thoroughly
  3. Pick a Project: Choose a project from 05-build-projects/project-ideas.md
  4. Learn as You Build: Reference specific sections as needed for your project

For the Experienced Developer

  1. Assessment First: Take the quizzes/final-assessment.md to identify knowledge gaps
  2. Targeted Learning: Focus on sections where you need reinforcement
  3. Contribute: Share your expertise by improving content or adding new examples

πŸ› οΈ Tech Stack & Tools

This curriculum prepares you to work with:

  • LLM APIs: OpenAI GPT, Anthropic Claude, Cohere, OpenRouter
  • Frameworks: LangChain, LlamaIndex, Haystack
  • Vector Databases: Pinecone, Chroma, Weaviate, Qdrant
  • UI Tools: Streamlit, Gradio, Chainlit
  • Open Source Models: Llama 2/3, Mistral, Phi via Ollama
  • Development: Python, Jupyter Notebooks, Docker

🀝 How to Contribute

We welcome contributions! Here's how you can help:

  1. Fix Errors: Found a mistake? Submit a PR with corrections
  2. Add Examples: Share your prompt engineering examples or code samples
  3. Improve Explanations: Help make complex concepts more accessible
  4. Share Projects: Add your LLM projects to the build-projects section
  5. Suggest Resources: Recommend great learning materials

Please read our Contributing Guidelines before submitting a pull request.

πŸ“š Bibliography & Further Reading

This repository synthesizes knowledge from a wide array of exceptional resources. The following books, articles, papers, and documentation were instrumental in its creation and serve as recommended reading for those who wish to dive deeper.

Foundational Papers

Essential Books & Online Books

Influential Blogs & Articles

  • Jay Alammar's Blog (The Illustrated Transformer) - Legendary visual explanations of complex ML concepts.
  • Lil'Log (Prompt Engineering) by Lilian Weng - In-depth and technical overview of prompt engineering techniques.
  • Andrej Karpathy's Blog (AI for Full-Self Driving) - While focused on AI for cars, his writing on software 2.0 and NN training is foundational.
  • Simon Willison's Blog (LLM tag) - A prolific writer on practical LLM applications and emerging patterns.
  • EMAXX.IO (RTF and CRISPE Frameworks) - Excellent breakdown of prompt engineering frameworks.

Official Documentation

Courses & Video Series

Community & Inspiration

  • r/LocalLLaMA - The central Reddit community for open-source LLMs.
  • Hugging Face Discord - A vibrant community for discussion and help with open-source models.
  • LangChain Discord - Great for getting help with the LangChain framework.
  • AI Engineer Summit Talks (YouTube) - Talks from practitioners building the cutting edge of LLM applications.

This bibliography represents a living list. If you have a resource that was foundational to your understanding, please consider contributing to this section.

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Inspired by various learning paths and roadmaps
  • Built upon the work of researchers and developers in the LLM space
  • Thanks to all contributors who help improve this resource

⭐ If you find this repository helpful, please give it a star! This helps others discover it and encourages further development.

πŸ—ΊοΈ What's Next?

Ready to begin your LLM journey? Start here: Theory Foundations


This repository is maintained by JawherKl. For questions or suggestions, please open an issue or discussion.

About

A structured learning path for software engineers to master Large Language Models through theory, practical exercises, and project implementation.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published