From a9fd6066d221005671ad7a3991f630e17b8d2143 Mon Sep 17 00:00:00 2001 From: Jin Hai Date: Mon, 23 Dec 2024 21:01:20 +0800 Subject: [PATCH] Fix score() issue (#4194) ### What problem does this PR solve? as title ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) Signed-off-by: jinhai --- rag/utils/infinity_conn.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/rag/utils/infinity_conn.py b/rag/utils/infinity_conn.py index 903f40a58..53eddfc5f 100644 --- a/rag/utils/infinity_conn.py +++ b/rag/utils/infinity_conn.py @@ -58,8 +58,11 @@ def concat_dataframes(df_list: list[pl.DataFrame], selectFields: list[str]) -> p if df_list: return pl.concat(df_list) schema = dict() - for fieldnm in selectFields: - schema[fieldnm] = str + for field_name in selectFields: + if field_name == 'score()': # Workaround: fix schema is changed to score() + schema['SCORE'] = str + else: + schema[field_name] = str return pl.DataFrame(schema=schema) @singleton @@ -342,7 +345,7 @@ class InfinityConnection(DocStoreConnection): self.connPool.release_conn(inf_conn) res = concat_dataframes(df_list, selectFields) if matchExprs: - res = res.sort(pl.col("score()") + pl.col("pagerank_fea"), descending=True, maintain_order=True) + res = res.sort(pl.col("SCORE") + pl.col("pagerank_fea"), descending=True, maintain_order=True) res = res.limit(limit) logger.debug(f"INFINITY search final result: {str(res)}") return res, total_hits_count