| "query": {"text": query}, | "query": {"text": query}, | ||||
| "passages": [{"text": doc} for doc in docs], | "passages": [{"text": doc} for doc in docs], | ||||
| } | } | ||||
| session = requests.Session() | session = requests.Session() | ||||
| response = session.post(invoke_url, headers=headers, json=payload) | response = session.post(invoke_url, headers=headers, json=payload) | ||||
| response.raise_for_status() | response.raise_for_status() | ||||
| ) | ) | ||||
| rerank_documents.append(rerank_document) | rerank_documents.append(rerank_document) | ||||
| if rerank_documents: | |||||
| rerank_documents = sorted(rerank_documents, key=lambda x: x.score, reverse=True) | |||||
| if top_n: | |||||
| rerank_documents = rerank_documents[:top_n] | |||||
| return RerankResult(model=model, docs=rerank_documents) | return RerankResult(model=model, docs=rerank_documents) | ||||
| except requests.HTTPError as e: | except requests.HTTPError as e: | ||||
| raise InvokeServerUnavailableError(str(e)) | raise InvokeServerUnavailableError(str(e)) |