cerebras AI provider integration

This commit is contained in:
Beingpax 2025-07-23 21:08:14 +05:45
parent 71f4190f39
commit f9adfd5269
3 changed files with 16 additions and 2 deletions

View File

@ -9,9 +9,9 @@
/* Begin PBXBuildFile section */
E1A261122CC143AC00B233D1 /* KeyboardShortcuts in Frameworks */ = {isa = PBXBuildFile; productRef = E1A261112CC143AC00B233D1 /* KeyboardShortcuts */; };
E1A8C8CB2E1257B7003E58EC /* whisper.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E1A8C8CA2E1257B7003E58EC /* whisper.xcframework */; };
E1A8C8CC2E1257B7003E58EC /* whisper.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E1A8C8CA2E1257B7003E58EC /* whisper.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
E1ADD45A2CC5352A00303ECB /* LaunchAtLogin in Frameworks */ = {isa = PBXBuildFile; productRef = E1ADD4592CC5352A00303ECB /* LaunchAtLogin */; };
E1ADD45F2CC544F100303ECB /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = E1ADD45E2CC544F100303ECB /* Sparkle */; };
E1E0B9622E3133EF00C10E20 /* whisper.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E1A8C8CA2E1257B7003E58EC /* whisper.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
E1F5FA7A2DA6CBF900B1FD8A /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = E1F5FA792DA6CBF900B1FD8A /* Zip */; };
/* End PBXBuildFile section */
@ -39,7 +39,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
E1A8C8CC2E1257B7003E58EC /* whisper.xcframework in Embed Frameworks */,
E1E0B9622E3133EF00C10E20 /* whisper.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;

View File

@ -13,6 +13,7 @@ enum AIProvider: String, CaseIterable {
case elevenLabs = "ElevenLabs"
case deepgram = "Deepgram"
case custom = "Custom"
case cerebras = "Cerebras"
var baseURL: String {
@ -39,6 +40,8 @@ enum AIProvider: String, CaseIterable {
return "https://api.deepgram.com/v1/listen"
case .custom:
return UserDefaults.standard.string(forKey: "customProviderBaseURL") ?? ""
case .cerebras:
return "https://api.cerebras.ai/v1/chat/completions"
}
}
@ -67,6 +70,8 @@ enum AIProvider: String, CaseIterable {
return UserDefaults.standard.string(forKey: "customProviderModel") ?? ""
case .openRouter:
return "openai/gpt-4o"
case .cerebras:
return "llama-4-scout-17b-16e-instruct"
}
}
@ -121,6 +126,13 @@ enum AIProvider: String, CaseIterable {
return []
case .openRouter:
return []
case .cerebras:
return [
"llama-4-scout-17b-16e-instruct",
"llama3.1-8b",
"llama-3.3-70b",
"qwen-3-32b"
]
}
}

View File

@ -424,6 +424,8 @@ struct APIKeyManagementView: View {
URL(string: "")! // This case should never be reached
case .openRouter:
URL(string: "https://openrouter.ai/keys")!
case .cerebras:
URL(string: "https://cloud.cerebras.ai/")!
}
NSWorkspace.shared.open(url)
} label: {