When the reranker hung on rerank=True there were zero log lines after 'retrieved=N (no threshold)', which made it impossible to tell whether the hang was in _load (CrossEncoder construction), in get_reranker's lock acquisition, or in predict. Structlog routing may also be the culprit since we never saw the 'Loading RAG reranker' info line. Add unconditional stderr prints at each milestone — entered, device resolved, before CrossEncoder, after CrossEncoder, rerank entered, predict starting, predict done. These bypass any logger config and show up directly in /tmp/studio.log next to the rest of the captured stdout/stderr. Leaving structlog logger.info calls in place too so the structured stream still gets the same data when routing works. |
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||
| src-tauri | ||
| __init__.py | ||
| install_llama_prebuilt.py | ||
| install_python_stack.py | ||
| LICENSE.AGPL-3.0 | ||
| package-lock.json | ||
| package.json | ||
| setup.bat | ||
| setup.ps1 | ||
| setup.sh | ||
| Unsloth_Studio_Colab.ipynb | ||