Bringing Laya onto an iPhone: a local decision-model experiment
Disclosure: I am the maker of δ»η±ζε. This article was prepared with AI assistance from the project's implementation notes.
A question such as ‘Does he like me?’ looks simple in an interface. It is much harder to decide what an answer should mean.
A model cannot see the other person's thoughts, and an attractive percentage does not change that.
I built a Chinese-language iPhone app to explore a narrower interaction: describe a situation, compare candidate answers, and leave room for uncertainty. Here is the architecture and the product boundary behind that experiment.
A decision model instead of a cloud conversation
The app uses a Core ML conversion of laya-multilingual to compare supplied answer options for the question and context. For a relationship question, those options might be affection, no affection, and uncertainty. The wording needs to fit the actual question.
This is not an unrestricted chatbot generating long responses through a hosted language model. Short conclusions and suggestions use templates. Chinese speech transcription uses SenseVoice locally, and history remains on the device.
Chinese text or speech
↓
Local transcription, when needed
↓
Question + context + candidate answers
↓
Laya through Core ML
↓
Relative answer scores + template-based response
Keeping analysis on-device is useful when the input is personal. It also shifts responsibilities to the app: model packaging, storage, loading, and keeping the interface responsive become part of the mobile experience.
I am not claiming a latency or battery benchmark here; those require measured device tests.
What the percentages do-and do not-mean
A displayed answer score is a relative preference among the options given to the model. It is not evidence that a person has a corresponding probability of being in love.
An uncertain result belongs in the interaction rather than being treated as an error. More context can help frame a question, but it still cannot establish another person's internal state. The interface should make that limit visible close to the result.
The image below is an actual Chinese-language result screen. It illustrates the interface, not a validated prediction about anyone.
Tests I would like to make more systematic
There are useful questions to investigate before making stronger claims about this type of product:
- Does reversing candidate order change the preferred answer?
- Does a neutral paraphrase of the same story change it substantially?
- Do contradictory details lead to more uncertainty?
- Do reassuring or negative words dominate otherwise equivalent context?
- Does the UI remain responsive while models load and transcription runs?
These are proposed evaluation directions, not completed experimental results. A reproducible set of cases would be more useful than an unsupported accuracy number.
Where JEV and System One fit
Laya's upstream project describes a non-autoregressive System 1 decision engine and an optional Jev-compatible server interface at /v1/systemone.
That is related technical context, not the architecture of this iOS app: the app uses local Laya inference and does not call the Jev API or run that server.
The conversion project is available at laya-coreml. The app itself is not being presented as an open-source project. The current interface is Simplified Chinese. The project website shows the screens and limitations.
If you are working on a local decision model, I would be interested in comparing evaluation approaches-especially how you prevent users from interpreting a relative score as certainty.
Comments
No comments yet. Start the discussion.