Guides / Cookbooks
Cookbooks · Techniques · Beginner · about 5 min
Ask many questions in one request
Put every question you have about a symbol into one request: forecasts and rules together, one round trip, and a fraction of the tokens of separate calls.
When to use it
Whenever you ask more than one thing about the same state. Each request carries a fixed overhead (the state, the model's setup), so splitting questions across requests repeats it.
The request
Three forecasts, two English "what is true now" questions and three rules, on SPY:
{ "model": "ora-fin1", "state": { "symbol": "SPY" }, "questions": { "up_week": { "type": "yes_no", "instructions": "Will the stock be higher in a week?" }, "drop5": { "type": "yes_no", "instructions": "Will it drop at least 5% at some point in the next month?" }, "rally5": { "type": "yes_no", "instructions": "Will it rally at least 5% at some point in the next month?" }, "above_200d": { "type": "yes_no", "instructions": "Is it above its 200-day moving average?" }, "above_50d": { "type": "yes_no", "instructions": "Is it above its 50-day moving average?" }, "overbought": { "type": "yes_no", "ask": "rsi(C,14) > 70" }, "near_high": { "type": "yes_no", "ask": "C >= 0.98 * highest(H,250)" }, "busy": { "type": "yes_no", "ask": "V > avg(V,20)" } } }Open this in the PlaygroundThe real response
{ "model": "ora-fin1", "answers": { "up_week": { "type": "yes_no", "yes_no": 0.598 }, "drop5": { "type": "yes_no", "yes_no": 0.203 }, "rally5": { "type": "yes_no", "yes_no": 0.229 }, "above_200d": { "type": "yes_no", "yes_no": 0.9451, "rule": "C > sma(C, 200)", "basis": "comparison", "explain": "today's close > sma200" }, "above_50d": { "type": "yes_no", "yes_no": 0.1128, "rule": "C > sma(C, 50)", "basis": "comparison", "explain": "today's close > sma50" }, "overbought": { "type": "yes_no", "yes_no": 0.0537, "rule": "rsi(C,14) > 70", "basis": "rule" }, "near_high": { "type": "yes_no", "yes_no": 0.0854, "rule": "C >= 0.98 * highest(H,250)", "basis": "rule" }, "busy": { "type": "yes_no", "yes_no": 0.9463, "rule": "V > avg(V,20)", "basis": "rule" } }, "usage": { "input_tokens": 516, "output_tokens": 32 }, "context": { "source": "server", "symbol": "SPY", "as_of": "2026-10-30" }, "version": "ora-fin-0.1.1" }For comparison,
up_weekasked on its own:{ "model": "ora-fin1", "answers": { "up_week": { "type": "yes_no", "yes_no": 0.598 } }, "usage": { "input_tokens": 290, "output_tokens": 4 }, "context": { "source": "server", "symbol": "SPY", "as_of": "2026-10-30" }, "version": "ora-fin-0.1.1" }The numbers
Eight questions in one request used 516 input tokens. One question alone used 290, so eight separate requests would be about 8 × 290 = 2320, roughly 4 times as many, and eight round trips instead of one. The shared question came back the same both ways (
up_week0.598 and 0.598): answers don't depend on what else is asked.The code
Requires curl 7.76+. Save as run.sh, then: bash run.shcurl -sS https://oramodel.com/v1/systemone \ -H "Authorization: Bearer $JEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "ora-fin1", "state": { "symbol": "SPY" }, "questions": { "up_week": { "type": "yes_no", "instructions": "Will the stock be higher in a week?" }, "drop5": { "type": "yes_no", "instructions": "Will it drop at least 5% at some point in the next month?" }, "rally5": { "type": "yes_no", "instructions": "Will it rally at least 5% at some point in the next month?" }, "above_200d": { "type": "yes_no", "instructions": "Is it above its 200-day moving average?" }, "above_50d": { "type": "yes_no", "instructions": "Is it above its 50-day moving average?" }, "overbought": { "type": "yes_no", "ask": "rsi(C,14) > 70" }, "near_high": { "type": "yes_no", "ask": "C >= 0.98 * highest(H,250)" }, "busy": { "type": "yes_no", "ask": "V > avg(V,20)" } } }'Variations
- Name questions for what you will do with them (
drop5,above_200d): the names are what action rules refer to. - One request per symbol, many questions each, many symbols in parallel: Rank a watchlist.
- Rules and forecasts mix freely; rules need
state.symbol.
- Name questions for what you will do with them (
Information, not investment advice. Every number on this page is a real response for the session shown; answers change with each session.