Skip to content

Commit de7c2fb

Browse files
committed
Add block base initializer for EmbeddingConfiguration overrides
1 parent dec8584 commit de7c2fb

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

Tool/Sources/OpenAIService/Configuration/EmbeddingConfiguration.swift

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public protocol EmbeddingConfiguration {
99
var model: String { get }
1010
}
1111

12-
extension EmbeddingConfiguration {
12+
public extension EmbeddingConfiguration {
1313
func endpoint(for provider: EmbeddingFeatureProvider) -> String {
1414
switch provider {
1515
case .openAI:
@@ -24,7 +24,7 @@ extension EmbeddingConfiguration {
2424
return "\(baseURL)/openai/deployments/\(deployment)/embeddings?api-version=\(version)"
2525
}
2626
}
27-
27+
2828
func apiKey(for provider: EmbeddingFeatureProvider) -> String {
2929
switch provider {
3030
case .openAI:
@@ -33,11 +33,19 @@ extension EmbeddingConfiguration {
3333
return UserDefaults.shared.value(for: \.azureOpenAIAPIKey)
3434
}
3535
}
36-
36+
3737
func overriding(
38-
_ overrides: OverridingEmbeddingConfiguration<Self>.Overriding = .init()
38+
_ overrides: OverridingEmbeddingConfiguration<Self>.Overriding
3939
) -> OverridingEmbeddingConfiguration<Self> {
4040
.init(overriding: self, with: overrides)
4141
}
42+
43+
func overriding(
44+
_ update: (inout OverridingEmbeddingConfiguration<Self>.Overriding) -> Void = { _ in }
45+
) -> OverridingEmbeddingConfiguration<Self> {
46+
var overrides = OverridingEmbeddingConfiguration<Self>.Overriding()
47+
update(&overrides)
48+
return .init(overriding: self, with: overrides)
49+
}
4250
}
4351

0 commit comments

Comments
 (0)