@@ -39,7 +39,9 @@ public struct UserPreferenceChatGPTConfiguration: ChatGPTConfiguration {
3939 public init ( ) { }
4040}
4141
42- public class OverridingUserPreferenceChatGPTConfiguration : ChatGPTConfiguration {
42+ public class OverridingChatGPTConfiguration <
43+ Configuration: ChatGPTConfiguration
44+ > : ChatGPTConfiguration {
4345 public struct Overriding {
4446 var featureProvider : ChatFeatureProvider ?
4547 var temperature : Double ?
@@ -71,47 +73,48 @@ public class OverridingUserPreferenceChatGPTConfiguration: ChatGPTConfiguration
7173 }
7274 }
7375
74- private let userPreference = UserPreferenceChatGPTConfiguration ( )
76+ private let configuration : Configuration
7577 public var overriding = Overriding ( )
7678
77- public init ( overriding: Overriding = . init( ) ) {
78- self . overriding = overriding
79+ public init ( overriding configuration: Configuration , with overrides: Overriding = . init( ) ) {
80+ self . overriding = overrides
81+ self . configuration = configuration
7982 }
8083
8184 public var featureProvider : ChatFeatureProvider {
82- overriding. featureProvider ?? userPreference . featureProvider
85+ overriding. featureProvider ?? configuration . featureProvider
8386 }
8487
8588 public var temperature : Double {
86- overriding. temperature ?? userPreference . temperature
89+ overriding. temperature ?? configuration . temperature
8790 }
8891
8992 public var model : String {
90- overriding. model ?? userPreference . model
93+ overriding. model ?? configuration . model
9194 }
9295
9396 public var endpoint : String {
9497 overriding. endPoint
9598 ?? overriding. featureProvider. map ( endpoint ( for: ) )
96- ?? userPreference . endpoint
99+ ?? configuration . endpoint
97100 }
98101
99102 public var apiKey : String {
100103 overriding. apiKey
101104 ?? overriding. featureProvider. map ( apiKey ( for: ) )
102- ?? userPreference . apiKey
105+ ?? configuration . apiKey
103106 }
104107
105108 public var stop : [ String ] {
106- overriding. stop ?? userPreference . stop
109+ overriding. stop ?? configuration . stop
107110 }
108111
109112 public var maxTokens : Int {
110- overriding. maxTokens ?? userPreference . maxTokens
113+ overriding. maxTokens ?? configuration . maxTokens
111114 }
112115
113116 public var minimumReplyTokens : Int {
114- overriding. minimumReplyTokens ?? userPreference . minimumReplyTokens
117+ overriding. minimumReplyTokens ?? configuration . minimumReplyTokens
115118 }
116119}
117120
0 commit comments