@danhachuel/pandanews 0.4.7 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/backend/__pycache__/__init__.cpython-314.pyc +0 -0
- package/backend/app/main.py +1 -1
- package/backend/core/__pycache__/__init__.cpython-314.pyc +0 -0
- package/backend/core/__pycache__/config.cpython-314.pyc +0 -0
- package/backend/core/__pycache__/llm_router.cpython-314.pyc +0 -0
- package/backend/core/llm_router.py +3 -1
- package/backend/tests/test_llm_fallback.py +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Todas as versões publicadas são registradas aqui antes do publish (regra em AGENTS.md). A etiqueta visual usa PATCH de dois dígitos (ex.: 0.1.00); o registry npm normaliza para a versão canônica (ex.: 0.1.0).
|
|
4
4
|
|
|
5
|
+
## 0.4.08 (2026-11-08)
|
|
6
|
+
|
|
7
|
+
- **Mantém o rótulo `gemini` em `noticias.llm_provider`**: a reescrita do router (0.4.07) devolvia o id interno `google`, o que regrediria o alinhamento banco/UI feito na 0.4.05/0.4.06. `gerar_texto` volta a devolver `"gemini"` quando o provedor do Google responde — Dashboards, filtros e exibição continuam consistentes
|
|
8
|
+
- Nenhuma outra mudança funcional
|
|
9
|
+
|
|
5
10
|
## 0.4.07 (2026-11-08)
|
|
6
11
|
|
|
7
12
|
- **CORREÇÃO DEFINITIVA da NVIDIA NIM — réplica do Thunderbolt**: `backend/core/llm_router.py` reescrito para falar com provedores OpenAI-compatible por **HTTP direto** (`POST {base_url}/chat/completions`, `Authorization: Bearer`, `Content-Type: application/json`, `Accept: application/json`), a mesma estrutura que funciona no projeto Thunderbolt — `requests` trocado por `httpx`, já dependência do projeto
|
|
Binary file
|
package/backend/app/main.py
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -160,7 +160,9 @@ def gerar_texto(db, prompt: str, max_tokens: int = 1024) -> tuple[str, str]:
|
|
|
160
160
|
try:
|
|
161
161
|
texto, modelo = chamar_provedor(db, provider, prompt, max_tokens)
|
|
162
162
|
logger.info("LLM: %s respondeu (modelo %s)", nome, modelo)
|
|
163
|
-
|
|
163
|
+
# Banco/UI rotulam o provedor do Gemini como "gemini" (id de exibição,
|
|
164
|
+
# não o id interno "google") — mantido desde a 0.4.05.
|
|
165
|
+
return texto, "gemini" if provider == "google" else provider
|
|
164
166
|
|
|
165
167
|
except Exception as exc: # noqa: BLE001 — fallback implacável: TUDO troca de provedor
|
|
166
168
|
ultimo_erro = exc
|
|
@@ -105,7 +105,7 @@ llm_router.logger.setLevel(logging.INFO)
|
|
|
105
105
|
|
|
106
106
|
texto, provedor = llm_router.gerar_texto(_db_com_chaves(), "escreva uma noticia")
|
|
107
107
|
|
|
108
|
-
check(provedor == "
|
|
108
|
+
check(provedor == "gemini", "NVIDIA com 410 -> o Gemini assume (provedor devolvido: gemini)")
|
|
109
109
|
check("noticia gerada pelo gemini" in texto, "o texto devolvido é o do Gemini, não uma exceção")
|
|
110
110
|
|
|
111
111
|
mensagem_esperada = "Erro na NVIDIA (410 Gone"
|
package/package.json
CHANGED