etownsupport commited on
Commit
b42071b
1 Parent(s): 4bd67d4

Update etown_mxbai/router.py

Browse files
Files changed (1) hide show
  1. etown_mxbai/router.py +19 -2
etown_mxbai/router.py CHANGED
@@ -31,13 +31,30 @@ app.add_middleware(
31
  def inference(item: Validation):
32
  try:
33
  start_time = time.time()
34
- embeddings = list(sparse_model.embed(item.prompt, batch_size=32)) # Assuming 'model' is defined elsewhere
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
  end_time = time.time()
37
  time_taken = end_time - start_time # Calculate the time taken
38
 
39
  return JSONResponse(content={
40
- "embeddings": embeddings,
41
  "time_taken": f"{time_taken:.2f} seconds",
42
  "Number_of_sentence_processed": len(item.prompt), # Assuming you want to count words, not characters
43
  "Model_response_space" : "prithvida/Splade_PP_en_v1",
 
31
  def inference(item: Validation):
32
  try:
33
  start_time = time.time()
34
+ embeddings = list(sparse_model.embed(item.prompt, batch_size=5)) # Assuming 'model' is defined elsewhere
35
+
36
+ serializable_embeddings = []
37
+ for embedding in embeddings:
38
+ # Assuming embedding object has attributes values and indices
39
+ if isinstance(embedding, SparseEmbedding):
40
+ values = embedding.values
41
+ indices = embedding.indices
42
+ serializable_embeddings.append({
43
+ "values": values.tolist() if isinstance(values, np.ndarray) else values,
44
+ "indices": indices.tolist() if isinstance(indices, np.ndarray) else indices
45
+ })
46
+ else:
47
+ # Fallback for other types of embeddings
48
+ serializable_embeddings.append({
49
+ "values": embedding.tolist() if isinstance(embedding, np.ndarray) else str(embedding),
50
+ "indices": list(range(len(embedding))) if isinstance(embedding, (np.ndarray, list)) else []
51
+ })
52
 
53
  end_time = time.time()
54
  time_taken = end_time - start_time # Calculate the time taken
55
 
56
  return JSONResponse(content={
57
+ "embeddings": serializable_embeddings,
58
  "time_taken": f"{time_taken:.2f} seconds",
59
  "Number_of_sentence_processed": len(item.prompt), # Assuming you want to count words, not characters
60
  "Model_response_space" : "prithvida/Splade_PP_en_v1",