We are very excited for you to start this course and see what you get inspired to build with Generative AI!
To make your time successful, we have created this page that outlines any setup steps, technical requirements, and how to get help when you need it.
To start taking this course, you will need to complete the following steps.
Fork this entire repo to your own GitHub account to be able to change any code and complete the challenges. You can also star (🌟) this repo to find it and related repos easier.
To avoid any dependency issues when running the code, we recommend running this course in a GitHub codespace.
This can be created by selecting the Code
option on your forked version of this repo and selecting the Codespaces option.
Keeping your API keys safe and secure is important when building any type of application. We encourage you not to store any API keys directly in the code you are working with as committing those details to a public repository could result in unwanted costs and issues.
To run the code locally on your computer, you would need to have some version of Python installed.
To then use the repository, you need to clone it:
git clone https://github.com/microsoft/generative-ai-for-beginners
cd generative-ai-for-beginners
Now you have everything checked out and can start learning and work with the code.
There are advantages to installing miniconda - it is rather lightweight installation that supports conda
package manager for different Python virtual environments. conda
makes it easy to install and switch between different Python versions and packages, and also to install packages that are not available via pip
.
After you install miniconda, you need to clone the repository (if you haven't already done so) and create a virtual environment to be used for this course:
Before running the below step, ensure that you first have an environment.yml file. The environment.yml file is used to create a conda environment with the necessary dependencies and can look like so:
name: <environment-name>
channels:
- defaults
dependencies:
- python=<python-version>
- openai
- python-dotenv
You can replace <environment-name>
with the name of your conda environment, and <python-version>
with the version of Python you want to use. Place your created environment.yml file in the .devcontainer folder of your repo.
Now that you've hopefully created a environment.yml file, you can create a conda environment with the following command:
conda env create --name ai4beg --file .devcontainer/environment.yml
conda activate ai4beg
Refer to this link on creating a conda environments if you run into trouble.
Probably the best way to use the curriculum is to open it in Visual Studio Code with Python Extension.
Note: Once you clone and open the directory in VS Code, it will automatically suggest you to install Python extensions. You would also have to install miniconda as described above.
Note: If VS Code suggests you to re-open the repository in container, you need to decline this to use local Python installation.
You can also use Jupyter environment right from the browser on your own computer. Actually, both classical Jupyter and Jupyer Hub provide quite convenient development environment with auto-completion, code highlighting, etc.
To start Jupyter locally, go to the directory of the course, and execute:
jupyter notebook
or
jupyterhub
You then can navigate to any of the .ipynb
files, open them and start working.
An alternative to Python installation would be to run the code in container. Since our repository contains special .devcontainer
folder that instructs how to build a container for this repo, VS Code would offer you to re-open the code in container. This will require Docker installation, and also would be more complex, so we recommend this to more experienced users.
One of the best ways to keep your API keys secure when using GitHub Codespaces is by using Codespace Secrets. Please follow this guide on how to manage secrets for your codespaces.
The course has 6 concept lessons and 6 coding lessons.
For the coding lessons, we are using the Azure OpenAI Service. You will need access to the Azure OpenAI service and an API key to run this code. You can apply to get access by completing this application.
While you wait for your application to be processed, each coding lesson also includes a README.md
file where you can view the code and outputs.
If this is your first time working with the Azure OpenAI service, please follow this guide on how to create and deploy an Azure OpenAI Service resource.
We have created channels in our official AI Community Discord server for meeting other learners. This is a great way to network with other like-minded entrepreneurs, builders, students, and anyone looking to level up in Generative AI.
The project team will also be on this Discord server to help any learners.
This course is an open-source initiative. If you see areas of improvement or issues, please create a Pull Request or log a GitHub issue.
The project team will be tracking all contributions and contributing to open source is an amazing way to build your career in Generative AI.
Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit CLA, Contributor License Agreement website.
Important: when translating text in this repo, please ensure that you do not use machine translation. We will verify translations via the community, so please only volunteer for translations in languages where you are proficient.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information read the Code of Conduct FAQ or contact Email opencode with any additional questions or comments.
Now that you have completed the needed steps to complete this course, let's get started by getting an introduction to Generative AI and LLMs.