Skip to content

Commit 2bed2b6

Browse files
authored
Merge pull request intitni#625 from tmpit/ollama_api_token
Authenticate when sending requests to Ollama
2 parents 02f0f38 + 6a90966 commit 2bed2b6

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

Core/Sources/HostApp/AccountSettings/ChatModelManagement/ChatModelEditView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,8 @@ struct ChatModelEditView: View {
380380
BaseURLTextField(store: store, prompt: Text("http://127.0.0.1:11434")) {
381381
Text("/api/chat")
382382
}
383+
384+
ApiKeyNamePicker(store: store)
383385

384386
TextField("Model Name", text: $store.modelName)
385387

Tool/Sources/OpenAIService/APIs/OlamaChatCompletionsService.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ extension OllamaChatCompletionsService: ChatCompletionsAPI {
5959
let encoder = JSONEncoder()
6060
request.httpBody = try encoder.encode(requestBody)
6161
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
62+
63+
if !apiKey.isEmpty {
64+
request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")
65+
}
66+
6267
let (result, response) = try await URLSession.shared.data(for: request)
6368

6469
guard let response = response as? HTTPURLResponse else {
@@ -135,6 +140,11 @@ extension OllamaChatCompletionsService: ChatCompletionsStreamAPI {
135140
let encoder = JSONEncoder()
136141
request.httpBody = try encoder.encode(requestBody)
137142
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
143+
144+
if !apiKey.isEmpty {
145+
request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")
146+
}
147+
138148
let (result, response) = try await URLSession.shared.bytes(for: request)
139149

140150
guard let response = response as? HTTPURLResponse else {

0 commit comments

Comments
 (0)