hashbrown

useUiDecision

Chooses UI for an input with a decision.

In candidates mode the model picks among app-rendered elements and the chosen elements are returned in order. Below minConfidence, or with no candidates, nothing is chosen.

API

export declare function useUiDecision(
  options:  UseUiDecisionCandidatesOptions ,
):  UseUiDecisionCandidatesResult; 

The candidates-mode options.

Examples

const { ui } = useUiDecision({
  input: query,
  select: 'one',
  candidates: [
    { id: 'flight', description: 'One aircraft', element: <FlightCard /> },
    { id: 'airport', description: 'An airport', element: <AirportCard /> },
  ],
});

API

export declare function useUiDecision(
  options:  UseUiDecisionChatOptions ,
):  UseUiDecisionChatResult; 

The chat-mode options.

Examples

const chat = useUiChat({
  system: 'Answer questions about live flights.',
  components: [flightCard, airportCard, weatherCard],
  tools: [getFlights],
});
const { sendMessage, isDeciding } = useUiDecision({
  chat,
  select: { max: 2 },
  system: 'A flight-tracking app. The input is a chat message.',
});