@@ -3367,6 +3367,20 @@ static VALUE rb_llama_sampler_init_xtc(VALUE self, VALUE p, VALUE t, VALUE min_k
3367
3367
return TypedData_Wrap_Struct (rb_cLlamaSampler , & llama_sampler_data_type , sampler );
3368
3368
}
3369
3369
3370
+ /**
3371
+ * @overload llama_sampler_init_top_n_sigma(n)
3372
+ * @param [Float] n
3373
+ * @return [LlamaSampler]
3374
+ */
3375
+ static VALUE rb_llama_sampler_init_top_n_sigma (VALUE self , VALUE n ) {
3376
+ if (!RB_FLOAT_TYPE_P (n )) {
3377
+ rb_raise (rb_eArgError , "n must be a Float" );
3378
+ return Qnil ;
3379
+ }
3380
+ struct llama_sampler * sampler = llama_sampler_init_top_n_sigma (NUM2DBL (n ));
3381
+ return TypedData_Wrap_Struct (rb_cLlamaSampler , & llama_sampler_data_type , sampler );
3382
+ }
3383
+
3370
3384
/**
3371
3385
* @overload llama_sampler_init_mirostat(n_vocab, seed, tau, eta, m)
3372
3386
* @param [Integer] n_vocab
@@ -5047,6 +5061,9 @@ void Init_llama_cpp(void) {
5047
5061
/* llama_sampler_init_xtc */
5048
5062
rb_define_module_function (rb_mLlamaCpp , "llama_sampler_init_xtc" , rb_llama_sampler_init_xtc , 4 );
5049
5063
5064
+ /* llama_sampler_init_top_n_sigma */
5065
+ rb_define_module_function (rb_mLlamaCpp , "llama_sampler_init_top_n_sigma" , rb_llama_sampler_init_top_n_sigma , 1 );
5066
+
5050
5067
/* llama_sampler_init_mirostat */
5051
5068
rb_define_module_function (rb_mLlamaCpp , "llama_sampler_init_mirostat" , rb_llama_sampler_init_mirostat , 5 );
5052
5069
0 commit comments