chore(api/core): apply ruff reformatting (#7624)

This commit is contained in:
Bowen Liang
2024-09-10 17:00:20 +08:00
committed by GitHub
parent 178730266d
commit 2cf1187b32
724 changed files with 21180 additions and 21123 deletions

View File

@@ -7,16 +7,13 @@ class GetImgAIProvider(BuiltinToolProviderController):
def _validate_credentials(self, credentials: dict) -> None:
try:
# Example validation using the text2image tool
Text2ImageTool().fork_tool_runtime(
runtime={"credentials": credentials}
).invoke(
user_id='',
Text2ImageTool().fork_tool_runtime(runtime={"credentials": credentials}).invoke(
user_id="",
tool_parameters={
"prompt": "A fire egg",
"response_format": "url",
"style": "photorealism",
}
},
)
except Exception as e:
raise ToolProviderCredentialValidationError(str(e))

View File

@@ -8,18 +8,16 @@ from requests.exceptions import HTTPError
logger = logging.getLogger(__name__)
class GetImgAIApp:
def __init__(self, api_key: str | None = None, base_url: str | None = None):
self.api_key = api_key
self.base_url = base_url or 'https://api.getimg.ai/v1'
self.base_url = base_url or "https://api.getimg.ai/v1"
if not self.api_key:
raise ValueError("API key is required")
def _prepare_headers(self):
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {self.api_key}'
}
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {self.api_key}"}
return headers
def _request(
@@ -38,22 +36,20 @@ class GetImgAIApp:
return response.json()
except requests.exceptions.RequestException as e:
if i < retries - 1 and isinstance(e, HTTPError) and e.response.status_code >= 500:
time.sleep(backoff_factor * (2 ** i))
time.sleep(backoff_factor * (2**i))
else:
raise
return None
def text2image(
self, mode: str, **kwargs
):
data = kwargs['params']
if not data.get('prompt'):
def text2image(self, mode: str, **kwargs):
data = kwargs["params"]
if not data.get("prompt"):
raise ValueError("Prompt is required")
endpoint = f'{self.base_url}/{mode}/text-to-image'
endpoint = f"{self.base_url}/{mode}/text-to-image"
headers = self._prepare_headers()
logger.debug(f"Send request to {endpoint=} body={data}")
response = self._request('POST', endpoint, data, headers)
response = self._request("POST", endpoint, data, headers)
if response is None:
raise HTTPError("Failed to initiate getimg.ai after multiple retries")
return response

View File

@@ -7,28 +7,28 @@ from core.tools.tool.builtin_tool import BuiltinTool
class Text2ImageTool(BuiltinTool):
def _invoke(self, user_id: str, tool_parameters: dict[str, Any]) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
app = GetImgAIApp(api_key=self.runtime.credentials['getimg_api_key'], base_url=self.runtime.credentials['base_url'])
def _invoke(
self, user_id: str, tool_parameters: dict[str, Any]
) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
app = GetImgAIApp(
api_key=self.runtime.credentials["getimg_api_key"], base_url=self.runtime.credentials["base_url"]
)
options = {
'style': tool_parameters.get('style'),
'prompt': tool_parameters.get('prompt'),
'aspect_ratio': tool_parameters.get('aspect_ratio'),
'output_format': tool_parameters.get('output_format', 'jpeg'),
'response_format': tool_parameters.get('response_format', 'url'),
'width': tool_parameters.get('width'),
'height': tool_parameters.get('height'),
'steps': tool_parameters.get('steps'),
'negative_prompt': tool_parameters.get('negative_prompt'),
'prompt_2': tool_parameters.get('prompt_2'),
"style": tool_parameters.get("style"),
"prompt": tool_parameters.get("prompt"),
"aspect_ratio": tool_parameters.get("aspect_ratio"),
"output_format": tool_parameters.get("output_format", "jpeg"),
"response_format": tool_parameters.get("response_format", "url"),
"width": tool_parameters.get("width"),
"height": tool_parameters.get("height"),
"steps": tool_parameters.get("steps"),
"negative_prompt": tool_parameters.get("negative_prompt"),
"prompt_2": tool_parameters.get("prompt_2"),
}
options = {k: v for k, v in options.items() if v}
text2image_result = app.text2image(
mode=tool_parameters.get('mode', 'essential-v2'),
params=options,
wait=True
)
text2image_result = app.text2image(mode=tool_parameters.get("mode", "essential-v2"), params=options, wait=True)
if not isinstance(text2image_result, str):
text2image_result = json.dumps(text2image_result, ensure_ascii=False, indent=4)