Class: RerankerRuby::RerankJob
- Inherits:
-
ActiveJob::Base
- Object
- ActiveJob::Base
- RerankerRuby::RerankJob
- Defined in:
- lib/reranker_ruby/rerank_job.rb
Overview
ActiveJob for async reranking of large result sets.
Usage:
RerankerRuby::RerankJob.perform_later(
query: "What is Ruby?",
documents: ["doc1", "doc2", ...],
top_k: 5,
callback: "MyCallback"
)
The callback class must implement .on_rerank_complete(query, results):
class MyCallback
def self.on_rerank_complete(query, results)
# results is an array of hashes: [{ text:, score:, index:, metadata: }, ...]
end
end
Instance Method Summary collapse
Instance Method Details
#perform(query:, documents:, top_k: nil, callback: nil) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/reranker_ruby/rerank_job.rb', line 25 def perform(query:, documents:, top_k: nil, callback: nil) top_k ||= RerankerRuby.configuration.default_top_k results = RerankerRuby.rerank(query, documents, top_k: top_k) if callback callback_class = Object.const_get(callback) callback_class.on_rerank_complete(query, results.map(&:to_h)) end results end |