Reasoning models return empty content and polish silently falls back to raw

Aberta
#1,303 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
63/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
rust
Domínio
ai

Direção de pesquisa

Start by tracing how the polish step handles a successful model response with empty content, and how the Verify channel checks responses. Reproduce the reported case with deepseek-flash and a 20-token budget, then check the provider documentation. Done means empty content with non-zero reasoning tokens produces a clear error instead of inserting the raw transcript, with the provider guidance updated.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Environment: OpenLess 2.0.2-Beta.3+build.20261026-c9f49c60, macOS 27.2 arm64.

Description

deepseek-flash is a reasoning model: it spends the whole completion budget on reasoning_content and returns an empty content. With a tight max_tokens the polish step yields nothing, and the app keeps the raw transcript — again silent verbatim output.

Channel "Verify" passes regardless, because it only checks that the request succeeds.

Reproduced directly against the API with the same key:

  • deepseek-flash, 20-token budget → content: "", 20 reasoning tokens, finish_reason: length
  • deepseek-chat, same prompt → content returned in 0.57 s, 0 reasoning tokens
Suggestion

Detect an empty content with non-zero reasoning_tokens and report "model returned no text — pick a non-reasoning model" instead of silently inserting the raw transcript. Worth a line in the provider docs as well.

Linguagem predominante
Rust
Estrelas
3.7k
Forks
349
Merge médio
1d 18h
PRs com merge (30d)
93

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Open-Less/openless

Todas as issues de Open-Less/openless

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.