v6: NvidiaReranker sends "baseUrl"; the module reads "baseURL"
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Comienza en el archivo mencionado rerankers/NvidiaReranker.java e inspecciona cómo se serializa y deserializa el campo baseUrl. Actualiza su mapeo para que las nuevas configuraciones usen baseURL, mientras que las configuraciones antiguas con baseUrl sigan siendo legibles. Se considera terminado cuando la URL configurada llega al módulo reranker-nvidia sin recurrir al endpoint predeterminado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Corrected. The original report had this backwards: it claimed 28 classes used the wrong key. They are all correct.
rerankers/NvidiaReranker.java— cited in the original as the good example — is the one broken class. Rewritten below with the evidence.
Summary
rerankers/NvidiaReranker.java sends the base URL as baseUrl. The reranker-nvidia module reads baseURL. The value is stored in the schema and then ignored, so reranking silently goes to the default NVIDIA endpoint rather than the configured one.
Every other module config in the client (28 classes across vectorizers, generative and CohereReranker) already uses baseURL and is correct.
Why baseURL is canonical
Modules read the key through BaseClassSettings.GetPropertyAsString, which bottoms out in a plain case-sensitive map lookup — usecases/modulecomponents/settings/class_settings_property_helper.go:
value := h.GetSettings(cfg)[name]
and every module passes "baseURL":
// modules/text2vec-cohere/ent/class_settings.go
return cs.BaseClassSettings.GetPropertyAsString("baseURL", DefaultBaseURL)
// modules/reranker-nvidia/config/class_settings.go
return cs.propertyValuesHelper.GetPropertyAsString(cs.cfg, "baseURL", DefaultBaseURL)
text2vec-weaviate goes further and declares an explicit migration away from the lowercase spelling — modules/text2vec-weaviate/module.go:
{Name: "baseUrl", NewName: "baseURL"},
Empirical confirmation
Weaviate 1.39.0, reranker-nvidia enabled, base URL pointed at a stub reranker on the host. Two collections identical but for the key spelling:
baseURL -> stub receives POST /v1/retrieval/nvidia/reranking
query returns the stub's scores: [{"score":2},{"score":1}]
baseUrl -> stub receives nothing
"explorer: get class: extend: extend rerank: client rank:
connection to NVIDIA API failed with status: 401"
The 401 is the module falling back to the real NVIDIA endpoint — the configured URL never reached it.
What misled the original report
Two modules inject their default config under the key nobody reads:
// modules/text2vec-cohere/config.go, modules/text2vec-nvidia/config.go
"baseUrl": ent.DefaultBaseURL,
So for those two modules a baseURL sent by the client appears in the echoed schema next to a baseUrl default, which reads as "unrecognized passthrough key alongside the module's real default". It is the opposite: the client's key is the one the module reads, and the server's default is the one it ignores. Harmless in practice (the reader's fallback default is the same value), but worth reporting upstream as a server-side inconsistency.
Fix
@SerializedName(value = "baseURL", alternate = {"baseUrl"}) on NvidiaReranker.baseUrl, so new configs are written with the key the module reads and configs written by older clients still deserialize.
Version
- java-client 6.3.1
- Weaviate 1.39.0
- Lenguaje dominante
- Java
- Estrellas
- 34
- Forks
- 29
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de weaviate/java-client
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
weaviate/java-client#621 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
weaviate/java-client#619 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
weaviate/java-client#615 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
weaviate/java-client#603 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
weaviate/java-client#623 ·
Todos los issues de weaviate/java-client
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
type: possible bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
grimmory-tools/grimmory#2850 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
pdf
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
portfolio-performance/portfolio#6103 ·
Los mantenedores suelen responder en 7 días