|
|
@ -154,7 +154,9 @@ class AgentServiceImpl: NSObject { |
|
|
if let openaiModel = config["openaiModel"] as? String { |
|
|
if let openaiModel = config["openaiModel"] as? String { |
|
|
self.model = openaiModel |
|
|
self.model = openaiModel |
|
|
} |
|
|
} |
|
|
|
|
|
if let openaivisionModel = config["openaivisionModel"] as? String { |
|
|
|
|
|
self.visionModel = openaivisionModel |
|
|
|
|
|
} |
|
|
if let customSystemPrompt = config["systemPrompt"] as? String, !customSystemPrompt.isEmpty { |
|
|
if let customSystemPrompt = config["systemPrompt"] as? String, !customSystemPrompt.isEmpty { |
|
|
self.systemPrompt = customSystemPrompt |
|
|
self.systemPrompt = customSystemPrompt |
|
|
} else { |
|
|
} else { |
|
|
@ -501,7 +503,7 @@ audioStream.saveAudioDataTo(data: audioData) |
|
|
os_log("sendMessageStream调用完成", log: logger, type: .info) |
|
|
os_log("sendMessageStream调用完成", log: logger, type: .info) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
func processImageInput(imagePath: String, text: String, speakResponse: Bool) -> Bool { |
|
|
func processImageInput(imagePath: String,imageUrl: String, text: String, speakResponse: Bool) -> Bool { |
|
|
if !isInitialized { |
|
|
if !isInitialized { |
|
|
sendError("服务未初始化", code: "NOT_INITIALIZED") |
|
|
sendError("服务未初始化", code: "NOT_INITIALIZED") |
|
|
return false |
|
|
return false |
|
|
@ -525,15 +527,15 @@ audioStream.saveAudioDataTo(data: audioData) |
|
|
DispatchQueue.global(qos: .userInitiated).async { [weak self] in |
|
|
DispatchQueue.global(qos: .userInitiated).async { [weak self] in |
|
|
guard let self = self else { return } |
|
|
guard let self = self else { return } |
|
|
|
|
|
|
|
|
guard let imageBase64 = chatApiService.fileToBase64(filePath: imagePath) else { |
|
|
// guard let imageBase64 = chatApiService.fileToBase64(filePath: imagePath) else { |
|
|
DispatchQueue.main.async { |
|
|
// DispatchQueue.main.async { |
|
|
self.sendEvent(name: "error", data: [ |
|
|
// self.sendEvent(name: "error", data: [ |
|
|
"code": "IMAGE_CONVERSION_FAILED", |
|
|
// "code": "IMAGE_CONVERSION_FAILED", |
|
|
"message": "图片转换失败" |
|
|
// "message": "图片转换失败" |
|
|
]) |
|
|
// ]) |
|
|
} |
|
|
// } |
|
|
return |
|
|
// return |
|
|
} |
|
|
// } |
|
|
|
|
|
|
|
|
DispatchQueue.main.async { |
|
|
DispatchQueue.main.async { |
|
|
self.sendEvent(name: "image_ready", data: [ |
|
|
self.sendEvent(name: "image_ready", data: [ |
|
|
@ -541,7 +543,7 @@ audioStream.saveAudioDataTo(data: audioData) |
|
|
"imagePath": imagePath |
|
|
"imagePath": imagePath |
|
|
]) |
|
|
]) |
|
|
|
|
|
|
|
|
let userMessage = chatApiService.createUserMessageWithImage(text: text, imageBase64: imageBase64) |
|
|
let userMessage = chatApiService.createUserMessageWithImage(text: text, imageUrl: imageUrl) |
|
|
let displayText = text.isEmpty ? "[图片]" : text |
|
|
let displayText = text.isEmpty ? "[图片]" : text |
|
|
|
|
|
|
|
|
self.processWithChatApiServiceInternal( |
|
|
self.processWithChatApiServiceInternal( |
|
|
|