The API powering the Sprig LLM functionality.
In order to run the project, you will need the following already setup.
- Python
- Postgres
After cloning the repository and cd llm-api, do the following
Install the dependencies with
pip install -r requirements.txtCopy the .env.example into a .env
cp .env.example .envIn a new terminal window, start the postgresql server and create a new user with
CREATE USER <username> WITH ENCRYPTED PASSWORD <password>;and create a database named sprigllmtest with
CREATE DATABASE sprigllmtest;In the .env replace the value of PG_DATABASE_URL with your connection string of the form postgresql://<username>:<password>@localhost:5432/sprigllmtest
Start the development server with
uvicorn main:app --reloadIf you don't get any errors, the app should be running properly.
An API requests looks like
{
message: ,
session_id: ,
email: ,
}
The API will return a reponse containing the raw output from the model and a property called codes containing the list of code blocks the API extracted from the model response.
By default, the API keeps a history of the requests sent to it so you don't have to worry about sending a list of the previous messages.
By default, localhost:3000 is an authorized origin in teh LLM API
If you want to allow a URL authorized, add the URL to allow_origins in the CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=[
"https://sprig.hackclub.com",
"http://localhost:3000",
"https://sprig-git-sprig-ai.hackclub.dev",
"https://sprig.hackclub.com",
+ "https://your-new-url.com"
],If you've got questions or would like to learn more, please visit #hq-engineering on Hack Club's slack.