JackVines's picture
Update README.md
33699e0 verified
# 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>"
```