[Lane 4 · kotlin-core] tokenizer.json parity — fixture-gated jvmTest replaying the goldens through TokenizerFactory.fromTokenizerJson
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- Nửa ngày
- Mức phù hợp với người mới
- 75/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- kotlin
- Lĩnh vực
- machine-learning, testing
Hướng nghiên cứu
Start by reading QwenByteLevelBpeTokenizerFixtureTest.kt and the downloadQwenTokenizerFixtures task in skainet-io-core/build.gradle.kts; the issue gives both as templates. Add TokenizerJsonGoldenParityTest.kt and a task that downloads and verifies the two golden fixtures, then run the listed Gradle command. Done means the test skips when fixtures are absent and, with fixtures present, checks vocabulary size and encoded IDs while reporting text, expected IDs and tokens, and actual IDs.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Sub-issue of #1321 (HF tokenizer.json parity for BPE encoders).
Lane: 4 · Ground truth / CI
Skill needed: Kotlin and Gradle. You will copy an existing test file and an existing download task; no tokenizer internals needed.
Size: s (a few hours)
Blocked by: the golden-generation lane (needs the JSON files). Can be merged before the Kotlin fixes — it is allowed to fail on the not-yet-fixed rows if you mark them, see Notes.
What to do
- Copy QwenByteLevelBpeTokenizerFixtureTest.kt to
TokenizerJsonGoldenParityTest.ktin the samejvmTestpackage. Keep the "skip with a printed notice when the fixture is absent" behaviour. - Copy the
downloadQwenTokenizerFixturestask in skainet-io-core/build.gradle.kts#L148-L153 into adownloadTokenizerJsonGoldenFixturestask that fetches the two Layatokenizer.jsonfiles intobuild/test-fixtures/tokenizer-goldens/<name>/tokenizer.jsonfrom the HubresolveURL at the pinned revision, and verifies the SHA-256 stored in the golden JSON. - In the test, for each golden JSON in
src/jvmTest/resources/tokenizer-goldens/: load the matchingtokenizer.jsonthroughsk.ainet.io.tokenizer.TokenizerFactory.fromTokenizerJson, assertvocabSize == vocab_size_with_added, then for every case assertencode(text).toList() == idswith a message that prints the text, the expected and the actual ids and the expected token strings (thetokensarray) — that is what makes a failure diagnosable without Python. - Parse the golden JSON with
kotlinx.serialization.json(already a dependency of the module). - Run
./gradlew :skainet-io:skainet-io-core:downloadTokenizerJsonGoldenFixtures :skainet-io:skainet-io-core:jvmTest --tests '*TokenizerJsonGoldenParityTest*'.
Acceptance
- Test self-skips when the fixtures are absent (CI without network stays green)
- With fixtures present and all sibling lanes merged, every case in both goldens passes
- Failure output shows text, expected ids + tokens, actual ids
- Result reported back on #1321
Notes
To merge this before the fixes land, support an optional "expectedToFail": "<issue url>" field per case in the golden JSON and turn those cases into "assert it still fails, otherwise tell the developer to remove the marker" — the same canary pattern #912 describes. Then each fix lane removes its markers in its own PR, and the test is the progress bar.
- Ngôn ngữ chính
- Kotlin
- Star
- 52
- Fork
- 15
- Merge trung bình
- 1 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 36
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của SKaiNET-developers/SKaiNET
-
coding good first issue size:xs skill:kotlin-core sub-issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
SKaiNET-developers/SKaiNET#1323 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
coding good first issue platform size:xs skill:js sub-issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
SKaiNET-developers/SKaiNET#1232 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
skeep tracking
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
SKaiNET-developers/SKaiNET#1331 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
assessment size:s skill:review sub-issue
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 18/100
SKaiNET-developers/SKaiNET#1330 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue size:s skill:docs sub-issue
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 78/100
SKaiNET-developers/SKaiNET#1329 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của SKaiNET-developers/SKaiNET
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Kotlin/kotlin-lsp#288 ·
-
afk-ok area:data-quality importer size:S
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
enorm-labs/event-junkie#3166 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bugbane/qf good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
osservatorionessuno/bugbane#173 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Android: build fails with Android Gradle Plugin 9 (kotlinOptions, lintOptions, proguard-android.txt)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
capacitor-community/stripe#544 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100