OpenAI запустили универсальную аудио-модель, и теперь можно делать магию. Semantic Kernel уже умеет с ней работать, осталось только подключить и собрать что-то своё.
➖ Что для этого нужно:
• SemanticKernel
• HttpClient
• OpenAIAudioChatCompletionService (входит в SemanticKernel)
Пример на C#:
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using Microsoft.SemanticKernel.Audio;
// Конфиг
string apiKey = "sk-...";
string model = "gpt-4o";
// Создаем Kernel
var builder = Kernel.CreateBuilder();
builder.AddOpenAIChatCompletion(model, apiKey);
// Подключаем аудио-модель
builder.Services.AddOpenAIAudioChatCompletion(model, apiKey);
var kernel = builder.Build();
// Аудиофайл на вход (WAV или MP3)
var audioPath = "audio_input.wav";
var audioFile = new FileInfo(audioPath);
// Запускаем аудио-комплит
var audioChatService = kernel.GetRequiredService<IAudioChatCompletionService>();
var response = await audioChatService.GetAudioChatMessageContentAsync(
new OpenAIAudioChatRequestSettings { ResponseFormat = AudioResponseFormat.MP3 },
new AudioChatMessageContent(AuthorRole.User, audioFile)
);
// Сохраняем ответ в файл
await File.WriteAllBytesAsync("response.mp3", response.Audio);
Что происходит под капотом?
1. Модель GPT-4o получает аудиофайл
2. Распознаёт текст (ASR)
3. Генерирует ответ
4. Конвертирует его в речь
5. Возвращает MP3-ответ
💬 Уже придумали где применить? Админ бы заставил приложение ругаться на пользователя🧑💻 Делитесь своими идеями в комментариях 👇
➡️ Подробнее в блоге Microsoft
🐸Библиотека шарписта #буст
