diff --git a/src/storage/people_store.py b/src/storage/people_store.py index 2086e32..dc9403e 100644 --- a/src/storage/people_store.py +++ b/src/storage/people_store.py @@ -174,6 +174,9 @@ class PeopleStore: people_orms = session.query(PeopleORM).filter(PeopleORM.id.in_(people_id_list)).filter( PeopleORM.deleted_at.is_(None) ).all() + # 根据 people_id_list 的顺序对查询结果进行排序 + order_map = {pid: idx for idx, pid in enumerate(people_id_list)} + people_orms.sort(key=lambda orm: order_map.get(orm.id, len(order_map))) for people_orm in people_orms: people = people_orm.to_people() peoples.append(people) diff --git a/src/utils/vsdb.py b/src/utils/vsdb.py index e2107f8..c50e93d 100644 --- a/src/utils/vsdb.py +++ b/src/utils/vsdb.py @@ -65,10 +65,6 @@ class ChromaDB: def __init__(self, **kwargs): """ Initialize the ChromaDB instance. - - Args: - persist_directory: Optional directory to persist the database. - If None, the database will be in-memory only. """ config = get_config() self.embedding_functions = embedding_functions.OpenAIEmbeddingFunction( @@ -77,6 +73,7 @@ class ChromaDB: model_name=config.get("voc-engine_embedding", "endpoint"), ) persist_directory = config.get("chroma_vsdb", "database_dir", fallback=None) + logging.debug(f"persist_directory: {persist_directory}") if persist_directory: self.client = chromadb.PersistentClient( path=persist_directory, @@ -189,10 +186,9 @@ class ChromaDB: ids=ids, include=["documents", "metadatas", "distances"], ) - print("log: results keys: ", results.keys()) - print("log: results ids: ", results['ids']) formatted_results = [] for i in range(len(results['ids'][0])): + logging.info(f"result id: {results['ids'][0][i]}, distance: {results['distances'][0][i]}") result = { 'id': results['ids'][0][i], 'distance': results['distances'][0][i],