Install
Use the instructions here for your operating system or deployment strategy. They will walk you through building the project as a python environment for your OS.
OpenArc supports most OpenVINO devices (including AMD CPUs). You can use CPUs, NPUs, and GPUs; however these require different drivers.
Visit OpenVINO System Requirments for the latest information on drivers for your device and OS.
-
Install uv from astral
-
After cloning use:
uv sync -
Activate your environment with:
source .venv/bin/activateBuild latest optimum
uv pip install "optimum-intel[openvino] @ git+https://github.com/huggingface/optimum-intel"Build latest OpenVINO and OpenVINO GenAI from nightly wheels
uv pip install --pre -U openvino-genai --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly -
Optionally, set an API key to authenticate clients connecting to the server:
export OPENARC_API_KEY=api-keyPass
--use-api-keytoopenarc serve startto enforce authentication. See serve for details. -
To get started, run:
openarc --help
-
Install uv from astral
-
Clone OpenArc, enter the directory and run:
uv sync -
Activate your environment with:
.venv\Scripts\activateBuild latest optimum
uv pip install "optimum-intel[openvino] @ git+https://github.com/huggingface/optimum-intel"Build latest OpenVINO and OpenVINO GenAI from nightly wheels
uv pip install --pre -U openvino-genai --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly -
Optionally, set an API key to authenticate clients connecting to the server:
setx OPENARC_API_KEY openarc-api-keyPass
--use-api-keytoopenarc serve startto enforce authentication. See serve for details. -
To get started, run:
openarc --help
Instead of fighting with Intel's own docker images, we built our own which is as close to boilerplate as possible. For a primer on docker check out this video.
Prebuilt Images are available on ghcr.io.
Running OpenArc with compose:
download the docker-compose.yaml file from the repository (or clone the repository) and run:
docker-compose up -d
To run the battlemage-optimized image, edit the
docker-compose.yamlfile and switch to the alternativeimage:entry.
Optional Environment Variables for compose:
(you can also place these environment variables in a .env file in the root of the repository)
export OPENARC_API_KEY="openarc-api-key" # optional — pass --use-api-key to openarc serve start to enforce
export OPENARC_AUTOLOAD_MODEL="model_name" # model_name to load on startup
export MODEL_PATH="/path/to/your/models" # mount your models to `/models` inside the container
docker-compose up -d
Run OpenArc with docker (no compose):
docker run --name openarc \
--device /dev/dri:/dev/dri \
-v <path-to-your-models-folder>:/models \
-v <path-to-config-folder>:/persist \
-p 8000:8000 \
ghcr.io/searchsavior/openarc:latest
openarc:latest with openarc-battlemage:latest for the battlemage image)
Building the OpenArc docker images yourself
If you want to build the docker image yourself, clone the repository and build from the Dockerfile:
docker build --target standard -t ghcr.io/searchsavior/openarc:latest .
docker build --target battlemage -t ghcr.io/searchsavior/openarc-battlemage:latest .
Enter the container:
docker exec -it openarc /bin/bash
Pass --use-api-key to openarc serve start to require clients to authenticate. See serve for details.
Take a look at the Dockerfile and docker-compose for more details.