我正在尝试使用 dotnet Google.Cloud.Speech.V2 库运行“chirp”模型的转录。我需要使用 chirp,因为我需要用波兰语进行带有标点符号的转录,而 chirp 是唯一支持的模型。我在我的项目中创建了一个识别器。问题是,当我配置这样的请求时:
BatchRecognizeRequest request = new BatchRecognizeRequest
{
RecognizerAsRecognizerName = RecognizerName.FromProjectLocationRecognizer("graceful-wall-398407", "europe-west4", "mpa1recognizer2"),
Files = { new BatchRecognizeFileMetadata { Uri = audioGcsUri, } },
};
它返回一个错误:
Grpc.Core.RpcException: Status(StatusCode="InvalidArgument", Detail="Expected resource location to be global, but found europe-west4 in resource name.")
当我像这样将位置设置为全局时:
BatchRecognizeRequest request = new BatchRecognizeRequest
{
RecognizerAsRecognizerName = RecognizerName.FromProjectLocationRecognizer("graceful-wall-398407", "global", "mpa1recognizer2"),
Files = { new BatchRecognizeFileMetadata { Uri = audioGcsUri, } },
};
它返回并出现如下错误:
Grpc.Core.RpcException: Status(StatusCode="NotFound", Detail="Unable to find Recognizer mpa1recognizer2 from project 879395532585.")
识别器似乎配置得很好,如果需要,我可以发送配置。有人遇到过这样的问题吗
我也尝试像这样配置识别配置:
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"
}
}
};
问题是,当我将位置设置为 europe-west4 时,它说它期望它是全局的,当我将其设置为全局时,它会说:
Grpc.Core.RpcException: Status(StatusCode="InvalidArgument", Detail="The model "chirp" does not exist in the location named "global".")
在 Google Cloud 社区论坛中分享我对同一问题的回答。
我找不到任何明确说明 .NET 不支持 chirp 的文档/文章,但 chirp 的指南上只有 python ,这告诉我尚未制作像 C# 一样的 .NET 版本。该指南还提到 chirp 适用于 us-central1、europe-west4 和 asia-southeast1,因此在使用 global 作为位置时会出现错误。