The official AI microservice of Bootstrap Academy.
This microservice provides a foundational API endpoint for AI integrations, with an emphasis on extendibility. Currently, it uses OpenAI's GPT-4, but it can easily accommodate other models and providers.
If you would like to submit a bug report or feature request, or are looking for general information about the project or the publicly available instances, please refer to the Bootstrap-Academy repository.
Accessible only to administrators with a valid API key. This endpoint takes in prompts and returns an AI-generated response.
{
"system_prompt": "You are an assistant.",
"user_prompt": "What's the weather today?"
}
{
"output": "I am an AI model and do not have live weather data."
}
- Install Python 3.10, Poetry and poethepoet.
- Clone this repository and
cd
into it. - Run
poe setup
to install the dependencies. - Run
poe api
to start the microservice. You can find the automatically generated swagger documentation on http://localhost:8001/docs.
poe setup # setup dependencies, .env file and pre-commit hook
poe api # start api locally
poe test # run unit tests
poe pre-commit # run pre-commit checks
poe lint # run linter
poe format # run auto formatter
poe isort # sort imports
poe black # reformat code
poe ruff # check code style
poe mypy # check typing
poe flake8 # check code style
poe coverage # run unit tests with coverage
poe alembic # use alembic to manage database migrations
poe migrate # run database migrations
poe env # show settings from .env file
poe jwt # generate a jwt with the given payload and ttl in seconds
poe check # check course definitions
poe sync_skills # push local skills to backend (deprecated)
Configure the Python interpreter:
- Open PyCharm and go to
Settings
➔Project
➔Python Interpreter
- Open the menu
Python Interpreter
and click onShow All...
- Click on the plus symbol
- Click on
Poetry Environment
- Select
Existing environment
(setup the environment first by runningpoe setup
) - Confirm with
OK
Setup the run configuration:
- Click on
Add Configuration...
➔Add new...
➔Python
- Change target from
Script path
toModule name
and choose theapi
module - Change the working directory to root path ➔
Edit Configurations
➔Working directory
- In the
EnvFile
tab add your.env
file - Confirm with
OK