Recuperar com segurança streams LLM interrompidos
Recuperar com segurança streams LLM interrompidos: guia de produção com decisão explícita, artefato reutilizável, testes de falha, sinais operacionais e limites com fontes.
Recuperar com segurança streams LLM interrompidos: guia de produção com decisão explícita, artefato reutilizável, testes de falha, sinais operacionais e limites com fontes.
Resposta direta
Implemente Recuperar com segurança streams LLM interrompidos como contrato de controle de confiabilidade, não como configuração isolada. Fixe protocolo, owner, evidência e rollback antes de mover tráfego. Pontos de controle: first_event, partial_output, terminal_event, replay_policy.
A conclusão é fixada pela tabela de contrato e pelo exemplo determinístico. llm-stream-disconnect-recovery não entra em rollout se um controle obrigatório não tiver evidência de wire, releitura persistente ou owner.
Escopo e responsabilidades
Separe a tarefa do cliente do plano de controle. O cliente controla arquivo ou variável; o gateway controla autenticação, rotas, limites, contabilidade e tentativas; o provedor controla protocolo nativo e capacidades voláteis. Uma resposta de texto comprova apenas um caminho.
O artigo possui decisão, riscos e verificação; a documentação viva mantém comandos e passos de interface voláteis. Isso cria uma árvore de capacidades sem duplicar o owner da intenção.
O registro owner desta página é llm-stream-disconnect-recovery; os controles fixos são first_event, partial_output, terminal_event, replay_policy. Cada valor é verificado no limite de wire ou estado persistente, nunca inferido de marketing.
Artefato prático: Recuperar com segurança streams LLM interrompidos
Este registro de revisão é o artefato entregável. Valores técnicos explícitos permitem comparar configuração, evidência de wire e estado persistente sem depender de captura de tela.
| Controle | Decisão fixa | Evidência |
|---|---|---|
stream_identity |
one_attempt_id_per_connection |
logical_request_id + attempt_id + provider_request_id |
first_effective_event |
record_exact_transition |
event_type + timestamp + bytes_received |
partial_output |
incomplete_not_success |
last_event_type + buffered_item_ids + incomplete_marker |
tool_arguments |
decode_only_after_terminal_boundary |
call_id + fragment_sequence + completion_event |
replay |
policy_depends_on_side_effect_risk |
replay_decision + new_attempt_id + prior_attempt_link |
billing |
retain_each_attempt_and_final_settlement |
attempt_usage + terminal_state + charge_record |
Exemplo determinístico
O exemplo usa placeholders e entradas determinísticas. Troque apenas identificadores revisados, nunca segredos ou conteúdo de clientes, e preserve o snapshot exato.
CONNECTING -> STREAMING -> TERMINAL_SUCCESS
| | \
| | -> DISCONNECTED_AFTER_PARTIAL -> INCOMPLETE
| -> CLIENT_CANCELLED -> CANCELLED
-> DISCONNECTED_BEFORE_FIRST_EVENT -> RETRY_ELIGIBLE?
Never concatenate output from two attempt IDs.
Never execute partial tool arguments.
Escada de verificação
Execute as etapas em ordem. Um teste posterior não compensa um limite anterior ausente; toda tentativa deve ligar-se a uma solicitação lógica.
- Congele cliente, política do gateway, alias de modelo, rotas e baseline observável. Registro de evidência para
stream_identity: aplicarone_attempt_id_per_connectione manterlogical_request_id + attempt_id + provider_request_id. - Execute prova positiva determinística e guarde resposta, request ID, rota, estado final e uso. Registro de evidência para
first_effective_event: aplicarrecord_exact_transitione manterevent_type + timestamp + bytes_received. - Execute o caso negativo, limite ou desconexão e confirme a camada de falha. Registro de evidência para
partial_output: aplicarincomplete_not_successe manterlast_event_type + buffered_item_ids + incomplete_marker. - Repita pelo protocolo real; não deduza suporte nativo de outro endpoint compatível. Registro de evidência para
tool_arguments: aplicardecode_only_after_terminal_boundarye mantercall_id + fragment_sequence + completion_event. - Faça rollout para coorte limitada com owner, expiração, limite de parada e rollback. Registro de evidência para
replay: aplicarpolicy_depends_on_side_effect_riske manterreplay_decision + new_attempt_id + prior_attempt_link. - Releia configuração e contabilidade persistentes; remova acesso e dados temporários. Registro de evidência para
billing: aplicarretain_each_attempt_and_final_settlemente manterattempt_usage + terminal_state + charge_record.
Falhas a evitar
Cada item abaixo bloqueia a publicação. HTTP 200, dashboard ou demonstração não substituem esses controles.
blind_reconnect— Se ocorrerblind_reconnect, interrompa o rollout e use owner, evidência e rollback definidos; uma prova positiva não anula a falha.partial_success— Se ocorrerpartial_success, interrompa o rollout e use owner, evidência e rollback definidos; uma prova positiva não anula a falha.cross_attempt_splice— Se ocorrercross_attempt_splice, interrompa o rollout e use owner, evidência e rollback definidos; uma prova positiva não anula a falha.partial_tool_execution— Se ocorrerpartial_tool_execution, interrompa o rollout e use owner, evidência e rollback definidos; uma prova positiva não anula a falha.
Sinais e condições de parada
Observe sucesso e dano juntos. O limite pertence à política do workload; fixe SLO e denominador antes da janela.
| Sinal | Limite | Ação |
|---|---|---|
disconnect_before_first_event_rate |
workload_SLO_threshold |
inspect_connect_and_header_phases |
disconnect_after_partial_rate |
workload_SLO_threshold |
mark_incomplete_and_stop_auto_retry |
stream_without_terminal_event |
0_success_classifications |
reclassify_and_investigate |
cross_attempt_fragment_count |
0 |
disable_recovery_path |
Limites do Modelflare
Modelflare centraliza rotas compatíveis e nativas, chaves limitadas, grupos, uso e falhas. Um canal não prova todos os campos, aliases, retenção, regiões ou fallbacks. Verifique pelo protocolo nativo e use a liquidação persistente como verdade financeira.
É um método de implementação, não certificação, conclusão legal, histórico de uptime ou benchmark universal. Revalide contrato, modelos, preços, retenção e regiões em T-1; altere a data se um fato central mudar.
Continuar pelo cluster temático
O artigo pai cobre a decisão ampla, o irmão o próximo passo e a documentação a configuração atual. Links no corpo são necessários porque o CMS gerenciado não possui related-slug.
Perguntas frequentes
Recuperar com segurança streams LLM interrompidos: Uma solicitação correta aprova o rollout?
Não. Caso negativo, rollout limitado, releitura persistente e parada são gates separados.
Recuperar com segurança streams LLM interrompidos: Fixar modelos e preços meses antes?
Não. Use placeholders ou snapshots e revalide em T-1.
Recuperar com segurança streams LLM interrompidos: Que evidência guardar?
IDs sem conteúdo sensível, versão, horários, estado, uso, cobrança final e decisão.
Fontes e data de verificação
Fontes verificadas em 2026-08-07. Elas definem contratos e princípios, não rotas sem teste ou estados futuros.