Local OpenAI-compatible models
EDSL can run surveys against any server that implements the OpenAI chat-completions API, including llama.cpp, Ollama, LM Studio, vLLM, SGLang, and LocalAI.Create a portable model list
Run locally
--local disables Expected Parrot inference. Match --max-concurrency to the number of server slots or workers.
llama.cpp example
--parallel to obtain the context available to each request. For simple structured surveys, disabling optional reasoning can prevent hidden reasoning tokens from exhausting the response budget.
Other servers
Point--base-url at the server’s OpenAI-compatible /v1 endpoint:
- Ollama:
http://127.0.0.1:11434/v1 - LM Studio: commonly
http://127.0.0.1:1234/v1 - vLLM: commonly
http://127.0.0.1:8000/v1 - SGLang: commonly
http://127.0.0.1:30000/v1
ollama service remains available as a convenience alias for its default local endpoint.
Verify the connection
First check the server directly:Partial results
Local runs report completion information in the CLI response:run_status is partial and the warnings array contains PARTIAL_RESULTS. The successfully completed rows are still saved.
Troubleshooting
Requests time out in a batch
Match--max-concurrency to the server’s slots or workers and increase --api-timeout. A four-slot server is a good match for --max-concurrency 4.
Parallel requests have too little context
Some llama.cpp configurations divide the total context across parallel slots. For example,-c 16384 --parallel 4 provides 4096 tokens per slot when separate KV caches are used.
Simple structured questions exhaust the output limit
Reasoning-capable models may consume hidden reasoning tokens before returning JSON. For simple surveys, disable reasoning in the server or increase the reasoning/output budget intentionally. With llama.cpp, use--reasoning off when reasoning is not needed.
Authentication
Use--api-key-env NAME for authenticated endpoints and export the corresponding environment variable before running EDSL. EDSL serializes the variable name, not its secret value.
Tests
The self-contained tests run as part ofmake test. Run only this feature’s tests with:
