Add reasoning parameter support for Gemini and OpenAI models
This commit is contained in:
parent
2e5c737255
commit
fcc7b4783f
@ -292,13 +292,18 @@ class AIEnhancementService: ObservableObject {
|
||||
["role": "user", "content": formattedText]
|
||||
]
|
||||
|
||||
let requestBody: [String: Any] = [
|
||||
var requestBody: [String: Any] = [
|
||||
"model": aiService.currentModel,
|
||||
"messages": messages,
|
||||
"temperature": aiService.currentModel.lowercased().hasPrefix("gpt-5") ? 1.0 : 0.3,
|
||||
"stream": false
|
||||
]
|
||||
|
||||
// Add reasoning_effort parameter if the model supports it
|
||||
if let reasoningEffort = ReasoningConfig.getReasoningParameter(for: aiService.currentModel) {
|
||||
requestBody["reasoning_effort"] = reasoningEffort
|
||||
}
|
||||
|
||||
request.httpBody = try? JSONSerialization.data(withJSONObject: requestBody)
|
||||
|
||||
do {
|
||||
|
||||
24
VoiceInk/Services/AIEnhancement/ReasoningConfig.swift
Normal file
24
VoiceInk/Services/AIEnhancement/ReasoningConfig.swift
Normal file
@ -0,0 +1,24 @@
|
||||
import Foundation
|
||||
|
||||
struct ReasoningConfig {
|
||||
static let geminiReasoningModels: Set<String> = [
|
||||
"gemini-2.5-flash",
|
||||
"gemini-2.5-flash-lite"
|
||||
]
|
||||
|
||||
static let openAIReasoningModels: Set<String> = [
|
||||
"gpt-5",
|
||||
"gpt-5-mini",
|
||||
"gpt-5-nano"
|
||||
]
|
||||
|
||||
static func getReasoningParameter(for modelName: String) -> String? {
|
||||
if geminiReasoningModels.contains(modelName) {
|
||||
return "low"
|
||||
} else if openAIReasoningModels.contains(modelName) {
|
||||
return "minimal"
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user