File tree Expand file tree Collapse file tree
CodeCompletionService/API
SuggestionService/RequestStrategies Expand file tree Collapse file tree Original file line number Diff line number Diff 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 (
Original file line number Diff line number Diff 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 ,
Original file line number Diff line number Diff 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 }
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments