@@ -176,17 +176,23 @@ int main(int argc, char ** argv) {
176
176
177
177
if (!params.steering_add .empty () || !params.steering_sub .empty ())
178
178
{
179
+ fprintf (stderr, " %s: steering: ('%s' - '%s') * %f\n " ,
180
+ __func__, params.steering_add .c_str (), params.steering_sub .c_str (), params.steering_mul );
181
+
182
+ params.steering_add .insert (0 , 1 , ' ' );
183
+ params.steering_sub .insert (0 , 1 , ' ' );
184
+
179
185
auto add_tokens = ::llama_tokenize (ctx, params.steering_add , true );
180
186
auto sub_tokens = ::llama_tokenize (ctx, params.steering_sub , true );
181
187
182
188
183
189
if (add_tokens.size () != sub_tokens.size ()) {
184
- while (add_tokens.size () < sub_tokens.size ()) {
185
- add_tokens.push_back (llama_token_nl ());
186
- }
187
- while (sub_tokens.size () < add_tokens.size ()) {
188
- sub_tokens.push_back (llama_token_nl ());
189
- }
190
+ while (add_tokens.size () < sub_tokens.size ()) {
191
+ add_tokens.push_back (llama_token_nl ());
192
+ }
193
+ while (sub_tokens.size () < add_tokens.size ()) {
194
+ sub_tokens.push_back (llama_token_nl ());
195
+ }
190
196
}
191
197
192
198
llama_set_steering_write (ctx, params.steering_source , +1 .0f );
@@ -196,7 +202,6 @@ int main(int argc, char ** argv) {
196
202
llama_eval (ctx, sub_tokens.data (), std::min ((int )sub_tokens.size (), n_ctx), 0 , params.n_threads );
197
203
198
204
llama_set_steering_read (ctx, params.steering_layer , params.steering_mul );
199
- std::cout << " Steering: `" << params.steering_add << " ` - `" << params.steering_sub << " ` * " << params.steering_mul << " \n " ;
200
205
}
201
206
202
207
// debug message about similarity of saved session, if applicable
0 commit comments