add hook
This commit is contained in:
parent
ccf4b3dd0a
commit
d76fef38d0
|
|
@ -13,6 +13,7 @@ public class RealtimeHubConnection
|
|||
public Func<string, string> OnModelMessageReceived { get; set; } = null!;
|
||||
public Func<string> OnModelAudioResponseDone { get; set; } = null!;
|
||||
public Func<string> OnModelUserInterrupted { get; set; } = null!;
|
||||
public Func<string> OnUserSpeechDetected { get; set; } = () => string.Empty;
|
||||
|
||||
public void ResetResponseState()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -150,6 +150,9 @@ public class RealtimeHub : IRealtimeHub
|
|||
var data = _conn.OnModelUserInterrupted();
|
||||
await (responseToUser?.Invoke(data) ?? Task.CompletedTask);
|
||||
}
|
||||
|
||||
var res = _conn.OnUserSpeechDetected();
|
||||
await (responseToUser?.Invoke(res) ?? Task.CompletedTask);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ public class RealTimeCompletionProvider : IRealTimeCompletion
|
|||
MaxResponseOutputTokens = realtimeModelSettings.MaxResponseOutputTokens,
|
||||
TurnDetection = new RealtimeSessionTurnDetection
|
||||
{
|
||||
InterruptResponse = false/*,
|
||||
InterruptResponse = realtimeModelSettings.InterruptResponse/*,
|
||||
Threshold = realtimeModelSettings.TurnDetection.Threshold,
|
||||
PrefixPadding = realtimeModelSettings.TurnDetection.PrefixPadding,
|
||||
SilenceDuration = realtimeModelSettings.TurnDetection.SilenceDuration*/
|
||||
|
|
|
|||
|
|
@ -49,14 +49,20 @@ conn.OnModelAudioResponseDone = () =>
|
|||
conn.OnModelUserInterrupted = () =>
|
||||
JsonSerializer.Serialize(new
|
||||
{
|
||||
@event = "clear"
|
||||
@event = "interrupted"
|
||||
});
|
||||
|
||||
conn.OnUserSpeechDetected = () =>
|
||||
JsonSerializer.Serialize(new
|
||||
{
|
||||
@event = "speech-detected"
|
||||
});
|
||||
|
||||
|
||||
await hub.ConnectToModel(async data =>
|
||||
{
|
||||
var response = JsonSerializer.Deserialize<ModelResponseEvent>(data);
|
||||
if (response.Event == "clear")
|
||||
if (response.Event == "speech-detected")
|
||||
{
|
||||
channel.ClearBuffer();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue