Skip to content
NHWe are part of the NETWORKERS HOME Group — Enterprise AI InfrastructurePart of the NETWORKERS HOME GroupVisit Networkers Home →
Ollalink
Get started

Chat and coding

Chat and coding run on POST https://ai.ollalink.com/v1/chat/completions with your GPU API key (X-NH-GPU-Key), in the OpenAI request shape (model, messages, max_tokens, temperature, stream, tools, tool_choice, response_format). Both are always on, and since 7 November 2026 both lanes are served by the same coding-grade model with the same limits: use chat for everyday questions, explanations and instruction following, coding for code, bug fixes and agents. Replies name the lane you sent (chat or coding).

Setting chat and coding
Default sampling temperature 0.6, top-p 0.9, top-k 64, min-p 0.05, repeat penalty 1.1 (send your own to override)
Output max_tokens 1–8,192 (default 8,192); max_completion_tokens means the same and has the same cap
Input the whole request (messages, tools, formatting) plus max_tokens must fit the lane’s context (400 with the token counts if not); body at most 1 MiB
  • Answers directly: no reasoning part by default; small tasks typically take 0.4–2.5 s. To think first on a hard task, send "chat_template_kwargs": {"enable_thinking": true}: the reasoning comes back in message.reasoning (streaming: delta.reasoning), the answer in message.content, and the reasoning counts towards max_tokens (expect roughly three times the tokens and time).
  • Tools (OpenAI format): tools with tool_calls replies, streamed or not, several calls in one reply; tool_choice auto, required, none or one named function; response_format json_object / json_schema. Your client runs the tools; ranges, patterns and formats in your schema are not enforced by the model, so check them in your tool.
  • Image input: add {"type": "image_url", "image_url": {"url": "data:image/png;base64,…"}} parts to a message — screenshots of terminal output, error dialogs, diagrams. Keep the body under 1 MiB (images under about 700 KB before base64).
  • Long answers: use "stream": true. A non-streaming request is dropped if nothing arrives for three minutes.
  • Conversations: send the same X-Conversation-Id header (up to 128 characters) on every turn of one conversation, so follow-up turns reuse the cached prompt and start faster.
  • When busy, a request waits briefly, then answers 503 with Retry-After; retry then.
  • Unfiltered: the model does not refuse requests; apply your own content rules if your product needs them.
  • Usage is counted in tokens (prompt plus answer, reasoning included) and shows under Usage in the dashboard.
Terminal window
curl https://ai.ollalink.com/v1/chat/completions -H "X-NH-GPU-Key: $YOUR_GPU_KEY" -H "Content-Type: application/json" \
-d '{"model": "chat", "messages": [{"role": "user", "content": "Give me two tips for a job interview."}]}'
curl https://ai.ollalink.com/v1/chat/completions -H "X-NH-GPU-Key: $YOUR_GPU_KEY" -H "Content-Type: application/json" \
-d '{"model": "coding", "stream": true,
"messages": [{"role": "user", "content": "Write a Python function is_valid_ipv4(s) that rejects leading zeros."}]}'

Vision and OCR use the same route with an image part; see Models. For translation, use POST /v1/translate — it keeps numbers and placeholders intact.