Попытка взять голосовое сообщение Telegram Bot, отправить его в Openai и получить ответ. < /p>
openai отвечает; Данные, представленные для 'input_audio', не имеют достоверного формата MP3. < /P>
Вот как я это делаю. < /P>
async Task OnMessage(Message message, UpdateType type)
{
if (message.Type == MessageType.Voice)
{
try
{
var fileInformation = await bot.GetFile(message.Voice!.FileId);
await using MemoryStream fileStream = new MemoryStream();
await bot.DownloadFile(fileInformation.FilePath!, fileStream);
BinaryData audioData = BinaryData.FromBytes(fileStream.ToArray());
List messages =
[
new UserChatMessage(ChatMessageContentPart.CreateInputAudioPart(audioData, ChatInputAudioFormat.Mp3)),
];
ChatCompletionOptions options = new()
{
ResponseModalities = ChatResponseModalities.Text | ChatResponseModalities.Audio,
AudioOptions = new(ChatOutputAudioVoice.Alloy, ChatOutputAudioFormat.Wav),
};
ChatCompletion completion = chatClient.CompleteChat(messages, options);
if (completion.OutputAudio is ChatOutputAudio outputAudio)
{
bot.SendVoice(message.Chat, new InputFileStream(outputAudio.AudioBytes.ToStream()));
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
return;
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... mp3-format
Данные, представленные для 'input_audio', не имеют допустимого формата MP3 ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Django REST Framework Загрузить изображение: «Представленные данные не были файлом»
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-