@@ -99,7 +99,7 @@ public struct CodeCompletionService {
9999 endpoint: . chatCompletion,
100100 modelName: model. info. modelName,
101101 contextWindow: model. info. maxTokens,
102- maxToken: UserDefaults . shared. value ( for: \. maxGenerationToken) ,
102+ maxToken: UserDefaults . shared. value ( for: \. maxGenerationToken) ,
103103 stopWords: prompt. stopWords,
104104 apiKey: apiKey
105105 )
@@ -114,7 +114,7 @@ public struct CodeCompletionService {
114114 let service = AzureOpenAIService (
115115 url: model. endpoint,
116116 endpoint: . chatCompletion,
117- modelName: model. info. modelName,
117+ modelName: model. info. modelName,
118118 contextWindow: model. info. maxTokens,
119119 maxToken: UserDefaults . shared. value ( for: \. maxGenerationToken) ,
120120 stopWords: prompt. stopWords,
@@ -179,7 +179,7 @@ public struct CodeCompletionService {
179179 endpoint: . completion,
180180 modelName: model. info. modelName,
181181 contextWindow: model. info. maxTokens,
182- maxToken: UserDefaults . shared. value ( for: \. maxGenerationToken) ,
182+ maxToken: UserDefaults . shared. value ( for: \. maxGenerationToken) ,
183183 stopWords: prompt. stopWords,
184184 apiKey: apiKey
185185 )
@@ -211,7 +211,7 @@ public struct CodeCompletionService {
211211 let service = OllamaService (
212212 url: model. endpoint,
213213 endpoint: . completion,
214- modelName: model. info. modelName,
214+ modelName: model. info. modelName,
215215 contextWindow: model. info. maxTokens,
216216 maxToken: UserDefaults . shared. value ( for: \. maxGenerationToken) ,
217217 stopWords: prompt. stopWords,
@@ -256,6 +256,24 @@ public struct CodeCompletionService {
256256 )
257257 try Task . checkCancellation ( )
258258 return result
259+ case . ollama:
260+ let service = OllamaService (
261+ url: model. endpoint,
262+ endpoint: . completionWithSuffix,
263+ modelName: model. info. modelName,
264+ contextWindow: model. info. maxTokens,
265+ maxToken: UserDefaults . shared. value ( for: \. maxGenerationToken) ,
266+ stopWords: prompt. stopWords,
267+ keepAlive: model. info. ollamaInfo. keepAlive,
268+ format: . none
269+ )
270+ let result = try await service. getCompletions (
271+ prompt,
272+ streamStopStrategy: streamStopStrategy,
273+ count: count
274+ )
275+ try Task . checkCancellation ( )
276+ return result
259277 case . unknown:
260278 throw Error . unknownFormat
261279 }
0 commit comments