@@ -64,6 +64,25 @@ public struct ChatModel: Codable, Equatable, Identifiable {
6464 self . apiVersion = apiVersion
6565 }
6666 }
67+
68+ public struct CustomHeaderInfo : Codable , Equatable {
69+ public struct HeaderField : Codable , Equatable {
70+ public var key : String
71+ public var value : String
72+
73+ public init ( key: String , value: String ) {
74+ self . key = key
75+ self . value = value
76+ }
77+ }
78+
79+ @FallbackDecoding < EmptyArray >
80+ public var headers : [ HeaderField ]
81+
82+ public init ( headers: [ HeaderField ] = [ ] ) {
83+ self . headers = headers
84+ }
85+ }
6786
6887 @FallbackDecoding < EmptyString >
6988 public var apiKeyName : String
@@ -86,6 +105,8 @@ public struct ChatModel: Codable, Equatable, Identifiable {
86105 public var googleGenerativeAIInfo : GoogleGenerativeAIInfo
87106 @FallbackDecoding < EmptyChatModelOpenAICompatibleInfo >
88107 public var openAICompatibleInfo : OpenAICompatibleInfo
108+ @FallbackDecoding < EmptyChatModelCustomHeaderInfo >
109+ public var customHeaderInfo : CustomHeaderInfo
89110
90111 public init (
91112 apiKeyName: String = " " ,
@@ -97,7 +118,8 @@ public struct ChatModel: Codable, Equatable, Identifiable {
97118 openAIInfo: OpenAIInfo = OpenAIInfo ( ) ,
98119 ollamaInfo: OllamaInfo = OllamaInfo ( ) ,
99120 googleGenerativeAIInfo: GoogleGenerativeAIInfo = GoogleGenerativeAIInfo ( ) ,
100- openAICompatibleInfo: OpenAICompatibleInfo = OpenAICompatibleInfo ( )
121+ openAICompatibleInfo: OpenAICompatibleInfo = OpenAICompatibleInfo ( ) ,
122+ customHeaderInfo: CustomHeaderInfo = CustomHeaderInfo ( )
101123 ) {
102124 self . apiKeyName = apiKeyName
103125 self . baseURL = baseURL
@@ -109,6 +131,7 @@ public struct ChatModel: Codable, Equatable, Identifiable {
109131 self . ollamaInfo = ollamaInfo
110132 self . googleGenerativeAIInfo = googleGenerativeAIInfo
111133 self . openAICompatibleInfo = openAICompatibleInfo
134+ self . customHeaderInfo = customHeaderInfo
112135 }
113136 }
114137
@@ -168,3 +191,7 @@ public struct EmptyChatModelGoogleGenerativeAIInfo: FallbackValueProvider {
168191public struct EmptyChatModelOpenAICompatibleInfo : FallbackValueProvider {
169192 public static var defaultValue : ChatModel . Info . OpenAICompatibleInfo { . init( ) }
170193}
194+
195+ public struct EmptyChatModelCustomHeaderInfo : FallbackValueProvider {
196+ public static var defaultValue : ChatModel . Info . CustomHeaderInfo { . init( ) }
197+ }
0 commit comments