Deep8591 commited on
Commit
c9a3348
·
verified ·
1 Parent(s): 48d20bf

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -17
app.py CHANGED
@@ -70,37 +70,33 @@ class RerankerResponse(BaseModel):
70
  async def rerank_documents(request: RerankerRequest):
71
  """
72
  Reranks the given list of documents based on their relevance to the query.
73
-
74
  - **query**: The input query string.
75
  - **documents**: A list of documents to be reranked.
76
  - **return_documents**: Whether to include document content in results.
77
  - **top_k**: Number of top-ranked documents to return.
78
-
79
  Returns:
80
  - A list of ranked documents with scores and indexes.
81
  """
82
  try:
83
  # Prepare model input
84
- inputs = [[request.query, doc] for doc in request.documents]
85
-
86
- # Get ranking scores
87
- scores = model.predict(inputs)
88
-
89
- # Sort scores and get top-k results
90
- ranked_indices = sorted(
91
- range(len(scores)), key=lambda i: scores[i], reverse=True
92
- )[: request.top_k]
93
-
94
- # Format results
95
  formatted_results = [
96
  RankedResult(
97
- score=scores[i],
98
- index=i,
99
- document=request.documents[i] if request.return_documents else None,
100
  )
101
- for i in ranked_indices
102
  ]
103
 
 
104
  return RerankerResponse(results=formatted_results)
105
 
106
  except Exception as e:
 
70
  async def rerank_documents(request: RerankerRequest):
71
  """
72
  Reranks the given list of documents based on their relevance to the query.
 
73
  - **query**: The input query string.
74
  - **documents**: A list of documents to be reranked.
75
  - **return_documents**: Whether to include document content in results.
76
  - **top_k**: Number of top-ranked documents to return.
 
77
  Returns:
78
  - A list of ranked documents with scores and indexes.
79
  """
80
  try:
81
  # Prepare model input
82
+ results = model.rank(
83
+ request.query,
84
+ request.documents,
85
+ return_documents=request.return_documents,
86
+ top_k=request.top_k,
87
+ )
88
+
89
+ # Format the results based on the model's output
 
 
 
90
  formatted_results = [
91
  RankedResult(
92
+ score=result["score"],
93
+ index=result["corpus_id"],
94
+ document=result["text"] if request.return_documents else None,
95
  )
96
+ for result in results
97
  ]
98
 
99
+ # Format results
100
  return RerankerResponse(results=formatted_results)
101
 
102
  except Exception as e: