spark.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import json
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.spark.tools.spark_img_generation import spark_response
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class SparkProvider(BuiltinToolProviderController):
  6. def _validate_credentials(self, credentials: dict) -> None:
  7. try:
  8. if "APPID" not in credentials or not credentials.get("APPID"):
  9. raise ToolProviderCredentialValidationError("APPID is required.")
  10. if "APISecret" not in credentials or not credentials.get("APISecret"):
  11. raise ToolProviderCredentialValidationError("APISecret is required.")
  12. if "APIKey" not in credentials or not credentials.get("APIKey"):
  13. raise ToolProviderCredentialValidationError("APIKey is required.")
  14. appid = credentials.get("APPID")
  15. apisecret = credentials.get("APISecret")
  16. apikey = credentials.get("APIKey")
  17. prompt = "a cute black dog"
  18. try:
  19. response = spark_response(prompt, appid, apikey, apisecret)
  20. data = json.loads(response)
  21. code = data["header"]["code"]
  22. if code == 0:
  23. # 0 success,
  24. pass
  25. else:
  26. raise ToolProviderCredentialValidationError("image generate error, code:{}".format(code))
  27. except Exception as e:
  28. raise ToolProviderCredentialValidationError("APPID APISecret APIKey is invalid. {}".format(e))
  29. except Exception as e:
  30. raise ToolProviderCredentialValidationError(str(e))