> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ragrails.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install Ragrails and choose the extras for your RAG stack.

Ragrails requires Python 3.10 or newer and installs with `pip`.

<CodeGroup>
  ```bash SDK theme={null}
  pip install ragrails
  ```

  ```bash CLI theme={null}
  pip install ragrails
  ragrails --help
  ```

  ```bash REST API theme={null}
  pip install "ragrails[server-qdrant]"
  ragrails-api --help
  ```
</CodeGroup>

The base install includes the SDK, CLI, REST API command, OpenAI, Anthropic, Google, document ingestion, API ingestion, chunking, embedding orchestration, vector storage orchestration, retrieval, chat, and pipeline helpers.

<Note>OpenAI, Anthropic, and Google clients are included in the base package. Set the matching API key before using the provider.</Note>

## Common installs

Choose the smallest install that matches the thing you are running.

| Goal                                                    | Install                                   |
| ------------------------------------------------------- | ----------------------------------------- |
| SDK, CLI, docs/API ingestion, chunking, retrieval, chat | `pip install ragrails`                    |
| SDK pipeline with Voyage + local or cloud Qdrant        | `pip install "ragrails[store-qdrant]"`    |
| SDK pipeline with Voyage + Pinecone                     | `pip install "ragrails[store-pinecone]"`  |
| SDK pipeline with Voyage + Weaviate                     | `pip install "ragrails[store-weaviate]"`  |
| REST API backed by Qdrant                               | `pip install "ragrails[server-qdrant]"`   |
| REST API backed by Pinecone                             | `pip install "ragrails[server-pinecone]"` |
| REST API backed by Weaviate                             | `pip install "ragrails[server-weaviate]"` |
| Website scraping                                        | `pip install "ragrails[url]"`             |
| Local reranking                                         | `pip install "ragrails[rerank]"`          |
| Everything                                              | `pip install "ragrails[all]"`             |

For website scraping, install the browser runtime once in the environment that will scrape pages:

<CodeGroup>
  ```bash CLI theme={null}
  ragrails setup-url --browser chromium
  ```

  ```python SDK theme={null}
  from ragrails import RagRails

  rag = RagRails()
  rag.setup_url(browser="chromium")
  ```
</CodeGroup>

## Extras

Extras add integrations that are optional at runtime. Combine extras with commas when you need more than one.

| Extra             | Adds                                                              |
| ----------------- | ----------------------------------------------------------------- |
| `url`             | Crawl4AI website scraping support                                 |
| `voyage`          | Voyage embeddings and Voyage reranking credentials/client support |
| `qdrant`          | Qdrant vector database client                                     |
| `pinecone`        | Pinecone vector database client                                   |
| `weaviate`        | Weaviate vector database client                                   |
| `rerank`          | Local reranking dependencies                                      |
| `store-qdrant`    | Voyage + Qdrant for SDK/CLI storage pipelines                     |
| `store-pinecone`  | Voyage + Pinecone for SDK/CLI storage pipelines                   |
| `store-weaviate`  | Voyage + Weaviate for SDK/CLI storage pipelines                   |
| `server`          | REST server dependencies only                                     |
| `server-qdrant`   | REST server + Voyage + Qdrant                                     |
| `server-pinecone` | REST server + Voyage + Pinecone                                   |
| `server-weaviate` | REST server + Voyage + Weaviate                                   |
| `all`             | All optional integrations                                         |

```bash Combined extras theme={null}
pip install "ragrails[url,store-qdrant,rerank]"
```

## Provider keys

Set credentials in environment variables, not in docs examples, source files, or `.ragrails.toml`.

```bash OpenAI chat + Voyage embeddings theme={null}
export OPENAI_API_KEY="sk-..."
export VOYAGE_API_KEY="pa-..."
```

```bash Vector database keys theme={null}
export QDRANT_API_KEY="..."
export PINECONE_API_KEY="..."
export WEAVIATE_API_KEY="..."
```

Qdrant Cloud uses the same `qdrant`, `store-qdrant`, and `server-qdrant` extras as local Qdrant. Point the provider URL at your cloud endpoint and set `QDRANT_API_KEY`.

## Local Qdrant

The quickstart path uses local Qdrant:

```bash Docker theme={null}
docker run -p 6333:6333 qdrant/qdrant
```

## Verify

Check the import, CLI, and REST command before building a pipeline:

<CodeGroup>
  ```bash SDK theme={null}
  python -c "from ragrails import RagRails; print(RagRails.__name__)"
  ```

  ```bash CLI theme={null}
  ragrails --help
  ```

  ```bash REST API theme={null}
  ragrails-api --help
  ```
</CodeGroup>

Then continue with the [quickstart](/getting-started/quickstart), [environment variables](/getting-started/env-examples), or [vector databases](/reference/vector-databases).
