Long-running NLIP knowledge agent for answering questions about NLIP.
The service accepts ECMA-430-shaped NLIP messages:
{
"messageType": "request",
"format": "text",
"subformat": "english",
"content": "What is NLIP?"
}It responds with:
{
"messageType": "response",
"format": "json",
"subformat": "nlip-agent-response",
"content": {
"agent": "nlip-knowledge-agent",
"answer": "...",
"sources": []
}
}python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
mkdir -p data
cp data/knowledge_base.sample.json data/knowledge_base.json
uvicorn app:app --host 0.0.0.0 --port 8080pip install -r requirements.txt
python build_knowledge_base.pyThe builder loads the NLIP website, ECMA TC56 page, ECMA-430 through ECMA-434, ECMA TR-113, and raw Markdown files from nlip-project/security_guidelines.
JETSTREAM_CHAT_URL: OpenAI-compatible Jetstream inference endpointJETSTREAM_API_KEY: optional API key if required by the endpointNLIP_MODEL_NAME: model name, for examplellama-4-scoutKNOWLEDGE_BASE_PATH: path to the retrieval knowledge baseCONFIDENTIAL_AGENT_URL: Skupper-reachable AWS confidential agent URL
curl -s -X POST http://localhost:8080/nlip \
-H 'Content-Type: application/json' \
-d '{"messageType":"request","format":"text","subformat":"english","content":"What is NLIP?"}'