|
# Saliency Inference API Template |
|
|
|
This is an API and Streamlit app to interact with a saliency model. The API is built using FastAPI and the Streamlit app is built using Streamlit. The API is built to be run in a Docker container. |
|
|
|
## Setup |
|
|
|
### Install dependencies |
|
|
|
```bash |
|
pip install -r requirements.txt |
|
``` |
|
|
|
### Run the API |
|
|
|
```bash |
|
uvicorn main:app --reload --workers 1 --host 0.0.0.0 --port 8080 |
|
``` |
|
|
|
This will run the FastAPI server on port 8080. |
|
|
|
### (Alternative) Run the API in a Docker container |
|
|
|
|
|
```bash |
|
docker build -t ds-api-template . |
|
docker run -p 8080:8080 ds-api-template |
|
``` |
|
|
|
You can test this is running by executing the same `curl` command as above, which should return the same response. |
|
|
|
NOTE: You will need to have Docker installed on your machine. To install Docker, follow the instructions [here](https://docs.docker.com/get-docker/). |
|
|
|
## Run the Streamlit App |
|
|
|
Once you've set up the API, you can run the Streamlit app to interact with the API. |
|
|
|
To run the Streamlit app, run the following command: |
|
|
|
```bash |
|
streamlit run app.py |
|
``` |
|
|
|
You will need to have Streamlit installed on your machine. To install Streamlit, run the following command: |
|
|
|
```bash |
|
pip install streamlit |
|
``` |
|
|
|
You will also need to update a `secrets.toml` file in a `.streamlit` directory at the root of the repo. This file should contain the following: |
|
|
|
```toml |
|
api_host = "http://localhost:8080" |
|
password = "<INSERT DESIRED PASSWORD HERE>" |
|
``` |
|
|