Skip to content

A curated collection of practical resources for learning and building Generative AI applications with Large Language Models (LLMs). Perfect for beginners and experts alike, focusing on hands-on development over theory. πŸš€

License

Notifications You must be signed in to change notification settings

milutinke/awesome-ai-llm-development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Awesome AI LLM Development Resources πŸš€

Awesome Collection of Resources for Learning AI and Large Language Model (LLM) Development

Discover a comprehensive guide that covers everything from basic concepts to advanced topics, helping you navigate the exciting world of creating Generative AI (GenAI) applications using LLMs. Whether you're already developing GenAI apps or looking to enter the field, there's something here for everyone. This guide is oriented towards practical, and non-theoretical approach, advocating on hands on approach.

Contributions welcomed

As someone who works on creating Generative AI applications using LLMs, not as an ML engineer but as a backend web developer, I've been asked by many people how to get started. Over the past year, I learned by doing, reading research papers, articles, blog posts, and watching YouTube videos without any particular order, basically piecing it all together. I've decided to create a curated list to help people of various background learn this in a practical manner.

Thus, I strongly encourage and welcome contributions to this list to enhance its quality and relevance.

Your input can help include valuable resources I may have missed.

Cheers πŸ₯‚


Table of Contents


Section 1: The Basic Concepts

  1. What is AI, Machine Learning (ML), Deep Learning, Generative AI?
  2. Google's Introduction to Gen AI
  3. What are Large Language Models (LLMs)?
  4. What are tokens in LLMs?
  5. What are parameters in LLMs?
  6. What is a context window in LLMs? + How GPT works visualized in Excel
  7. What is temperature in LLMs?
  8. What are Top P and Top K in LLMs?
  9. How and where is Gen AI used?
  10. Understanding Benchmarks

Section 2: Prompt Engineering - Basics

Written Guide:

Videos:

  1. What is prompting?
  2. Jeff Su's Prompt Formula (Role/Persona + Context + Task/Action + Example + Format) (Similar to the CRAFT)
  3. Zero-Shot, First-Shot, Few-Shot Prompting
  4. Chain-of-Thought (CoT) Prompting
  5. Meta Prompting (Use AI to create really good prompts using prompt engineering)

Tips:

Section 3: Building GenAI Apps with LLM APIs

Prerequisites Needed:

  1. Python
  2. Python OOP
  3. REST API
  4. FastAPI in Python
  5. WebSockets Explained in Python
  6. WebSockets with FastAPI

Actually Building Gen AI Apps Using OpenAI API Standard

  1. Using OpenAI API - Documentation (Learn how to use the OpenAI API)

  2. Using ChatGPT/LLMs with OpenAI Python Package (Video for OpenAI API)

  3. What are LLM Tools/Function Calls (Learn how to call function/use tools with LLMs)

  4. LLM Function/Tool Calling - Deep Dive + Examples

  5. OpenAI Assistants API (Learn OpenAI Assistant API which provides a lot of bootstraped stuff)

  6. LangChain

  7. Langsmith

Section 4: Embeddings and Vector Databases

In this section, you will learn concepts needed for implementing Retrieval Augmented Generation (RAG).

  1. What are Embeddings?
  2. What are Embeddings (More Detailed)
  3. Word2Vec (Blog Form) (Optional for deeper understanding)
  4. Vector Databases + Embeddings + Indexes (A very nice explanation, simplified)
  5. Using Chroma DB + OpenAI Embedding
  6. Using OpenAI Embeddings for CSV Search
  7. How to Choose a Vector Database?

Optional More In-Depth Guides About What Vector Databases Are:

Section 5: Retrieval Augmented Generation (RAG)

  1. What is RAG?
  2. RAG vs Fine-Tuning
  3. Simple (Naive) RAG Implementation Using MongoDB
  4. Different Text Chunking Techniques
  5. Implementing RAG from Scratch + Different Techniques (Practical + Code Example)

Section 6: Advanced RAG Techniques

  1. A Very Detailed Deep Dive into RAG + Various RAG Architectures by Stanford (More advanced, academic, theoretical approach, very detailed)
  2. Building Production-Ready RAG Applications: Jerry Liu (2023, a bit outdated, but nice to know)
  3. Advanced RAG Optimization to Make It Production-Ready
  4. A Survey of Production RAG Pain Points and Solutions // Jerry Liu // AI in Production Conference (2024)
  5. Building Production RAG Over Complex Documents - by Databricks (2024)

Section 7: LLM AI Agents

  1. What are AI Agents?
  2. AI Agents vs Assistants
  3. AI Agents Architectures

Section 8: LLM AI Agents Frameworks

Crew AI

