## Introduction 👋 PrivateGPT provides an **API** containing all the building blocks required to build **private, context-aware AI applications**. The API follows and extends OpenAI API standard, and supports both normal and streaming responses. That means that, if you can use OpenAI API in one of your tools, you can use your own PrivateGPT API instead, with no code changes, **and for free** if you are running privateGPT in `local` mode. Looking for the installation quickstart? [Quickstart installation guide for Linux and macOS](/overview/welcome/quickstart). Do you want to install it on Windows? Or do you want to take full advantage of your hardware for better performances? The installation guide will help you in the [Installation section](/installation). ## Frequently Visited Resources ## API Organization The API is divided in two logical blocks: 1. High-level API, abstracting all the complexity of a RAG (Retrieval Augmented Generation) pipeline implementation: - Ingestion of documents: internally managing document parsing, splitting, metadata extraction, embedding generation and storage. - Chat & Completions using context from ingested documents: abstracting the retrieval of context, the prompt engineering and the response generation. 2. Low-level API, allowing advanced users to implement their own complex pipelines: - Embeddings generation: based on a piece of text. - Contextual chunks retrieval: given a query, returns the most relevant chunks of text from the ingested documents. A working **Gradio UI client** is provided to test the API, together with a set of useful tools such as bulk model download script, ingestion script, documents folder watch, etc.