Toggle Menu
Prev Up Next

# Source code for langchain_community.tools.azure_ai_services.utils

    import os
    import tempfile
    from urllib.parse import urlparse

    import requests

    def detect_file_src_type(file_path: str) -> str:
        """Detect if the file is local or remote."""
        if os.path.isfile(file_path):
            return "local"

        parsed_url = urlparse(file_path)
        if parsed_url.scheme and parsed_url.netloc:
            return "remote"

        return "invalid"

    def download_audio_from_url(audio_url: str) -> str:
        """Download audio from url to local."""
        ext = audio_url.split(".")[-1]
        response = requests.get(audio_url, stream=True)
        response.raise_for_status()
        with tempfile.NamedTemporaryFile(mode="wb", suffix=f".{ext}", delete=False) as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)

        return f.name