Pros:

  • Role-Based Agent Design: Allows customization of agents with specific roles and goals, enabling cohesive operation.
  • Integration with LangChain: Built on top of LangChain, providing access to a wide range of tools and models.
  • User-Friendly: Simplifies the development process, making it suitable for rapid prototyping and implementation.

Cons:

  • High-Level Abstraction: While easy to use initially, deeper customization can become complex due to its high-level nature.
  • Dependency on LangChain: Relies on the robustness and updates of the underlying framework.

Links:

LangGraph

Pros:

  • Stateful Graph Methodology: Allows intricate agent state tracking and updating during execution, enhancing control over processes.
  • Multi-Agent Coordination: Supports multiple agents within a single graph structure, each with its own prompts, LLMs, tools, and custom code.
  • Integration with LangChain: Provides access to a wide range of tools and models, enhancing agent capabilities.

Cons:

  • Visual Builder Dependency: Relies on visual builders for designing applications, which may not suit teams preferring direct coding.
  • Less Granular Control: May offer less control compared to direct coding methods, depending on the robustness of the LangGraph system.

Links:

AutoGen

Pros:

  • Active Community Support: Features a very active community, beneficial for developers seeking support and collaboration.
  • Customizable Agents: Offers agents that can integrate LLMs, tools, and human feedback, making task execution highly flexible.
  • Memory and Context Management: Enhances utility in LLM applications demanding these features.

Cons:

  • Complexity in Agent Roles: Determining the appropriate number of agents and their roles can be complex.
  • Potential for Infinite Loops: Without proper tuning, agents could enter infinite loops, leading to increased computational costs and resource usage.
  • Limited Support for Open-Source LLMs: Currently offers limited compatibility with open-source LLMs.

Links:

Agency Swarm

Pros:

  • Ease of Learning and Use: Designed to be user-friendly, facilitating quick learning and implementation.
  • Utilizes OpenAI Assistants API: Leverages OpenAI's API for robust AI capabilities.
  • Built-in Tools and Agents: Provides a suite of tools and agents ready for use.
  • Effective Multi-Agent Communication: Supports multiple communication methods among agents.

Cons:

  • Integration Challenges: Not easily integrated into other applications.
  • Small Community: Limited user base may affect support and development.
  • Limited Maintenance: Maintained and developed by only a few individuals, which may impact updates and support.

Links:

Appendix

Production Pre-requisites

Production-Ready Python FastAPI Apps + Concepts:

  1. Multi-threading:
  2. Deep Dive into Asynchronous Programming with FastAPI (More advanced, for production, optional for now)
  3. WSGI & ASGI Simplified
  4. Uvicorn and FastAPI
  5. Production-Ready FastAPI Apps
  6. Logging

Optional Stuff

Things listed here are not 100% required, but it's nice to have at least a conceptual and basic understanding, which could be useful.

Useful Stuff:

How LLMs Work Under the Hood:

  1. Large Language Models from Scratch (Simplified) - Part 1
  2. Large Language Models from Scratch (Simplified) - Part 2
  3. 3Blue1Brown's Playlist for Neural Networks + LLMs (Very nice visualizations)
  4. Attention Is All You Need (Research paper that introduced the Transformers architecture)
  5. Attention Is All You Need - Explained (A video explanation of the research paper with nice visualizations)
  6. LLM Visualization Website (A very nice website that explains how LLMs/Transformers architecture works)

Miscellaneous

Related

  • Awesome LLM Inference

    A currated list of trending research papers with code

  • Awesome LLM

    A curated list of papers about large language models, especially relating to ChatGPT. It also contains frameworks for LLM training, tools to deploy LLM, courses and tutorials about LLM and all publicly available LLM checkpoints and APIs.)

  • Awesome LLM Apps

    A curated collection of awesome LLM apps built with RAG and AI agents. This repository features LLM apps that use models from OpenAI, Anthropic, Google, and even open-source models like LLaMA that you can run locally on your compute

  • Awesome LLMs Fine-Tuning

    A curated collection of resources for fine-tuning LLMs like GPT, BERT, and RoBERTa, featuring tutorials, tools, papers, and best practices to optimize models for specific tasks.

TODO:

  • Include a more advanced Prompt Engineering section - WIP
  • Link additional resources - WIP
  • Find and link code examples of Generative AI applications using LLMs and LLM AI Agents
  • Link more of similar/on-topic repositories
  • Expand the optional theoretical background section to include resources for learning ML in depth and better resources on how LLMs work under the hood

License

GNU General Public License v3.0

About

A curated collection of practical resources for learning and building Generative AI applications with Large Language Models (LLMs). Perfect for beginners and experts alike, focusing on hands-on development over theory. πŸš€

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published