Skip to content

Releases: hotchpotch/jev-reranker

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 21 Sep 06:27
d58594b

Released: 2026-09-21

Performance

  • Reuse exact listwise group length estimates for budget checks and detailed
    request records. Pointwise and pairwise requests also reuse their preflight
    estimate when recording details.
  • Cache exact tokenizer counts across calls on a reranker instance, with LRU
    eviction bounded to 2,048 strings and 4,000,000 retained Unicode code points.
    Oversized strings are counted without being retained. The cache stores text
    and counts in memory; it does not write them to disk. Keep a supplied tokenizer
    and its encoding configuration unchanged while using the instance.
  • Reuse the initial document tokenization when truncating a newly counted
    document. Decoded text is still checked against the configured length limit.
  • These changes preserve exact serialized-payload counting, document order,
    split budgets, and scoring prompts. They do not approximate request lengths
    by adding document lengths. Custom length_fn calls are not memoized.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 05:20
2630135

Released: 2026-09-21

  • The default listwise relevance preset now stores its evaluation rubric once
    per request and uses shorter per-document references to reduce repeated prompt
    text. Its scoring rules combine evidence usefulness with retrieval relevance
    and explicit anchors for partial and supporting facts. Scores, request groups,
    and filtering decisions can change; the default threshold remains 0.2.
    Custom prompts, pointwise relevance, and the ordinary reranking preset retain
    their existing request formats.
  • The evaluation script now uses all queries in the selected dataset split by
    default. Use --query-limit N to
    evaluate at most N queries in sorted query-ID order.
  • The evaluation script accepts --split-state-budget and
    --split-request-budget to adjust Jev request grouping estimates without
    changing the candidate count or per-document length limit.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 13:44
cbeec1e

Released: 2026-09-19

Relevance filtering and reranking

  • Add JevReranker.rerank() and relevance_rerank(), with async equivalents
    a_rerank() and a_relevance_rerank(). All return a results envelope with
    original document indices, scores, and optional text.
  • Provide listwise and pointwise evidence-selection prompts. Relevance filtering
    defaults to threshold 0.2; ordinary reranking defaults to 0.0. Threshold equality
    is included, ties preserve input order, and output top_k applies after filtering.
  • Support ordinary pairwise ranking for relative-comparison experiments. Relevance
    filtering supports listwise and pointwise only.
  • Accept custom instruction dictionaries per instance or call. Per-call overrides
    are isolated from concurrent calls.

Input handling and execution

  • Default to character counting with a 4000-character document prefix limit.
    Support optional tokenizers, custom length counters, and configurable budgets.
    Automatically raise a supplied tokenizer's maximum-length metadata when needed;
    this does not extend an embedding model's context.
  • Split long listwise candidate lists and repartition failed chunks after API
    context-limit errors. Preserve original document text in results.
  • Use httpx and asyncio for bounded concurrency, transient-error retries, and
    cancellation cleanup. Each call closes its HTTP client automatically; ordinary
    usage needs no context manager or explicit shutdown.
  • Support caller-owned clients and transports for advanced integrations. Borrowed
    clients require async methods on one event loop.
  • Read authentication and model settings from explicit arguments, environment
    variables, or .env. Validate requests and responses; failures never become
    fabricated zero scores.
  • Include optional execution details with every candidate's score, selection
    counts, prompts, model information, lengths, usage, retries, and splits—even
    when no document passes the threshold.
  • Keep optional shutdown safe with active calls and multiple shutdown waiters,
    without occupying executor threads while waiting.

Evaluation and distribution

  • Add examples/eval.py for compatible 50-query Nano-set benchmarks, defaulting
    to NanoBEIR-en / NanoHotpotQA. Support
    full hybrid pools by default or fixed-size pools containing every labeled
    positive, with deterministic shuffling and nDCG@10.
  • Evaluate relevance thresholds with document removal and positive retention
    statistics, distinguishing filtering errors from missing retrieval candidates.
  • Compare Jev with local Sentence Transformers CrossEncoders using the same
    candidate selection and metrics. Provide tokenizer, sentence-transformers,
    and all extras while keeping base runtime dependencies minimal.
  • Add offline coverage and opt-in multilingual live tests for sync and async APIs.
    Validate wheel installation without tokenizer dependencies.
  • Document public usage, evaluation, and release procedures. Generate GitHub
    Release notes from versioned Markdown and attach the distributions published
    to PyPI.

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 07:51

v0.0.1

Released: 2026-09-19

初回のパッケージ公開です。reranker の機能はまだ実装されていません。

  • Python 3.11 以上に対応する jev_reranker パッケージの雛形を追加。
  • uv による依存管理と、公開後1週間の cooldown を設定。
  • pytest・ruff・ty・tox による開発用の検査を整備。
  • GitHub Actions による検査、ビルド、PyPI Trusted Publishing を設定。
  • wheel とソース配布物を PyPI および GitHub Release に公開。

PyPI · GitHub Release