|
## 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 |
|
|
|
<Cards> |
|
<Card |
|
title="API Reference" |
|
icon="fa-solid fa-code" |
|
href="/api-reference" |
|
/> |
|
<Card |
|
title="Twitter" |
|
icon="fa-brands fa-twitter" |
|
href="https://twitter.com/PrivateGPT_AI" |
|
/> |
|
<Card |
|
title="Discord Server" |
|
icon="fa-brands fa-discord" |
|
href="https://discord.gg/bK6mRVpErU" |
|
/> |
|
</Cards> |
|
|
|
## 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. |
|
|
|
<Callout intent = "info"> |
|
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. |
|
</Callout> |