11
11
#include < stdexcept>
12
12
#include < string>
13
13
#include < vector>
14
- #include " config/remote_template.h"
15
14
#include " utils/format_utils.h"
16
15
#include " utils/remote_models_utils.h"
17
16
18
17
namespace config {
19
18
20
19
struct RemoteModelConfig {
21
20
std::string model;
22
- std::string api_key_template ;
21
+ std::string header_template ;
23
22
std::string engine;
24
23
std::string version;
25
- std:: size_t created;
24
+ size_t created;
26
25
std::string object = " model" ;
27
26
std::string owned_by = " " ;
28
27
Json::Value inference_params;
29
- Json::Value TransformReq ;
30
- Json::Value TransformResp ;
28
+ Json::Value transform_req ;
29
+ Json::Value transform_resp ;
31
30
Json::Value metadata;
32
31
void LoadFromJson (const Json::Value& json) {
33
32
if (!json.isObject ()) {
@@ -36,8 +35,8 @@ struct RemoteModelConfig {
36
35
37
36
// Load basic string fields
38
37
model = json.get (" model" , model).asString ();
39
- api_key_template =
40
- json.get (" api_key_template " , api_key_template ).asString ();
38
+ header_template =
39
+ json.get (" header_template " , header_template ).asString ();
41
40
engine = json.get (" engine" , engine).asString ();
42
41
version = json.get (" version" , version).asString ();
43
42
created =
@@ -47,31 +46,8 @@ struct RemoteModelConfig {
47
46
48
47
// Load JSON object fields directly
49
48
inference_params = json.get (" inference_params" , inference_params);
50
- TransformReq = json.get (" TransformReq" , TransformReq);
51
- // Use default template if it is empty, currently we only support 2 remote engines
52
- auto is_anthropic = [](const std::string& model) {
53
- return model.find (" claude" ) != std::string::npos;
54
- };
55
- if (TransformReq[" chat_completions" ][" template" ].isNull ()) {
56
- if (is_anthropic (model)) {
57
- TransformReq[" chat_completions" ][" template" ] =
58
- kAnthropicTransformReqTemplate ;
59
- } else {
60
- TransformReq[" chat_completions" ][" template" ] =
61
- kOpenAITransformReqTemplate ;
62
- }
63
- }
64
- TransformResp = json.get (" TransformResp" , TransformResp);
65
- if (TransformResp[" chat_completions" ][" template" ].isNull ()) {
66
- if (is_anthropic (model)) {
67
- TransformResp[" chat_completions" ][" template" ] =
68
- kAnthropicTransformRespTemplate ;
69
- } else {
70
- TransformResp[" chat_completions" ][" template" ] =
71
- kOpenAITransformRespTemplate ;
72
- }
73
- }
74
-
49
+ transform_req = json.get (" transform_req" , transform_req);
50
+ transform_resp = json.get (" transform_resp" , transform_resp);
75
51
metadata = json.get (" metadata" , metadata);
76
52
}
77
53
@@ -80,7 +56,7 @@ struct RemoteModelConfig {
80
56
81
57
// Add basic string fields
82
58
json[" model" ] = model;
83
- json[" api_key_template " ] = api_key_template ;
59
+ json[" header_template " ] = header_template ;
84
60
json[" engine" ] = engine;
85
61
json[" version" ] = version;
86
62
json[" created" ] = static_cast <Json::UInt64>(created);
@@ -89,8 +65,8 @@ struct RemoteModelConfig {
89
65
90
66
// Add JSON object fields directly
91
67
json[" inference_params" ] = inference_params;
92
- json[" TransformReq " ] = TransformReq ;
93
- json[" TransformResp " ] = TransformResp ;
68
+ json[" transform_req " ] = transform_req ;
69
+ json[" transform_resp " ] = transform_resp ;
94
70
json[" metadata" ] = metadata;
95
71
96
72
return json;
@@ -101,7 +77,7 @@ struct RemoteModelConfig {
101
77
102
78
// Convert basic fields
103
79
root[" model" ] = model;
104
- root[" api_key_template " ] = api_key_template ;
80
+ root[" header_template " ] = header_template ;
105
81
root[" engine" ] = engine;
106
82
root[" version" ] = version;
107
83
root[" object" ] = object;
@@ -111,8 +87,8 @@ struct RemoteModelConfig {
111
87
// Convert Json::Value to YAML::Node using utility function
112
88
root[" inference_params" ] =
113
89
remote_models_utils::jsonToYaml (inference_params);
114
- root[" TransformReq " ] = remote_models_utils::jsonToYaml (TransformReq );
115
- root[" TransformResp " ] = remote_models_utils::jsonToYaml (TransformResp );
90
+ root[" transform_req " ] = remote_models_utils::jsonToYaml (transform_req );
91
+ root[" transform_resp " ] = remote_models_utils::jsonToYaml (transform_resp );
116
92
root[" metadata" ] = remote_models_utils::jsonToYaml (metadata);
117
93
118
94
// Save to file
@@ -134,7 +110,7 @@ struct RemoteModelConfig {
134
110
135
111
// Load basic fields
136
112
model = root[" model" ].as <std::string>(" " );
137
- api_key_template = root[" api_key_template " ].as <std::string>(" " );
113
+ header_template = root[" header_template " ].as <std::string>(" " );
138
114
engine = root[" engine" ].as <std::string>(" " );
139
115
version = root[" version" ] ? root[" version" ].as <std::string>() : " " ;
140
116
created = root[" created" ] ? root[" created" ].as <std::size_t >() : 0 ;
@@ -144,8 +120,8 @@ struct RemoteModelConfig {
144
120
// Load complex fields using utility function
145
121
inference_params =
146
122
remote_models_utils::yamlToJson (root[" inference_params" ]);
147
- TransformReq = remote_models_utils::yamlToJson (root[" TransformReq " ]);
148
- TransformResp = remote_models_utils::yamlToJson (root[" TransformResp " ]);
123
+ transform_req = remote_models_utils::yamlToJson (root[" transform_req " ]);
124
+ transform_resp = remote_models_utils::yamlToJson (root[" transform_resp " ]);
149
125
metadata = remote_models_utils::yamlToJson (root[" metadata" ]);
150
126
}
151
127
};
0 commit comments