Explorar el Código

Fix: only retrieval plugin-compatible providers when provider_name starts with `langgenius` (#15133)

tags/1.0.1
Yeuoly hace 8 meses
padre
commit
65da9425df
No account linked to committer's email address
Se han modificado 2 ficheros con 25 adiciones y 10 borrados
  1. 22
    10
      api/core/entities/provider_configuration.py
  2. 3
    0
      api/core/plugin/entities/plugin.py

+ 22
- 10
api/core/entities/provider_configuration.py Ver fichero

@@ -187,18 +187,30 @@ class ProviderConfiguration(BaseModel):
:return:
"""
# get provider
provider_record = (
db.session.query(Provider)
.filter(
Provider.tenant_id == self.tenant_id,
Provider.provider_type == ProviderType.CUSTOM.value,
or_(
Provider.provider_name == ModelProviderID(self.provider.provider).plugin_name,
model_provider_id = ModelProviderID(self.provider.provider)
if model_provider_id.is_langgenius():
provider_record = (
db.session.query(Provider)
.filter(
Provider.tenant_id == self.tenant_id,
Provider.provider_type == ProviderType.CUSTOM.value,
or_(
Provider.provider_name == model_provider_id.provider_name,
Provider.provider_name == self.provider.provider,
),
)
.first()
)
else:
provider_record = (
db.session.query(Provider)
.filter(
Provider.tenant_id == self.tenant_id,
Provider.provider_type == ProviderType.CUSTOM.value,
Provider.provider_name == self.provider.provider,
),
)
.first()
)
.first()
)

# Get provider credential secret variables
provider_credential_secret_variables = self.extract_secret_variables(

+ 3
- 0
api/core/plugin/entities/plugin.py Ver fichero

@@ -164,6 +164,9 @@ class GenericProviderID:
self.organization, self.plugin_name, self.provider_name = value.split("/")
self.is_hardcoded = is_hardcoded

def is_langgenius(self) -> bool:
return self.organization == "langgenius"

@property
def plugin_id(self) -> str:
return f"{self.organization}/{self.plugin_name}"

Cargando…
Cancelar
Guardar