122 lines
No EOL
5.9 KiB
Text
122 lines
No EOL
5.9 KiB
Text
---
|
|
title: Install OpenRAG
|
|
slug: /install
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
import PartialOnboarding from '@site/docs/_partial-onboarding.mdx';
|
|
|
|
[Install the OpenRAG Python wheel](#install-python-wheel), and then run the [OpenRAG Terminal User Interface(TUI)](#setup) to start your OpenRAG deployment with a guided setup process.
|
|
|
|
If you prefer running Docker commands and manually editing `.env` files, see [Deploy with Docker](/get-started/docker).
|
|
|
|
## Prerequisites
|
|
|
|
- [Python Version 3.10 to 3.13](https://www.python.org/downloads/release/python-3100/)
|
|
- [uv](https://docs.astral.sh/uv/getting-started/installation/)
|
|
- [Podman](https://podman.io/docs/installation) (recommended) or [Docker](https://docs.docker.com/get-docker/) installed
|
|
- [Docker Compose](https://docs.docker.com/compose/install/) installed. If using Podman, use [podman-compose](https://docs.podman.io/en/latest/markdown/podman-compose.1.html) or alias Docker compose commands to Podman commands.
|
|
- Create an [OpenAI API key](https://platform.openai.com/api-keys). This key is **required** to start OpenRAG, but you can choose a different model provider during [Application Onboarding](#application-onboarding).
|
|
- Optional: GPU support requires an NVIDIA GPU with [CUDA](https://docs.nvidia.com/cuda/) support and compatible NVIDIA drivers installed on the OpenRAG host machine. If you don't have GPU capabilities, OpenRAG provides an alternate CPU-only deployment.
|
|
|
|
## Install the OpenRAG Python wheel {#install-python-wheel}
|
|
|
|
:::important
|
|
The `.whl` file is currently available as an internal download during public preview, and will be published to PyPI in a future release.
|
|
:::
|
|
|
|
The OpenRAG wheel installs the Terminal User Interface (TUI) for configuring and running OpenRAG.
|
|
|
|
1. Create a new project with a virtual environment using `uv init`.
|
|
|
|
```bash
|
|
uv init YOUR_PROJECT_NAME
|
|
cd YOUR_PROJECT_NAME
|
|
```
|
|
|
|
The `(venv)` prompt doesn't change, but `uv` commands will automatically use the project's virtual environment.
|
|
For more information on virtual environments, see the [uv documentation](https://docs.astral.sh/uv/pip/environments).
|
|
|
|
2. Add the local OpenRAG wheel to your project's virtual environment.
|
|
|
|
```bash
|
|
uv add PATH/TO/openrag-VERSION-py3-none-any.whl
|
|
```
|
|
Replace `PATH/TO/` and `VERSION` with the path and version of your downloaded OpenRAG `.whl` file.
|
|
|
|
For example, if your `.whl` file is in the `~/Downloads` directory, the command is `uv add ~/Downloads/openrag-0.1.8-py3-none-any.whl`.
|
|
|
|
3. Ensure all dependencies are installed and updated in your virtual environment.
|
|
```bash
|
|
uv sync
|
|
```
|
|
|
|
4. Start the OpenRAG TUI.
|
|
```bash
|
|
uv run openrag
|
|
```
|
|
|
|
5. Continue with [Setup OpenRAG with the TUI](#setup).
|
|
|
|
## Set up OpenRAG with the TUI {#setup}
|
|
|
|
The TUI creates a `.env` file in your OpenRAG directory root and starts OpenRAG.
|
|
|
|
**Basic Setup** generates all of the required values except the OpenAI API key.
|
|
**Basic Setup** does not set up OAuth connections for ingestion from Google Drive, OneDrive, or AWS.
|
|
For OAuth setup, use **Advanced Setup**.
|
|
|
|
If the TUI detects OAuth credentials, it enforces the **Advanced Setup** path.
|
|
If the TUI detects a `.env` file in the OpenRAG root directory, it will source any variables from the `.env` file.
|
|
<Tabs groupId="Setup method">
|
|
<TabItem value="Basic setup" label="Basic setup" default>
|
|
|
|
1. To install OpenRAG with **Basic Setup**, click **Basic Setup** or press <kbd>1</kbd>.
|
|
2. Click **Generate Passwords** to generate passwords for OpenSearch and Langflow.
|
|
3. Paste your OpenAI API key in the OpenAI API key field.
|
|
4. Click **Save Configuration**.
|
|
5. To start OpenRAG, click **Start Container Services**.
|
|
Startup pulls container images and runs them, so it can take some time.
|
|
When startup is complete, the TUI displays the following:
|
|
```bash
|
|
Services started successfully
|
|
Command completed successfully
|
|
```
|
|
6. To open the OpenRAG application, click **Open App**.
|
|
7. Continue with [Application Onboarding](#application-onboarding).
|
|
</TabItem>
|
|
<TabItem value="Advanced setup" label="Advanced setup">
|
|
1. To install OpenRAG with **Advanced Setup**, click **Advanced Setup** or press <kbd>2</kbd>.
|
|
2. Click **Generate Passwords** to generate passwords for OpenSearch and Langflow.
|
|
3. Paste your OpenAI API key in the OpenAI API key field.
|
|
4. Add your client and secret values for Google, Azure, or AWS OAuth.
|
|
These values can be found in your OAuth provider.
|
|
5. The OpenRAG TUI presents redirect URIs for your OAuth app.
|
|
These are the URLs your OAuth provider will redirect back to after user sign-in.
|
|
Register these redirect values with your OAuth provider as they are presented in the TUI.
|
|
6. Click **Save Configuration**.
|
|
7. To start OpenRAG, click **Start Container Services**.
|
|
Startup pulls container images and runs them, so it can take some time.
|
|
When startup is complete, the TUI displays the following:
|
|
```bash
|
|
Services started successfully
|
|
Command completed successfully
|
|
```
|
|
8. To open the OpenRAG application, click **Open App**, press <kbd>6</kbd>, or navigate to `http://localhost:3000`.
|
|
You will be presented with your provider's OAuth sign-in screen, and be redirected to the redirect URI after sign-in.
|
|
Continue with Application Onboarding.
|
|
|
|
Two additional variables are available for Advanced Setup:
|
|
|
|
The `LANGFLOW_PUBLIC_URL` controls where the Langflow web interface can be accessed. This is where users interact with their flows in a browser.
|
|
|
|
The `WEBHOOK_BASE_URL` controls where the endpoint for `/connectors/CONNECTOR_TYPE/webhook` will be available.
|
|
This connection enables real-time document synchronization with external services.
|
|
For example, for Google Drive file synchronization the webhook URL is `/connectors/google_drive/webhook`.
|
|
|
|
9. Continue with [Application Onboarding](#application-onboarding).
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
<PartialOnboarding /> |