MCPcopy Create free account
hub / github.com/Agent-RL/ReCall / batch_search

Function batch_search

scripts/serving/retriever_serving.py:94–121  ·  view source on GitHub ↗
(request: BatchQueryRequest)

Source from the content-addressed store, hash-verified

92
93@app.post("/batch_search", response_model=Union[List[List[Document]], Tuple[List[List[Document]], List[List[float]]]])
94async def batch_search(request: BatchQueryRequest):
95 query = request.query
96 top_n = request.top_n
97 return_score = request.return_score
98
99 async with retriever_semaphore:
100 async with retriever_lock:
101 retriever_idx = available_retrievers.popleft()
102 try:
103 loop = asyncio.get_event_loop()
104 with ThreadPoolExecutor() as executor:
105 if return_score:
106 results, scores = await loop.run_in_executor(
107 executor,
108 retriever_list[retriever_idx].batch_search,
109 query, top_n, return_score
110 )
111 return [[Document(id=result['id'], contents=result['contents']) for result in results[i]] for i in range(len(results))], scores
112 else:
113 results = await loop.run_in_executor(
114 executor,
115 retriever_list[retriever_idx].batch_search,
116 query, top_n, return_score
117 )
118 return [[Document(id=result['id'], contents=result['contents']) for result in results[i]] for i in range(len(results))]
119 finally:
120 async with retriever_lock:
121 available_retrievers.append(retriever_idx)
122
123if __name__ == "__main__":
124 parser = argparse.ArgumentParser()

Callers

nothing calls this directly

Calls 1

DocumentClass · 0.85

Tested by

no test coverage detected