瀏覽代碼

fix(api/core/model_manager.py): Avoid mutation during iteration. (#6536)

tags/0.6.15
-LAN- 1 年之前
父節點
當前提交
cd7fa8027a
沒有連結到貢獻者的電子郵件帳戶。

+ 1
- 2
api/core/model_manager.py 查看文件

@@ -410,10 +410,9 @@ class LBModelManager:
self._model = model
self._load_balancing_configs = load_balancing_configs

for load_balancing_config in self._load_balancing_configs:
for load_balancing_config in self._load_balancing_configs[:]: # Iterate over a shallow copy of the list
if load_balancing_config.name == "__inherit__":
if not managed_credentials:
# FIXME: Mutation to loop iterable `self._load_balancing_configs` during iteration
# remove __inherit__ if managed credentials is not provided
self._load_balancing_configs.remove(load_balancing_config)
else:

+ 1
- 2
api/core/rag/datasource/keyword/keyword_base.py 查看文件

@@ -38,11 +38,10 @@ class BaseKeyword(ABC):
raise NotImplementedError

def _filter_duplicate_texts(self, texts: list[Document]) -> list[Document]:
for text in texts:
for text in texts[:]:
doc_id = text.metadata['doc_id']
exists_duplicate_node = self.text_exists(doc_id)
if exists_duplicate_node:
# FIXME: Mutation to loop iterable `texts` during iteration
texts.remove(text)

return texts

+ 1
- 2
api/core/rag/datasource/vdb/vector_base.py 查看文件

@@ -57,11 +57,10 @@ class BaseVector(ABC):
raise NotImplementedError

def _filter_duplicate_texts(self, texts: list[Document]) -> list[Document]:
for text in texts:
for text in texts[:]:
doc_id = text.metadata['doc_id']
exists_duplicate_node = self.text_exists(doc_id)
if exists_duplicate_node:
# FIXME: Mutation to loop iterable `texts` during iteration
texts.remove(text)

return texts

+ 1
- 2
api/core/rag/datasource/vdb/vector_factory.py 查看文件

@@ -153,11 +153,10 @@ class Vector:
return CacheEmbedding(embedding_model)

def _filter_duplicate_texts(self, texts: list[Document]) -> list[Document]:
for text in texts:
for text in texts[:]:
doc_id = text.metadata['doc_id']
exists_duplicate_node = self.text_exists(doc_id)
if exists_duplicate_node:
# FIXME: Mutation to loop iterable `texts` during iteration
texts.remove(text)

return texts

+ 1
- 2
api/services/model_load_balancing_service.py 查看文件

@@ -131,9 +131,8 @@ class ModelLoadBalancingService:
load_balancing_configs.insert(0, inherit_config)
else:
# move the inherit configuration to the first
for i, load_balancing_config in enumerate(load_balancing_configs):
for i, load_balancing_config in enumerate(load_balancing_configs[:]):
if load_balancing_config.name == '__inherit__':
# FIXME: Mutation to loop iterable `load_balancing_configs` during iteration
inherit_config = load_balancing_configs.pop(i)
load_balancing_configs.insert(0, inherit_config)


Loading…
取消
儲存