如何使用Google Gemini-1.5模型处理本地音频文件实现转录?
如何使用Google Gemini-1.5模型处理本地音频文件实现转录?
我明白你遇到的问题了——用file://路径直接调用Part.from_uri()确实行不通,因为这个方法是专门针对云存储URI(比如GS、HTTP这类)设计的。不过别担心,Vertex AI的Python SDK其实提供了直接读取本地文件的方法,我们只需要做个小修改就能搞定!
核心的解决办法是把Part.from_uri()替换成Part.from_file(),这个方法可以直接加载本地的音频文件。下面是修改后的完整可运行代码:
import vertexai from vertexai.generative_models import GenerativeModel, GenerationConfig, Part # TODO(developer): Update and un-comment below line # PROJECT_ID = "your-project-id" vertexai.init(project=PROJECT_ID, location="us-central1") model = GenerativeModel("gemini-1.5-flash-002") prompt = """ Can you transcribe this interview, in the format of timecode, speaker, caption. Use speaker A, speaker B, etc. to identify speakers. """ # 替换成你的本地音频文件路径,比如 "/home/user/interview.mp3" 或者 "C:\\audio\\recording.mp3" local_audio_path = "/path/to/your/local/audio/file.mp3" # 注意mime类型要匹配你的音频文件格式,比如wav文件用"audio/wav",flac用"audio/flac" audio_file = Part.from_file(local_audio_path, mime_type="audio/mpeg") contents = [audio_file, prompt] response = model.generate_content(contents, generation_config=GenerationConfig(audio_timestamp=True)) print(response.text)
几个关键要点需要注意:
- 文件路径正确性:确保本地文件路径填写正确,Windows系统下注意用双反斜杠
\\或者原始字符串r"C:\path\to\file",Mac/Linux用正斜杠/即可。 - MIME类型匹配:不同的音频格式对应不同的MIME类型,比如:
- MP3:
audio/mpeg - WAV:
audio/wav - FLAC:
audio/flac
如果你不确定自己文件的MIME类型,可以查一下对应的格式标准,或者用工具检测。
- MP3:
- 大文件处理:如果你的音频文件非常大(比如超过几十MB),建议还是先上传到Google Cloud Storage再用
from_uri处理,这样可以避免本地读取和传输的性能问题。
备注:内容来源于stack exchange,提问作者Bill Bradley
相关产品推荐
相关产品推荐

