|
|
|
@@ -64,7 +64,7 @@ class OAICompatRerankModel(RerankModel): |
|
|
|
|
|
|
|
# TODO: Do we need truncate docs to avoid llama.cpp return error? |
|
|
|
|
|
|
|
data = {"model": model_name, "query": query, "documents": docs, "top_n": top_n} |
|
|
|
data = {"model": model_name, "query": query, "documents": docs, "top_n": top_n, "return_documents": True} |
|
|
|
|
|
|
|
try: |
|
|
|
response = post(str(URL(url) / "rerank"), headers=headers, data=dumps(data), timeout=60) |
|
|
|
@@ -83,7 +83,13 @@ class OAICompatRerankModel(RerankModel): |
|
|
|
index = result["index"] |
|
|
|
|
|
|
|
# Retrieve document text (fallback if llama.cpp rerank doesn't return it) |
|
|
|
text = result.get("document", {}).get("text", docs[index]) |
|
|
|
text = docs[index] |
|
|
|
document = result.get("document", {}) |
|
|
|
if document: |
|
|
|
if isinstance(document, dict): |
|
|
|
text = document.get("text", docs[index]) |
|
|
|
elif isinstance(document, str): |
|
|
|
text = document |
|
|
|
|
|
|
|
# Normalize the score |
|
|
|
normalized_score = (result["relevance_score"] - min_score) / score_range |