Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

v6: NvidiaReranker sends "baseUrl"; the module reads "baseURL"

Đang mở Phù hợp với người mới
#607 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

@dudanogueira đang làm issue này rồi.

Từ ngày 25/8/2026.

  • #610 của @dudanogueira — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
88/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java
Lĩnh vực
api

Hướng nghiên cứu

Bắt đầu trong tệp được đề cập rerankers/NvidiaReranker.java và kiểm tra cách trường baseUrl được serialize và deserialize. Cập nhật mapping của trường này để các cấu hình mới sử dụng baseURL, trong khi các cấu hình baseUrl cũ vẫn có thể đọc được. Hoàn tất khi URL đã cấu hình đến được module reranker-nvidia mà không fallback về endpoint mặc định.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
Java
Star
34
Fork
29
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của weaviate/java-client

Tất cả issue của weaviate/java-client

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.