llms-practical-guide

A practical introduction to Generative AI and LLMs, equipping professionals with essential skills to apply Gen AI in workflows, data processes, and tool development through hands-on labs and case studies.

https://github.com/worldbank/llms-practical-guide

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

generative-ai llm low-resource-languages
Last synced: 9 months ago · JSON representation ·

Repository

A practical introduction to Generative AI and LLMs, equipping professionals with essential skills to apply Gen AI in workflows, data processes, and tool development through hands-on labs and case studies.

Basic Info
Statistics
  • Stars: 4
  • Watchers: 6
  • Forks: 3
  • Open Issues: 7
  • Releases: 0
Topics
generative-ai llm low-resource-languages
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Practical Guide to LLMs and Generative AI

This repository contains information about a generative AI and LL course

Course Overview

The emergence of Generative Artificial Intelligence (AI) and Large Language Models (LLMs) has transformed the field of natural language processing. These technologies offer powerful capabilities in text generation and language understanding, adding value to various processes across numerous fields. In this course, we explore the different ways Gen AI can enhance workflows, from data analysis to knowledge sharing and interactive applications. This introductory course aims to demystify generative AI and LLMs for both technical and non-technical audiences across diverse industries. It provides a comprehensive overview of foundational knowledge for understanding LLMs, core concepts in Gen AI, and practical applications of Gen AI in a variety of contexts.

The course is intended for professionals like analysts, researchers, and other domain experts, equipping them with skills to enhance their work and build applications using LLMs. By the end of the course, participants will have a foundational understanding of Gen AI principles (machine learning and deep learning), the landscape of Gen AI and LLMs (common open-source and proprietary models), and the ability to create applications that utilize LLMs in meaningful ways.

Course Topics

The course will cover the following topics:

  1. AI Foundations
    This module provides preliminary knowledge in machine learning to better understand generative AI.

  2. Introduction to Generative AI and LLMs
    This module delves into the core concepts behind LLMs, including their structure, components, common models, and usage.

  3. Overview of Gen AI Applications in Data Work
    This module examines how Gen AI can be applied to various stages of data-related processes by focusing on the data value chain.

  4. Leveraging Gen AI and LLMs for User-Friendly Data Dissemination
    This module focuses on data dissemination and demonstrates different ways to create user-friendly dissemination products that cater to diverse audiences.

  5. Case Studies and Project Work
    To solidify the concepts, course participants will undertake a project to create a solution using LLMs at the end of the course.

Course Structure

The course is divided into self-contained modules, each designed to provide useful skills and knowledge. The modules are organized sequentially to build on skills learned in previous modules. To make the course engaging and informative, each module includes the following components:

  • Lecture
    Each lecture covers key conceptual knowledge for the topic at hand.

  • Practical Labs
    Programming activities provide learners with practical skills to implement solutions discussed in lectures. These labs include adaptable recipes for various use cases.

  • Case Studies
    Case studies showcase elaborate projects that demonstrate real-world applications.

  • Assessment
    Each module assessment combines theoretical and programming questions to evaluate learners' understanding of the concepts and skills covered in the module.

Course Sessions

This course has been delivered in different formats to cater to various audiences. The initial session took place in Tunisia in May 2024, designed for statisticians and data scientists with a focus on applications relevant to their fields. The upcoming iteration on November 20 - 21 in Malawi will be adapted for a broader audience, primarily IT professionals, to provide them with the skills to leverage generative AI and LLMs in their own domains.

Repository Structure and Contents

This repository serves as the primary resource for accessing course content, including slides, Python programming labs, example applications using LLMs, and additional materials to support learning about Generative AI and building applications with LLMs. For easy navigation, use the link and contents outlined below.

Contents

{tableofcontents}

License

The template is licensed under the Mozilla Public License. Remember to replace the license if necessary. If open source, choose an open source license.

Owner

  • Name: World Bank Group
  • Login: worldbank
  • Kind: organization
  • Email: github@worldbank.org

World Bank Repository for Data Products and tools. Content does not necessarily represent official World Bank Group positions, policies, recommendations, etc.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "Country borders or names do not necessarily reflect the World Bank Group’s official position. All maps are for illustrative purposes and do not imply the expression of any opinion on the part of the World Bank, concerning the legal status of any country or territory or concerning the delimitation of frontiers or boundaries."
title: "World Bank Data Lab Project Template"
authors:
  - affiliation: World Bank
    family-names: Stefanini Vicente
    given-names: Gabriel
    orcid: https://orcid.org/0000-0001-6530-3780
keywords:
  - Open Science
repository-code: https://github.com/worldbank/template/tree/main

