2025-03-15 02:06:40 +00:00
|
|
|
namespace BotSharp.Abstraction.Realtime.Models;
|
|
|
|
|
|
|
|
|
|
public class RealtimeModelSettings
|
|
|
|
|
{
|
2025-04-08 01:16:47 +00:00
|
|
|
public string Provider { get; set; } = "openai";
|
|
|
|
|
public string Model { get; set; } = "gpt-4o-mini-realtime-preview";
|
2025-04-19 01:44:42 +00:00
|
|
|
public string[] Modalities { get; set; } = ["text", "audio"];
|
2025-04-08 01:16:47 +00:00
|
|
|
public bool InterruptResponse { get; set; } = true;
|
2025-04-07 04:15:27 +00:00
|
|
|
public string InputAudioFormat { get; set; } = "g711_ulaw";
|
|
|
|
|
public string OutputAudioFormat { get; set; } = "g711_ulaw";
|
2025-04-08 22:00:35 +00:00
|
|
|
public bool InputAudioTranscribe { get; set; } = false;
|
2025-03-20 22:54:49 +00:00
|
|
|
public string Voice { get; set; } = "alloy";
|
2025-03-15 02:08:29 +00:00
|
|
|
public float Temperature { get; set; } = 0.8f;
|
2025-03-15 02:06:40 +00:00
|
|
|
public int MaxResponseOutputTokens { get; set; } = 512;
|
2025-05-14 23:14:01 +00:00
|
|
|
public int ModelResponseTimeoutSeconds { get; set; } = 30;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Whether the target event arrives after ModelResponseTimeoutSeconds, e.g., "response.done"
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string? ModelResponseTimeoutEndEvent { get; set; }
|
2025-03-20 22:54:49 +00:00
|
|
|
public AudioTranscription InputAudioTranscription { get; set; } = new();
|
2025-03-15 02:06:40 +00:00
|
|
|
public ModelTurnDetection TurnDetection { get; set; } = new();
|
|
|
|
|
}
|