mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 11:42:29 +08:00
fix(api/core/model_manager.py): Avoid mutation during iteration. (#6536)
This commit is contained in:
parent
617847e3c0
commit
cd7fa8027a
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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…
Reference in New Issue
Block a user