Skip to content

Commit 44357bf

Browse files
author
Jicheng Lu
committed
revert
1 parent 01175d1 commit 44357bf

2 files changed

Lines changed: 3 additions & 81 deletions

File tree

src/Infrastructure/BotSharp.Core.Realtime/Services/RealtimeHub.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public async Task ConnectToModel(Func<string, Task>? responseToUser = null, Func
3939
var dialogs = convService.GetDialogHistory();
4040
if (dialogs.Count == 0)
4141
{
42-
//dialogs.Add(new RoleDialogModel(AgentRole.User, "Hi"));
43-
//storage.Append(_conn.ConversationId, dialogs.First());
42+
dialogs.Add(new RoleDialogModel(AgentRole.User, "Hi"));
43+
storage.Append(_conn.ConversationId, dialogs.First());
4444
}
4545

4646
routing.Context.SetDialogs(dialogs);

src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/RealTimeCompletionProvider.cs

Lines changed: 1 addition & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
using BotSharp.Abstraction.Options;
21
using BotSharp.Plugin.OpenAI.Models.Realtime;
32
using BotSharp.Plugin.OpenAI.Providers.Realtime.Session;
4-
using Newtonsoft.Json.Linq;
53
using OpenAI.Chat;
6-
using System.Collections.Concurrent;
7-
using System.Threading.Channels;
8-
using static System.Runtime.InteropServices.JavaScript.JSType;
4+
using System;
95

106
namespace BotSharp.Plugin.OpenAI.Providers.Realtime;
117

@@ -25,9 +21,6 @@ public class RealTimeCompletionProvider : IRealTimeCompletion
2521
protected string _model = "gpt-4o-mini-realtime-preview";
2622
private RealtimeChatSession _session;
2723

28-
//private Channel<AudioMessage> _messageChannel;
29-
//private ConcurrentDictionary<string, AudioMessage> _messageDic;
30-
3124
public RealTimeCompletionProvider(
3225
RealtimeModelSettings settings,
3326
ILogger<RealTimeCompletionProvider> logger,
@@ -54,13 +47,6 @@ public async Task Connect(
5447
var realtimeModelSettings = _services.GetRequiredService<RealtimeModelSettings>();
5548
_model = realtimeModelSettings.Model;
5649

57-
//_messageDic = new();
58-
//_messageChannel = Channel.CreateUnbounded<AudioMessage>(new UnboundedChannelOptions
59-
//{
60-
// SingleReader = true,
61-
// SingleWriter = true
62-
//});
63-
6450
if (_session != null)
6551
{
6652
_session.Dispose();
@@ -78,38 +64,6 @@ public async Task Connect(
7864
onConversationItemCreated,
7965
onInputAudioTranscriptionCompleted,
8066
onInterruptionDetected);
81-
82-
//_ = Task.Run(async () =>
83-
//{
84-
// await foreach (var item in _messageChannel.Reader.ReadAllAsync())
85-
// {
86-
// var start = DateTime.UtcNow;
87-
// while (_messageDic.TryGetValue(item.ItemId, out var found) && !string.IsNullOrEmpty(found.Transcript))
88-
// {
89-
// if (found.Event == "conversation.item.input_audio_transcription.completed")
90-
// {
91-
// var message = await OnUserAudioTranscriptionCompleted(conn, found.ReceivedText);
92-
// if (!string.IsNullOrEmpty(message.Content))
93-
// {
94-
// onInputAudioTranscriptionCompleted(message);
95-
// }
96-
// _messageDic.TryRemove(found.ItemId, out _);
97-
// }
98-
// else if (found.Event == "response.done")
99-
// {
100-
// var messages = await OnResponsedDone(conn, found.ReceivedText);
101-
// onModelResponseDone(messages);
102-
// _messageDic.TryRemove(found.ItemId, out _);
103-
// }
104-
105-
// if ((DateTime.UtcNow - start).TotalSeconds > 2)
106-
// {
107-
// _messageDic.TryRemove(found.ItemId, out _);
108-
// start = DateTime.UtcNow;
109-
// }
110-
// }
111-
// }
112-
//});
11367
}
11468

11569
public async Task Disconnect()
@@ -241,16 +195,6 @@ private async Task ReceiveMessage(RealtimeHubConnection conn,
241195
{
242196
_logger.LogInformation($"{response.Type}: {receivedText}");
243197

244-
//var data = JsonSerializer.Deserialize<ResponseDone>(receivedText);
245-
//var output = data.Body.Outputs.FirstOrDefault();
246-
247-
//if (output != null && _messageDic.TryGetValue(output.Id, out var item))
248-
//{
249-
// item.Event = response.Type;
250-
// item.ReceivedText = receivedText;
251-
// item.Transcript = output.Content.FirstOrDefault()?.Transcript;
252-
//}
253-
254198
var messages = await OnResponsedDone(conn, receivedText);
255199
onModelResponseDone(messages);
256200
}
@@ -259,32 +203,13 @@ private async Task ReceiveMessage(RealtimeHubConnection conn,
259203
_logger.LogInformation($"{response.Type}: {receivedText}");
260204

261205
var data = JsonSerializer.Deserialize<ConversationItemCreated>(receivedText);
262-
//_messageDic.TryAdd(data.Item.Id, new AudioMessage
263-
//{
264-
// ItemId = data.Item.Id,
265-
// ReceivedText = receivedText
266-
//});
267-
//await _messageChannel.Writer.WriteAsync(new AudioMessage
268-
//{
269-
// ItemId = data.Item.Id,
270-
// ReceivedText = receivedText
271-
//});
272-
273206
await Task.Delay(500);
274207
onConversationItemCreated(receivedText);
275208
}
276209
else if (response.Type == "conversation.item.input_audio_transcription.completed")
277210
{
278211
_logger.LogInformation($"{response.Type}: {receivedText}");
279212

280-
//var data = JsonSerializer.Deserialize<ResponseAudioTranscript>(receivedText);
281-
//if (_messageDic.TryGetValue(data.ItemId, out var item))
282-
//{
283-
// item.Event = response.Type;
284-
// item.ReceivedText = receivedText;
285-
// item.Transcript = data.Transcript;
286-
//}
287-
288213
var message = await OnUserAudioTranscriptionCompleted(conn, receivedText);
289214
if (!string.IsNullOrEmpty(message.Content))
290215
{
@@ -305,12 +230,9 @@ private async Task ReceiveMessage(RealtimeHubConnection conn,
305230
else if (response.Type == "input_audio_buffer.committed")
306231
{
307232
_logger.LogInformation($"{response.Type}: {receivedText}");
308-
await Task.Delay(500);
309233
}
310234
}
311235

312-
//_messageChannel?.Writer.TryComplete();
313-
//_messageChannel = null;
314236
_session.Dispose();
315237
}
316238

0 commit comments

Comments
 (0)