# Prerequisites

Alright, let's get the ball rolling! Let's kick things off by ensuring you have everything you need installed on your computer. And remember, persistence is crucial in this journey.&#x20;

Nailing a new framework flawlessly from the get-go is as rare as acing a complex algorithm on the first try. And finding joy in debugging? That's like getting used to a 3 AM alarm—tough, but part of the process. :woman\_shrugging:

The magic happens when, after persistence. That's when you'll see the true power of your skills and the impact you can create. Plus, the frameworks we're diving into are designed for production-grade applications, meaning the potential for real-world impact is enormous and genuinely empowering.

Are you geared up? Let's embrace this challenge with enthusiasm. 😊 These steps aren't just for today; they're your stepping stones to the exciting world of open-source contributions. So, let's get to it!

### Git, Python and Pip

* Python 3.10 or 3.11 should be installed on your machine. If not, you can [Download Python](https://www.python.org/downloads/) here.
*   Pip: Comes pre-installed with Python 3.4+. It is the standard package manager for Python. You can check if it's downloaded by typing the below command in your terminal/command prompt.



    ```
    pip --version
    ```


* If Pip is not installed, you'll get an error. In that case, you need to download and install [Pip](https://pip.pypa.io/en/stable/installation/) to manage project packages.&#x20;
* Git should be installed on your machine. If you've installed XCode (or its Command Line Tools), Git may already be installed. To find out, open a Terminal or Command Prompt, and enter `git --version`. If it's not installed, refer to [this documentation](https://www.atlassian.com/git/tutorials/install-git) and install it.&#x20;

### OpenAI API Key (Recommended)

This key is required if you plan to use OpenAI models for embedding and generation.&#x20;

If you are less confident with using open-source alternatives, this is a good starting point. By default, OpenAI currently offers $5 in free credits for new accounts – i.e. the ones with a new phone number and email ID. These free credits should suffice for building your project.&#x20;

Going forward, we will use `text-embedding-ada-002`  for generating the vector embeddings ([OpenAI documentation](https://openai.com/blog/new-and-improved-embedding-model)) and  `gpt-3.5-turbo` for text generation.

**To create a new OpenAI API Key:**

* [Log in](https://platform.openai.com/login?launch) to the OpenAI website.
* Navigate to the [API Key Management](https://platform.openai.com/account/api-keys) page to generate your key.

### Note: If you're using Windows OS

The example ahead only supports Unix-like systems (such as Linux, macOS, and BSD).&#x20;

But the good news is that you have an easy fix. If you are a Windows user, you can use [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) or Dockerize the app to run as a container.

### What is Docker and how to install it?

Think of Docker as a shipping container for your app. Just as a shipping container can hold all sorts of goods (clothes, electronics, etc.) and can be transported anywhere in the world, Docker bundles your app and everything it needs to run into a '**container**.' This makes it easy to share and run your app on any computer.

Similar to Docker, there is a tool called **Conda** which is showcased in one of the videos ahead. Conda lets you create separate environments to manage different sets of Python packages, ensuring your code runs the same way on any computer.&#x20;

Conda and Docker both aim to solve the problem of "it works on my machine" by isolating your project and its dependencies.

* You can download Docker [from here](https://www.docker.com/products/docker-desktop/)
* You can download Conda [from here](https://docs.conda.io/projects/conda/en/stable/user-guide/install/download.html).

Now that we have the prerequisites, let's proceed. :smile:
