Skip to content

Commit 0164426

Browse files
committed
Allow toggling raw mode
1 parent f546302 commit 0164426

4 files changed

Lines changed: 12 additions & 3 deletions

File tree

Core/Sources/CodeCompletionService/API/OllamaService.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ extension OllamaService: CodeCompletionServiceType {
7575
case .completion:
7676
let prompt = createPrompt(from: request)
7777
CodeCompletionLogger.logger.logPrompt([(prompt, "user")])
78-
let stream = try await sendPrompt(prompt)
78+
let stream = try await sendPrompt(prompt, raw: request.promptIsRaw)
7979
return stream.compactMap { $0.response }
8080
case .completionWithSuffix:
8181
let strategy = DefaultTruncateStrategy(maxTokenLimit: max(

Core/Sources/Storage/Preferences.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,13 @@ public extension UserDefaultPreferenceKeys {
122122
)
123123
}
124124

125+
var fimPromptIsRaw: PreferenceKey<Bool> {
126+
.init(
127+
defaultValue: false,
128+
key: "CustomSuggestionService-FimPromptIsRaw"
129+
)
130+
}
131+
125132
var maxGenerationToken: PreferenceKey<Int> {
126133
.init(
127134
defaultValue: 200,

Core/Sources/SuggestionService/RequestStrategies/FillInTheMiddleRequestStrategy.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ struct FillInTheMiddleRequestStrategy: RequestStrategy {
4242
var relevantCodeSnippets: [RelevantCodeSnippet] { sourceRequest.relevantCodeSnippets }
4343
var stopWords: [String] { ["\n\n", Tag.stop].filter { !$0.isEmpty } }
4444
var language: CodeLanguage? { sourceRequest.language }
45-
var promptIsRaw: Bool { true }
45+
var promptIsRaw: Bool { UserDefaults.shared.value(for: \.fimPromptIsRaw) }
4646

4747
var suggestionPrefix: SuggestionPrefix {
4848
guard let prefix = prefix.last else { return .empty }

CustomSuggestionService/ContentView.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ struct ContentView: View {
5353
) {
5454
Text("Suggestion Line Limit (0 for unlimited)")
5555
}
56-
56+
5757
NumberInput(
5858
value: settings.$maxGenerationToken,
5959
range: 0...Int.max,
@@ -181,6 +181,7 @@ struct RequestStrategyPicker: View {
181181
final class Settings: ObservableObject {
182182
@AppStorage(\.requestStrategyId) var requestStrategyId
183183
@AppStorage(\.fimTemplate) var fimTemplate
184+
@AppStorage(\.fimPromptIsRaw) var fimPromptIsRaw
184185
@AppStorage(\.fimStopToken) var fimStopToken
185186
}
186187

@@ -233,6 +234,7 @@ struct RequestStrategyPicker: View {
233234
text: $settings.fimTemplate,
234235
prompt: Text(UserDefaults.shared.defaultValue(for: \.fimTemplate))
235236
) { Text("FIM Template") }
237+
Toggle(isOn: $settings.fimPromptIsRaw) { Text("Raw Prompt") }
236238
TextField(text: $settings.fimStopToken) { Text("FIM Stop Token") }
237239
}
238240
}

0 commit comments

Comments
 (0)