GitHub Events

Total
  • Watch event: 5
  • Delete event: 6
  • Issue comment event: 7
  • Push event: 23
  • Pull request event: 20
  • Fork event: 3
  • Create event: 15
Last Year
  • Watch event: 5
  • Delete event: 6
  • Issue comment event: 7
  • Push event: 23
  • Pull request event: 20
  • Fork event: 3
  • Create event: 15

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 0
  • Total pull requests: 17
  • Average time to close issues: N/A
  • Average time to close pull requests: 13 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.53
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 0
  • Pull requests: 17
  • Average time to close issues: N/A
  • Average time to close pull requests: 13 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.53
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 17
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (29)
Top Labels
Issue Labels
Pull Request Labels
dependencies (29)

Dependencies

requirements.txt pypi
  • Deprecated ==1.2.14
  • Jinja2 ==3.1.4
  • MarkupSafe ==3.0.1
  • PyPika ==0.48.9
  • PyYAML ==6.0.2
  • Pygments ==2.18.0
  • SQLAlchemy ==2.0.35
  • Send2Trash ==1.8.3
  • ace_tools ==0.0
  • aiohappyeyeballs ==2.4.3
  • aiohttp ==3.10.10
  • aiosignal ==1.3.1
  • annotated-types ==0.7.0
  • anyio ==4.6.2.post1
  • appnope ==0.1.4
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • arrow ==1.3.0
  • asgiref ==3.8.1
  • asttokens ==2.4.1
  • async-lru ==2.0.4
  • attrs ==24.2.0
  • babel ==2.16.0
  • backoff ==2.2.1
  • bcrypt ==4.2.0
  • beautifulsoup4 ==4.12.3
  • bleach ==6.1.0
  • bokeh ==3.6.0
  • build ==1.2.2.post1
  • cachetools ==5.5.0
  • certifi ==2024.8.30
  • cffi ==1.17.1
  • charset-normalizer ==3.4.0
  • chroma-hnswlib ==0.7.6
  • chromadb ==0.5.18
  • click ==8.1.7
  • coloredlogs ==15.0.1
  • comm ==0.2.2
  • contourpy ==1.3.0
  • cycler ==0.12.1
  • dataclasses-json ==0.6.7
  • debugpy ==1.8.8
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • distro ==1.9.0
  • durationpy ==0.9
  • executing ==2.1.0
  • fastapi ==0.115.5
  • fastjsonschema ==2.20.0
  • filelock ==3.16.1
  • flatbuffers ==24.3.25
  • fonttools ==4.54.1
  • fqdn ==1.5.1
  • frozenlist ==1.5.0
  • fsspec ==2024.10.0
  • geopandas ==1.0.1
  • google-auth ==2.36.0
  • googleapis-common-protos ==1.66.0
  • grpcio ==1.67.1
  • h11 ==0.14.0
  • httpcore ==1.0.6
  • httptools ==0.6.4
  • httpx ==0.27.2
  • httpx-sse ==0.4.0
  • huggingface-hub ==0.26.2
  • humanfriendly ==10.0
  • idna ==3.10
  • importlib_metadata ==8.5.0
  • importlib_resources ==6.4.5
  • ipykernel ==6.29.5
  • ipython ==8.28.0
  • ipywidgets ==8.1.5
  • isoduration ==20.11.0
  • jedi ==0.19.2
  • jiter ==0.7.0
  • joblib ==1.4.2
  • json5 ==0.9.25
  • jsonpatch ==1.33
  • jsonpointer ==3.0.0
  • jsonschema ==4.23.0
  • jsonschema-specifications ==2024.10.1
  • jupyter ==1.1.1
  • jupyter-console ==6.6.3
  • jupyter-events ==0.10.0
  • jupyter-lsp ==2.2.5
  • jupyter_client ==8.6.3
  • jupyter_core ==5.7.2
  • jupyter_server ==2.14.2
  • jupyter_server_terminals ==0.5.3
  • jupyterlab ==4.2.5
  • jupyterlab_pygments ==0.3.0
  • jupyterlab_server ==2.27.3
  • jupyterlab_widgets ==3.0.13
  • kiwisolver ==1.4.7
  • kubernetes ==31.0.0
  • langchain >=0.3.3,<0.4.0
  • langchain-community >=0.3.5,<0.4.0
  • langchain-core ==0.3.15
  • langchain-openai ==0.2.2
  • langchain-text-splitters ==0.3.2
  • langsmith ==0.1.135
  • markdown-it-py ==3.0.0
  • marshmallow ==3.22.0
  • matplotlib ==3.9.2
  • matplotlib-inline ==0.1.7
  • mdurl ==0.1.2
  • mistune ==3.0.2
  • mmh3 ==5.0.1
  • monotonic ==1.6
  • mpmath ==1.3.0
  • multidict ==6.1.0
  • mypy-extensions ==1.0.0
  • nbclient ==0.10.0
  • nbconvert ==7.16.4
  • nbformat ==5.10.4
  • nest-asyncio ==1.6.0
  • networkx ==3.4.2
  • notebook ==7.2.2
  • notebook_shim ==0.2.4
  • numpy ==1.26.4
  • oauthlib ==3.2.2
  • onnxruntime ==1.20.0
  • openai ==1.51.2
  • opentelemetry-api ==1.28.1
  • opentelemetry-exporter-otlp-proto-common ==1.28.1
  • opentelemetry-exporter-otlp-proto-grpc ==1.28.1
  • opentelemetry-instrumentation ==0.49b1
  • opentelemetry-instrumentation-asgi ==0.49b1
  • opentelemetry-instrumentation-fastapi ==0.49b1
  • opentelemetry-proto ==1.28.1
  • opentelemetry-sdk ==1.28.1
  • opentelemetry-semantic-conventions ==0.49b1
  • opentelemetry-util-http ==0.49b1
  • orjson ==3.10.7
  • overrides ==7.7.0
  • packaging ==24.1
  • pandas ==2.2.3
  • pandocfilters ==1.5.1
  • parso ==0.8.4
  • pexpect ==4.9.0
  • pillow ==10.4.0
  • platformdirs ==4.3.6
  • posthog ==3.7.0
  • prometheus_client ==0.21.0
  • prompt_toolkit ==3.0.48
  • propcache ==0.2.0
  • protobuf ==5.28.3
  • psutil ==6.0.0
  • ptyprocess ==0.7.0
  • pure_eval ==0.2.3
  • pyasn1 ==0.6.1
  • pyasn1_modules ==0.4.1
  • pycparser ==2.22
  • pydantic ==2.9.2
  • pydantic-settings ==2.6.1
  • pydantic_core ==2.23.4
  • pyogrio ==0.10.0
  • pyparsing ==3.2.0
  • pyproj ==3.7.0
  • pyproject_hooks ==1.2.0
  • python-dateutil ==2.9.0.post0
  • python-dotenv ==1.0.1
  • python-json-logger ==2.0.7
  • pytz ==2024.2
  • pyzmq ==26.2.0
  • referencing ==0.35.1
  • regex ==2024.11.6
  • requests ==2.32.3
  • requests-oauthlib ==2.0.0
  • requests-toolbelt ==1.0.0
  • rfc3339-validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rich ==13.9.4
  • rpds-py ==0.21.0
  • rsa ==4.9
  • safetensors ==0.4.5
  • scikit-learn ==1.5.2
  • scipy ==1.14.1
  • seaborn ==0.13.2
  • setuptools ==75.3.0
  • shapely ==2.0.6
  • shellingham ==1.5.4
  • six ==1.16.0
  • sniffio ==1.3.1
  • soupsieve ==2.6
  • stack-data ==0.6.3
  • starlette ==0.41.2
  • sympy ==1.13.1
  • tenacity >=8.2.3,<9.0.0
  • terminado ==0.18.1
  • threadpoolctl ==3.5.0
  • tiktoken ==0.8.0
  • tinycss2 ==1.4.0
  • tokenizers ==0.20.3
  • torch ==2.5.1
  • tornado ==6.4.1
  • tqdm ==4.67.0
  • traitlets ==5.14.3
  • transformers ==4.46.2
  • typer ==0.13.0
  • types-python-dateutil ==2.9.0.20241003
  • typing-inspect ==0.9.0
  • typing_extensions ==4.12.2
  • tzdata ==2024.2
  • uri-template ==1.3.0
  • urllib3 ==2.2.3
  • uvicorn ==0.32.0
  • uvloop ==0.21.0
  • watchfiles ==0.24.0
  • wcwidth ==0.2.13
  • webcolors ==24.11.1
  • webencodings ==0.5.1
  • websocket-client ==1.8.0
  • websockets ==14.1
  • widgetsnbextension ==4.0.13
  • wrapt ==1.16.0
  • xyzservices ==2024.9.0
  • yarl ==1.15.2
  • zipp ==3.21.0
.github/workflows/gh-pages.yml actions
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/setup-python v5 composite
  • actions/upload-pages-artifact v3 composite
.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi
  • bokeh >=3,<4
  • pandas >=2
  • pycountry >=22.3.5
  • requests >=2.28.1