Run your first SLM query
Prerequisites
- The local SLM service and Doorman running and reachable (see Run local SLM inference)
curl, or the reference script atservice-slm/scripts/slm-chat.shif you have it available- Your module identifier for the
X-Foundry-Module-IDheader
Purpose
Submit a first inference request and get a response back — under a minute once Doorman is up. This is not a console task: F9 in os-console is a read-only health dashboard with no way to type or submit a query, so the real path is a direct HTTP call to Doorman.
Procedure
-
Confirm Doorman is reachable. The default local address is
http://127.0.0.1:9080, though your deployment may differ. -
Send a request to the chat-completions endpoint:
Headers are forgiving in development: Doorman generates safe defaults when they're absent, specifically so ad-hoc curl probes like this one work without extra setup. Still, set
X-Foundry-Module-IDexplicitly once you're doing real work — it's how the platform attributes usage to your module. -
Read the response. It arrives as a single JSON payload, not a stream — the whole reply lands in one
contentfield once the model finishes, not token by token.Note: a reference REPL script exists at
service-slm/scripts/slm-chat.shthat wraps this same call in a loop, so you can keep a conversation going without retyping headers each time. Despite what an older internal note claims, that script does not stream either — it's the same one blocking call per turn, just looped.
Expected outcome
A JSON response containing the model's reply in its content field, returned as one complete payload.
Verification
Confirm the response's content field holds a real, on-topic reply rather than an error body. An HTTP error status or a JSON error field means Doorman couldn't complete the request — check that the local SLM service is actually running before retrying.
Note: you don't need any specific inference tier "up" for this to work. Doorman defaults ordinary requests to the local tier; a higher tier only comes into play for requests explicitly marked high-complexity, and even then it falls back to the local tier automatically on failure rather than failing your request.
Rollback
Nothing to roll back — a query is read-only against your own conversation history. Sending another request doesn't require undoing the last one.
Next steps
- Read the command ledger — read platform activity history via its own real HTTP API
- Use the F-key cartridge model — what F9 actually shows, now that you know it isn't where queries go
See also
- Run local SLM inference — start the local SLM service and Doorman on a new deployment
- Doorman protocol — Doorman's routing and circuit-breaker model
- SLM Rust stack architecture — the full inference stack and tier definitions