http://localhost:9858 whose build includes the LLM_CALL plugin (GET /api/plugins/LLM_CALL answers 200; see Plugin overview). Add -H "X-API-Key: $YUKTA_API_KEY" if your server has keys.
Steps
1
Give the server your key
A key is never written into the workflow. Write it as Local Ollama needs no key.
decrypted:<name>; the default provider reads the environment variable YUKTA_SECRET_<NAME> of the server. Set it where the server starts:2
Add the LLM_CALL node
provider is openai (set baseUrl for any OpenAI-compatible service such as Groq, vLLM or a gateway; openai-compatible is an alias), anthropic or ollama (baseUrl defaults to the local server). Save as session.json:session.json
${payload.text}. timeout is in seconds (default 120), retries retries with backoff (default 0), temperature and maxTokens are optional. For local Ollama use "provider": "ollama", "model": "llama3.2" and drop apiKey.3
Start it with a prompt
4
Add a fallback model
A failed call fails the node by default. With
failureMode: CONTINUE and routeByStatus: true the node emits on success or failure, so the failure port can lead to a second LLM_CALL with another model:Verify it worked
out has the answer in payload.content and token counts in payload.usage, and the run ends SUCCESS. If it fails, GET /api/executions/$EXEC shows the model node at FAILURE; the log names the provider error (a wrong key, an unreachable baseUrl, a timeout).
Variations
- Several turns of history. Pass a
messagesexpression instead of a singleprompt: Keep session memory. - Tools. Offer the model tools with
tools: Use tools and MCP servers. - Spending limits. Add a
budget: Set token budgets. - Server-wide guardrails. Per-provider rate limits (
yukta.llm.rate-limit.<provider>) and prompt or answer filters (yukta.llm.deny-input-patterns,yukta.llm.deny-output-patterns,yukta.llm.max-input-chars) are server settings: Configuration.
Related
- AI plugins reference for every
LLM_CALLoption. - AI and deterministic work for where a model belongs in a workflow.
- Use variables and secrets.