Module: SmartPrompt::ZhipuAI::Rerank

Included in:
SmartPrompt::ZhipuAIAdapter
Defined in:
lib/smart_prompt/adapters/zhipu/rerank.rb

Overview

Rerank (reorder documents by relevance to a query).

Instance Method Summary collapse

Instance Method Details

#rerank(query, documents, model: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/smart_prompt/adapters/zhipu/rerank.rb', line 5

def rerank(query, documents, model: nil)
  model_name = model || @config["rerank_model"] || @config["model"]
  body = { "model" => model_name, "query" => query, "documents" => documents }
  response = http_post_json("#{@base_url}/rerank", body)
  (response["results"] || []).map { |r| { index: r["index"], relevance_score: r["relevance_score"] || r["score"] } }
rescue LLMAPIError, Error
  raise
rescue => e
  raise LLMAPIError, "Failed to call Zhipu rerank: #{e.message}"
end