Soluções para obter resultados de streaming
O segredo para aprimorar a experiência interativa é obter efeitos responsivos em tempo real. O ZipAgent faz isso por meio dorun_streamsuporta nativamente a saída de streaming, veja a seguir as etapas para fazer isso:
- Etapa 1 Importar os componentes necessáriosImportação da estrutura
StreamEventTypeenumeração eRunnerassemelhar-se - Etapa 2 Criar uma solicitação de streaming: Uso
Runner.run_stream()Substituição de equipamentos convencionaisrun()metodologias - Etapa 3 Manipulação do fluxo de eventosEventos principais: Os dois eventos principais podem ser obtidos percorrendo-se o objeto de fluxo de eventos:
ANSWER_DELTAConteúdo incremental gerado pelo modeloTOOL_CALLAvisos do sistema quando as ferramentas são chamadas
Exemplo de código de implementação típico:
stream = Runner.run_stream(agent, "问题内容")
for event in stream:
if event.type == StreamEventType.ANSWER_DELTA:
print(event.content, end="", flush=True)
elif event.type == StreamEventType.TOOL_CALL:
print(f"n正在调用工具: {event.tool_name}...")
Recomendações de otimização::
1. usar o protocolo WebSocket para transferir dados de streaming em aplicativos da Web
2. adicione animação do cursor para melhorar a percepção do usuário durante o processo de espera
3. destaque de sintaxe para conteúdo especial (por exemplo, blocos de código)
Essa resposta foi extraída do artigoZipAgent: uma estrutura Python leve para criar assistentes de IA exclusivos em 5 minutosO































