OpenJ / Getting started / HTTP ServerServe a local model

HTTP Server

Reckoning has an HTTP server with industry-standard endpoints.

Getting started

Many clients interface with language models through HTTP services. Reckoning supports familiar endpoints such as /chat/completions and /embeddings.

Launch the server from the source code:

cd web
sh run.sh

Or use the Docker image:

docker run -p 8085:8080 -it \
  -v ~/.deliverance:/home/reckoning/.deliverance:ro \
  -e RECKONING_OPTS=" -Dspring.config.location=file:/reckoning/simple.yaml " \
  ecapriolo/reckoning:0.0.9

The server starts without a model loaded.

Fetch the model

From the repository root, use the packaged reckoning.sh helper. It builds the shaded client jar when needed, then runs the client command. See the script source.

./reckoning.sh fetch edwardcapriolo Qwen3-0.6B-JQ4 \
  --endpoint http://localhost:8085

Actual response:

{"status":"READY","owner":"edwardcapriolo","name":"Qwen3-0.6B-JQ4","error":null}

Load it into the server

Fetching puts the files in the cache. Use the same client to load the generation model:

./reckoning.sh serve edwardcapriolo Qwen3-0.6B-JQ4 \
  --type GENERATION \
  --endpoint http://localhost:8085

Send a chat completion

Once the model is loaded, send a familiar OpenAI-compatible request:

curl -s -X POST http://localhost:8085/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model":"Qwen3-0.6B-JQ4",
    "messages":[
      {"role":"user","content":"Tell me one food you like."}
    ],
    "temperature":0,
    "max_tokens":32
  }'

See HTTP API for request formats and supported options.