@@ -227,6 +227,7 @@ extension ChatGPTService {
227227 do {
228228 let ( trunks, cancel) = try await api ( )
229229 cancelTask = cancel
230+ let proposedId = UUID ( ) . uuidString
230231 for try await trunk in trunks {
231232 guard let delta = trunk. choices. first? . delta else { continue }
232233
@@ -242,7 +243,7 @@ extension ChatGPTService {
242243 }
243244
244245 await memory. streamMessage (
245- id: trunk. id,
246+ id: trunk. id ?? proposedId ,
246247 role: delta. role,
247248 content: delta. content,
248249 functionCall: functionCall
@@ -323,7 +324,7 @@ extension ChatGPTService {
323324
324325 guard let choice = response. choices. first else { return nil }
325326 let message = ChatMessage (
326- id: response. id,
327+ id: response. id ?? UUID ( ) . uuidString ,
327328 role: choice. message. role,
328329 content: choice. message. content,
329330 name: choice. message. name,
@@ -425,5 +426,5 @@ func maxTokenForReply(model: String, remainingTokens: Int?) -> Int? {
425426 guard let remainingTokens else { return nil }
426427 guard let model = ChatGPTModel ( rawValue: model) else { return remainingTokens }
427428 return min ( model. maxToken / 2 , remainingTokens)
428- }
429+ }
429430
0 commit comments