You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中使用Google.Cloud.Speech.V2调用chirp模型的地域配置问题

解决Google.Cloud.Speech.V2 Chirp模型批量转写的地域矛盾问题

核心问题根源

Google Speech-to-Text v2存在两个关键限制的冲突:

  • Chirp模型仅支持部分单地域(如europe-west4),无法在global地域创建Recognizer
  • BatchRecognize批量转写操作必须通过global服务端点调用,直接使用单地域端点会触发"Expected resource location to be global"错误

分步解决方法

1. 正确创建支持Chirp的Recognizer

确保在Chirp支持的地域(比如europe-west4)创建Recognizer,你的代码逻辑本身正确,执行以下代码即可完成创建:

var recognizerRequest = new CreateRecognizerRequest
{
    Parent = $"projects/graceful-wall-398407/locations/europe-west4",
    RecognizerId = "mpa1recognizer2",
    Recognizer = new Recognizer
    {
        DefaultRecognitionConfig = new Google.Cloud.Speech.V2.RecognitionConfig
        {
            LanguageCodes = { "pl-PL" },
            Model = "chirp"
        }
    }
};

// 使用对应地域的客户端创建Recognizer
var speechClient = SpeechClient.Create(new SpeechClientBuilder { Location = "europe-west4" }.Build());
var createdRecognizer = await speechClient.CreateRecognizerAsync(recognizerRequest);

2. 调用BatchRecognize时的正确配置

批量转写必须使用global端点的客户端,同时指定你在europe-west4创建的Recognizer完整资源名:

// 创建指向global端点的Speech客户端
var globalSpeechClient = SpeechClient.Create(new SpeechClientBuilder { Location = "global" }.Build());

BatchRecognizeRequest request = new BatchRecognizeRequest
{
    // 直接使用Recognizer的完整资源路径,包含europe-west4地域
    Recognizer = "projects/graceful-wall-398407/locations/europe-west4/recognizers/mpa1recognizer2",
    Files = { new BatchRecognizeFileMetadata { Uri = audioGcsUri, } },
};

var response = await globalSpeechClient.BatchRecognizeAsync(request);

关键注意事项

  • 不要混用地域端点:创建Recognizer用Chirp支持的单地域(如europe-west4),批量转写必须用global端点
  • 必须显式指定Recognizer的完整资源路径,避免依赖RecognizerName.FromProjectLocationRecognizer生成的名称导致地域参数混淆

内容的提问来源于stack exchange,提问作者Marcin Kubiak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 14:00:26