A restrição não era “fazer um modelo escrever uma cotação”
Um único prompt pode produzir uma frase. Ele não pode estabelecer se o modelo do sistema está pronto, manter uma interface responsiva, distinguir uma linha gerada de uma cotação histórica, evitar que uma quase duplicata entre em uma biblioteca ou deixar o produto útil quando a inferência falha. Essas decisões circundantes são o recurso.
RiseHush não possui back-end de inferência. Em dispositivos Apple Intelligence compatíveis, o aplicativo envia um prompt limitado ao modelo de linguagem do sistema do dispositivo da Apple e armazena um resultado aceito no SwiftData local. A página de inteligência voltada para o produto,, explica o que uma pessoa vê; este artigo documenta o caminho de implementação e seus limites. A própria API de disponibilidade da Apple continua sendo a autoridade para determinar se o modelo pode ser executado agora.
“Reprodutível” aqui significa que outro engenheiro pode repetir a matriz de prontidão, acessórios de rejeição, caminhos de tempo limite e verificações de persistência. Isso não significa que um modelo de linguagem não determinístico retornará a mesma prosa bit por bit. Esta página relata a arquitetura de origem inspecionada, e não novas métricas de qualidade do dispositivo físico; nenhum resultado de benchmark é inferido de um script de teste.
- Inferência:Modelo de linguagem do sistema Apple, no dispositivo.
- Contrato de saída:Um tipo Swift guiado, depois validação determinística.
- Armazenamento:Linhas SwiftData locais marcadas como geradas.
- Caminho de rede:Sem servidor de geração RiseHush ou modelo de terceiros.
Do prompt à biblioteca: o caminho da produção
Esta é a arquitetura por trás do gerador de cotações no dispositivo do RiseHush, conforme inspecionado na fonte atual do aplicativo. Ele documenta as portas, caminhos de falha e verificações que um desenvolvedor pode reproduzir; não é um modelo de referência ou uma afirmação de que todo rascunho é bom.
A ordem é deliberada. Verificações baratas e explicáveis são executadas antes de mais inferências; nenhuma gravação ocorre até que todos os portões exigidos tenham aceitado o candidato. Uma resposta transmitida é um texto de interface provisório, não uma citação salva.
Provar prontidão
O serviço verifica a disponibilidade do modelo do sistema e a localidade solicitada antes de criar uma sessão. A elegibilidade do dispositivo, o estado do Apple Intelligence, a prontidão dos ativos do modelo e o suporte a idiomas são resultados separados.
Restringir o rascunho
Um tipo @Generable Swift pede uma frase original, normalmente de 10 a 16 palavras e nunca mais que 18, sem atribuição, marcação, hashtags, emoji ou aspas.
Transmita o ator principal
Um novo LanguageModelSession é pré-aquecido para a solicitação. Instantâneos estruturados parciais podem atualizar a interface enquanto o loop dos Modelos Fundamentais permanece fora do ator principal.
Rejeite falhas óbvias
Antes de qualquer julgamento baseado em modelo, uma porta determinística verifica os limites de frases e palavras, concordância linguística, fragmentos proibidos, pontuação envolvente e padrões de clichês multilíngues.
Teste novidade e qualidade
Quando incorporações de comparação estão disponíveis, os sobreviventes enfrentam uma verificação semântica quase duplicada e, em seguida, um juiz guiado separado e uma pontuação de distinção. Um rascunho transmitido que perde um limite exigido é descartado em vez de persistido silenciosamente.
Persista o sobrevivente
Os metadados são calculados longe do ator principal. A inserção do SwiftData retorna ao ator principal, rotula a linha como gerada e não de domínio público e reverte as inserções transitórias se o salvamento falhar.
Reutilizar estado local
As superfícies do aplicativo e do sistema consomem a cotação armazenada. Os widgets leem dados persistentes; eles não ativam o modelo de linguagem dentro de uma linha do tempo de extensão.
A saída guiada estreita a forma; o código ainda possui política
O rascunho é do tipo Swift marcado como@Generable. Seu guia pede uma frase original, normalmente de 10 a 16 palavras com um prompt rígido de no máximo 18, e proíbe atribuição, agrupamento de aspas, hashtags, emoji, remarcações e quebras de linha. As opções de produção usam temperatura de 0,7 e teto de 40 tokens: espaço suficiente para o wrapper estruturado e frases curtas, sem convidar a saída de parágrafos.
Isso não torna a validação opcional. A Apple descreve a geração guiada como uma forma de produzir dados estruturados em Swift, e não como uma garantia de que o conteúdo atenda a todas as regras do produto. RiseHush, portanto, trata o valor digitado do modelo como um rascunho não confiável. O esboço resumido abaixo preserva a ordem de produção e os limites, ao mesmo tempo que omite detalhes de prompt e persistência específicos do aplicativo.
@Generable
private struct GeneratedQuoteDraft {
@Guide(description: "One original sentence; 10–16 words; no attribution")
var text: String
}
guard availability(locale: locale) == .available else {
throw GenerationError.unavailable
}
let stream = session.streamResponse(
to: prompt,
generating: GeneratedQuoteDraft.self,
options: generationOptions
)
for try await snapshot in stream {
yield(snapshot.content.text) // interface update
}
guard deterministicGate.passes(text, locale: locale),
await noveltyGate.isNearDuplicate(text) == false,
await judge.score(text).overall >= 6,
distinctiveness.score(text).overall >= 5
else {
throw GenerationError.noCandidate
}
return try persistAsGeneratedQuote(text)This is explanatory code, not a drop-in package. It intentionally omits app-private prompt construction, error mapping, and SwiftData model definitions.
Por que uma segunda passagem ainda não foi suficiente
A primeira camada de rejeição é determinística: saída vazia, resíduo de prompt proibido, aspas, limites de palavras e frases, discordância de idioma e clichês multilíngues. Um filtro de sabor Core ML local pode adicionar um sinal aprendido para inglês, alemão, espanhol, francês, italiano e português; ele é ignorado deliberadamente, em vez de aplicado incorretamente fora desses locais calibrados.
Em seguida, quando incorporações de comparação estão disponíveis, uma porta de novidade semântica compara o candidato com um catálogo local limitado e rejeita quase duplicatas com um limite de similaridade de cosseno de 0,90. Se o catálogo estiver vazio ou uma incorporação não puder ser produzida, essa camada passa em vez de alegar que a novidade foi provada. Uma nova sessão de Foundation Models pontua qualidade geral, originalidade e cordialidade. Esse juiz é uma sessão separada que utiliza o mesmo modelo de sistema – não um modelo independente e não uma revisão humana. Se não estiver disponível, recusar ou não puder produzir resultados estruturados, uma pontuação determinística fornece uma alternativa limitada.
Finalmente, uma pontuação de distinção recompensa imagens concretas, ação, especificidade emocional e agência, ao mesmo tempo que penaliza fórmulas e âncoras negativas recentes. A aceitação atualmente exige uma pontuação de juiz de pelo menos 6 e distinção de pelo menos 5. Esses são limites do produto, e não prova de originalidade ou segurança global.
| Preocupação | Implementação | Por que existe |
|---|---|---|
| Disponibilidade | Verifique o estado do modelo e o suporte de localidade antes de cada caminho de geração; registre por que a prontidão falhou. | “Compatível com Apple Intelligence” não significa que o modelo esteja pronto agora ou suporte o idioma ativo do visitante. |
| Estrutura | Use @Generable e @Guide para o formato de rascunho em vez de analisar uma resposta JSON inventada. | O tipo Swift é o contrato de saída, enquanto o código determinístico ainda possui regras de produto. |
| Simultaneidade | Mantenha o streaming do modelo e o trabalho de metadados longe do ator principal; cruzar de volta apenas para persistência do modelo local. | A virada dos modelos básicos pode levar alguns segundos, enquanto os objetos do modelo SwiftData permanecem vinculados ao ator. |
| Qualidade | Regras determinísticas em camadas, novidade semântica, um juiz separado e limites de distinção. | A geração guiada estreita a forma; não garante verdade, originalidade, tom ou qualidade do produto. |
| Latência | Pré-aqueça apenas em superfícies de primeiro plano com capacidade de geração e aplique orçamentos finitos: 45 segundos na interface, 20 para Siri, 120 para um conjunto de segundo plano. | Uma solicitação voltada ao usuário não deve esperar para sempre por ativos, limites de taxa ou uma mudança lenta do modelo. |
| Persistência | Armazene as linhas aceitas como registros gerados localmente, nunca como citações de autores de domínio público; reverter após uma falha no salvamento. | A escrita gerada precisa de proveniência durável e nunca deve herdar a atribuição de uma pessoa real. |
Mantenha o modelo afastado do ator principal
O serviço público retorna objetos do modelo SwiftData, portanto, seus pontos de entrada permanecem vinculados ao ator principal. O caro loop de resposta dos Modelos Fundamentais não. Cada solicitação possui um novoLanguageModelSession; a computação de streaming e metadados foge do ator principal, com pequenos saltos explícitos para sinais de alerta e persistência vinculados ao ator.
O streaming produz instantâneos parcialmente estruturados para a interface e, em seguida, passa o texto final pelas mesmas barras de portão, novidade, julgamento e distinção do caminho do pool. Um fluxo concluído cruza os atores por um identificador persistente em vez de mover um modelo SwiftData não-enviável. O chamador resolve esse identificador em seu próprio ator.
Apenas o texto aceito é inserido. O registro é de autoria como RiseHush, marcadosource = .generatedeisPublicDomain = false, marcado com seu código de idioma e enriquecido com metadados computados localmente. Se o salvamento falhar, as inserções transitórias serão excluídas antes que o erro retorne.
Aterre o concierge com três ferramentas somente leitura
Ask RiseHush não tem permissão para inventar o estado da biblioteca de uma pessoa. A API de chamada de ferramentas da Apple permite que uma sessão solicite funções restritas do aplicativo e incorpore os dados retornados. O aplicativo expõe três ferramentas limitadas somente leitura; nenhum chega a um servidor RiseHush.
Os argumentos da ferramenta e os tamanhos de saída são restritos. A pesquisa de cotação salva retorna no máximo oito resultados, a pesquisa no catálogo no máximo cinco e a produção total da ferramenta é limitada. A ferramenta de cotações salvas pode retornar itens correspondentes recentes, mas não aceita um intervalo de calendário – portanto, o produto não deve prometer que o modelo pode responder “o que salvei na semana passada?”
Pesquisa de cotação de catálogo
Pesquisa o catálogo de cotações agrupado por humor, categoria ou tema. Não pede ao modelo que invente uma fonte.
Pesquisa de cotação salva
Procura as citações salvas e favoritas da própria pessoa no armazenamento local.
Status da sequência
Lê a sequência de inspiração local para que o Ask RiseHush possa responder a uma pergunta pessoal local.
O comportamento de falha faz parte da arquitetura
A disponibilidade não é um booleano. Um dispositivo compatível ainda pode ter o Apple Intelligence desativado, a preparação de ativos do modelo ou um idioma que o modelo do sistema não suporta. A geração de tempo de execução também pode ser recusada, atingir uma barreira de proteção, exceder o contexto, ser limitada, encontrar uma solicitação simultânea, falhar na análise estruturada ou atingir o tempo limite.
RiseHush mapeia esses casos para o comportamento finito do produto. A geração de primeiro plano tem um orçamento de 45 segundos, Siri 20 segundos e geração de pool de segundo plano 120 segundos. A biblioteca com curadoria continua sendo uma alternativa honesta; o aplicativo nunca armazena prosa de espaço reservado como se um modelo fosse bem-sucedido.
| Sinal | Comportamento |
|---|---|
| Dispositivo não qualificado ou Apple Intelligence desativado | A geração não está disponível. A biblioteca com curadoria existente permanece utilizável sem fingir que ocorreu uma resposta do modelo. |
| Os ativos do modelo não estão prontos | A solicitação relata um estado não pronto. Uma vez que os ativos do modelo da Apple estejam presentes, a inferência em si não requer um servidor RiseHush. |
| Local solicitado não suportado | Um caminho com capacidade de tradução pode capturar totalmente um rascunho em inglês e traduzi-lo localmente onde a estrutura de tradução da Apple suporta o par; caso contrário, o aplicativo manterá o substituto selecionado. O texto traduzido é verificado quanto a um resultado não vazio, mas não repete toda a porta, novidade e pilha de juízes do idioma de destino. |
| Erro de proteção, recusa, limite de taxa, análise, contexto, simultaneidade ou tempo limite | O caminho de streaming não gira por meio de uma nova tentativa em linha ilimitada. Ele não retorna nenhum candidato gerado e permite que o produto retorne de forma limpa. |
| O rascunho não atinge um limite de qualidade | O caminho do pool finito pode tentar outro rascunho; a transmissão ao vivo é interrompida em vez de animar uma segunda resposta. O texto rejeitado não é salvo. |
| O salvamento do SwiftData falha | O serviço remove suas inserções transitórias e revela uma falha de persistência em vez de deixar uma cotação salva pela metade. |
Um protocolo de reprodutibilidade, sem resultados inventados
O protocolo abaixo separa a inspeção da fonte da prova do dispositivo ativo. Registre o hardware, a construção do sistema operacional, a localidade, o estado do Apple Intelligence, a prontidão do modelo, o prompt de fixação, o tempo decorrido, a ramificação do terminal, o motivo da rejeição e o resultado da persistência para cada execução. Os instrumentos de modelos básicos da Apple podem expor o comportamento de prompt, ferramenta, token e latência durante uma sessão real.
Uma versão legível por máquina está disponível como protocolo de avaliação de modelos básicos (JSON). Ele contém a matriz e o contrato de campo, não as medições fabricadas. Quando a execução de um dispositivo físico atual for aprovada, anexe suas linhas anônimas e publique valores agregados de aceitação, tempo limite e latência com o dispositivo e sistema operacional exatos.
- Use hardware compatível com um sistema operacional compatível. Teste o Apple Intelligence ativado e pronto, desativado e ainda baixando.
- Repita com um código de idioma compatível e um código de idioma não suportado; verifique se o aplicativo distingue o suporte do modelo da elegibilidade geral do dispositivo.
- Depois que os ativos do modelo estiverem prontos, repita no Modo Avião e confirme se nenhum endpoint de geração do RiseHush é necessário.
- Observe o texto parcial enquanto interage com a interface; confirme se a rolagem e os controles permanecem responsivos durante a virada do modelo.
- Feeds de fixtures vazios, com várias frases, muito longos, entre aspas, no idioma errado, clichês ou quase duplicados; nenhuma deve se tornar linhas geradas salvas.
- Acionar a rejeição do juiz e um tempo limite finito; confirme se nenhum rascunho rejeitado persiste e se a experiência selecionada permanece disponível.
- Forçar uma falha de salvamento local em um armazenamento de teste; confirme se os modelos inseridos foram revertidos.
- Exercite o Siri com seu orçamento de tempo mais curto e verifique se os widgets leem apenas dados persistentes em vez de iniciar a geração na extensão.
O que esta arquitetura não prova
Um pipeline de qualidade pode tornar a falha visível e reduzir a persistência ruim. Ele não pode transformar um pequeno modelo de linguagem no dispositivo em uma fonte histórica, provar que uma frase nunca foi escrita em lugar nenhum ou garantir o bom gosto. As linhas geradas, portanto, nunca são atribuídas a autores históricos e nunca entram no catálogo de domínio público.
A tradução merece um aviso à parte. Para uma localidade não suportada diretamente pelos Foundation Models, o caminho opcional bloqueia totalmente um rascunho em inglês e, em seguida, usa a estrutura de tradução no dispositivo da Apple, onde o par está disponível. O resultado traduzido é verificado quanto a uma resposta não vazia e persistido com novos metadados, mas atualmente não repete a porta completa do idioma de destino, a novidade e a sequência de julgamento após a tradução. Esse caminho é um retrocesso e não uma evidência de igual qualidade de geração direta.
As atualizações do modelo e do sistema operacional podem alterar a disponibilidade, a latência, o comportamento de recusa e a distribuição de resultados. A Apple recomenda revisitar os prompts e a avaliação à medida que os Modelos Básicos mudam. A matriz de teste do RiseHush deve, portanto, ser executada novamente após atualizações materiais da plataforma, em vez de tratar esta página como prova de benchmark permanente.
- O modelo do sistema não é usado como fonte de citação histórica de fatos ou atribuição de autor.
- A saída estruturada e uma segunda passagem de modelo reduzem os modos de falha; não provam que uma linha seja profunda, original no sentido global ou adequada para todos.
- A camada de novidade semântica passa quando seu catálogo limitado está vazio ou os embeddings de comparação não estão disponíveis; reduz quase duplicatas conhecidas, mas não certifica a originalidade global.
- A geração offline depende de hardware compatível, Apple Intelligence habilitado, comportamento de linguagem compatível e ativos de modelo já prontos.
- O filtro de sabor Core ML aprendido opcional é calibrado para inglês, alemão, espanhol, francês, italiano e português; outras localidades ainda recebem as camadas determinísticas e baseadas em modelo que as suportam.
- Um substituto traduzido localmente não é equivalente à geração direta no idioma de destino: o resultado traduzido atual não repete todas as camadas de qualidade após a tradução.
- As atualizações do sistema operacional e do modelo podem alterar a latência e a distribuição de saída, portanto, a matriz do dispositivo deve ser executada novamente após alterações materiais na plataforma.
- Esta página descreve a arquitetura atual, não uma promessa de que cada superfície de plataforma execute modelos básicos. Os widgets consomem intencionalmente resultados persistentes.
O RiseHush envia prompts de geração de cotações para seu próprio servidor?
Não. Em dispositivos compatíveis onde o modelo do sistema está disponível, o rascunho da cotação e os passes de qualidade são executados com as estruturas no dispositivo da Apple. RiseHush não possui endpoint de inferência para este caminho.
@Generable garante um orçamento bom ou original?
Não. Ela restringe o formato da produção estruturada. RiseHush ainda aplica formatação determinística e regras de linguagem, detecção semântica de quase duplicação quando embeddings de comparação estão disponíveis, uma sessão de julgamento separada, pontuação de distinção e comportamento de rejeição finita.
Outro desenvolvedor pode reproduzir a frase exata gerada?
Não é confiável. A saída do modelo de linguagem não é determinística e pode mudar com atualizações do modelo ou do sistema operacional. A unidade reproduzível é o protocolo de prontidão, fixação, portão, tempo limite e persistência – não prosa idêntica.
Todos os idiomas suportados recebem o mesmo caminho de qualidade?
As localidades com suporte direto recebem o caminho de geração comum, enquanto o filtro Core ML aprendido é calibrado para seis idiomas. Um substituto opcional traduzido localmente começa a partir de um rascunho em inglês fechado, mas não repete todas as camadas de qualidade do idioma de destino após a tradução.
- Apple Developer Documentation — Foundation Models framework overview: direct access to Apple’s on-device language model
- Apple Developer Documentation — SystemLanguageModel availability and unavailable reasons
- Apple Developer Documentation — supporting languages and locales with Foundation Models
- Apple Developer Documentation — generating Swift data structures with guided generation
- Apple Developer Documentation — LanguageModelSession, responses, and streaming
- Apple Developer Documentation — expanding generation with tool calling
- Apple Developer Documentation — improving the safety of generative model output
- Apple Developer Documentation — analyzing Foundation Models runtime performance
- Apple Developer Documentation — Foundation Models framework updates
- Apple Developer Documentation — SwiftData
- Apple Developer Documentation — Translation framework
