|
|
|
|
|
|
|
|
import io |
|
|
import io |
|
|
import random |
|
|
import random |
|
|
from typing import Any, Literal, Optional, Union |
|
|
from typing import Any, Literal, Optional, Union |
|
|
|
|
|
from warnings import catch_warnings |
|
|
|
|
|
|
|
|
import openai |
|
|
import openai |
|
|
from pydub import AudioSegment |
|
|
|
|
|
|
|
|
|
|
|
from core.tools.entities.tool_entities import ToolInvokeMessage |
|
|
from core.tools.entities.tool_entities import ToolInvokeMessage |
|
|
from core.tools.errors import ToolParameterValidationError, ToolProviderCredentialValidationError |
|
|
from core.tools.errors import ToolParameterValidationError, ToolProviderCredentialValidationError |
|
|
from core.tools.tool.builtin_tool import BuiltinTool |
|
|
from core.tools.tool.builtin_tool import BuiltinTool |
|
|
|
|
|
|
|
|
|
|
|
with catch_warnings(action="ignore", category=RuntimeWarning): |
|
|
|
|
|
from pydub import AudioSegment |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PodcastAudioGeneratorTool(BuiltinTool): |
|
|
class PodcastAudioGeneratorTool(BuiltinTool): |
|
|
@staticmethod |
|
|
@staticmethod |