Skip to content

Health Endpoint

Returns the service status and framework version. Used by make verify and the test harness for health monitoring.


Request

GET /health

No parameters required.


Response

Success (200)

{
  "framework": "langchain",
  "status": "ok",
  "version": "0.3.35"
}
Field Type Description
framework string Framework name: langchain, llamaindex, unstructured, haystack
status string Always "ok" when the service is running
version string Installed framework version

Examples

Check All Pipelines

for port in 8100 8101 8102 8103; do
  echo -n "Port ${port}: "
  curl -sf "http://localhost:${port}/health" | jq -r '"\(.framework) \(.version) [\(.status)]"'
done

Expected output:

Port 8100: langchain 0.3.35 [ok]
Port 8101: llamaindex 0.12.33 [ok]
Port 8102: unstructured 0.17.2 [ok]
Port 8103: haystack 2.12.1 [ok]

ChromaDB Health

ChromaDB uses a different health endpoint:

curl http://localhost:8000/api/v1/heartbeat
{"nanosecond heartbeat": 1711987200000000000}

Ollama Health

curl http://localhost:11434/api/tags | jq '.models | length'

Returns the number of loaded models (should be ≥1).


Using Health Checks in Scripts

check_health() {
    local name=$1 port=$2
    if curl -sf "http://localhost:${port}/health" >/dev/null 2>&1; then
        echo "[✓] ${name}"
    else
        echo "[✗] ${name}"
        return 1
    fi
}

check_health "langchain"    8100
check_health "llamaindex"   8101
check_health "unstructured" 8102
check_health "haystack"     8103

Next Steps