module Llama.Internal.Foreign.Sampler (
c_llama_sampler_init_greedy
, c_llama_sampler_init_dist
, c_llama_sampler_init_top_k
, c_llama_sampler_init_top_p
, c_llama_sampler_init_min_p
, c_llama_sampler_init_typical
, c_llama_sampler_init_temp
, c_llama_sampler_init_temp_ext
, c_llama_sampler_init_xtc
, c_llama_sampler_init_top_n_sigma
, c_llama_sampler_init_mirostat
, c_llama_sampler_init_mirostat_v2
, c_llama_sampler_init_grammar
, c_llama_sampler_init_grammar_lazy_patterns
, c_llama_sampler_init_penalties
, c_llama_sampler_init_dry
, c_llama_sampler_init_logit_bias
, c_llama_sampler_init_infill
, c_llama_sampler_sample
, c_llama_sampler_get_seed
, c_llama_sampler_chain_default_params_into
, c_llama_sampler_init
, c_llama_sampler_name
, c_llama_sampler_accept
, c_llama_sampler_apply
, c_llama_sampler_reset
, c_llama_sampler_clone
, p_llama_sampler_free
, c_llama_sampler_free
, c_llama_sampler_chain_init
, c_llama_sampler_chain_add
, c_llama_sampler_chain_get
, c_llama_sampler_chain_n
, c_llama_sampler_chain_remove
) where
import Foreign
import Foreign.C
import Llama.Internal.Types
import Llama.Internal.Types.Params
foreign import ccall "llama_sampler_chain_default_params_into"
c_llama_sampler_chain_default_params_into :: Ptr LlamaSamplerChainParams -> IO ()
foreign import ccall "llama_sampler_init"
c_llama_sampler_init ::
Ptr LlamaSamplerI ->
LlamaSamplerContext ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_name"
c_llama_sampler_name ::
Ptr LlamaSampler ->
IO CString
foreign import ccall "llama_sampler_accept"
c_llama_sampler_accept ::
Ptr LlamaSampler ->
LlamaToken ->
IO ()
foreign import ccall "llama_sampler_apply"
c_llama_sampler_apply ::
Ptr LlamaSampler ->
Ptr LlamaTokenDataArray ->
IO ()
foreign import ccall "llama_sampler_reset"
c_llama_sampler_reset ::
Ptr LlamaSampler ->
IO ()
foreign import ccall "llama_sampler_clone"
c_llama_sampler_clone ::
Ptr LlamaSampler ->
IO (Ptr LlamaSampler)
foreign import ccall "&llama_sampler_free"
p_llama_sampler_free :: FinalizerPtr LlamaSampler
foreign import ccall "llama_sampler_free"
c_llama_sampler_free ::
Ptr LlamaSampler ->
IO ()
foreign import ccall "llama_sampler_chain_init"
c_llama_sampler_chain_init ::
LlamaSamplerChainParams ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_chain_add"
c_llama_sampler_chain_add ::
Ptr LlamaSampler ->
Ptr LlamaSampler ->
IO ()
foreign import ccall "llama_sampler_chain_get"
c_llama_sampler_chain_get ::
Ptr LlamaSampler ->
CInt ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_chain_n"
c_llama_sampler_chain_n ::
Ptr LlamaSampler ->
IO CInt
foreign import ccall "llama_sampler_chain_remove"
c_llama_sampler_chain_remove ::
Ptr LlamaSampler ->
CInt ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_greedy"
c_llama_sampler_init_greedy ::
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_dist"
c_llama_sampler_init_dist ::
CUInt ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_top_k"
c_llama_sampler_init_top_k ::
CInt ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_top_p"
c_llama_sampler_init_top_p ::
CFloat ->
CSize ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_min_p"
c_llama_sampler_init_min_p ::
CFloat ->
CSize ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_typical"
c_llama_sampler_init_typical ::
CFloat ->
CSize ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_temp"
c_llama_sampler_init_temp ::
CFloat ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_temp_ext"
c_llama_sampler_init_temp_ext ::
CFloat ->
CFloat ->
CFloat ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_xtc"
c_llama_sampler_init_xtc ::
CFloat ->
CFloat ->
CSize ->
CUInt ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_top_n_sigma"
c_llama_sampler_init_top_n_sigma ::
CFloat ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_mirostat"
c_llama_sampler_init_mirostat ::
CInt ->
CUInt ->
CFloat ->
CFloat ->
CInt ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_mirostat_v2"
c_llama_sampler_init_mirostat_v2 ::
CUInt ->
CFloat ->
CFloat ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_grammar"
c_llama_sampler_init_grammar ::
CLlamaVocab ->
CString ->
CString ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_grammar_lazy_patterns"
c_llama_sampler_init_grammar_lazy_patterns ::
CLlamaVocab ->
CString ->
CString ->
Ptr CString ->
CSize ->
Ptr LlamaToken ->
CSize ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_penalties"
c_llama_sampler_init_penalties ::
CInt ->
CFloat ->
CFloat ->
CFloat ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_dry"
c_llama_sampler_init_dry ::
CLlamaVocab ->
CInt ->
CFloat ->
CFloat ->
CInt ->
CInt ->
Ptr CString ->
CSize ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_logit_bias"
c_llama_sampler_init_logit_bias ::
CInt ->
CInt ->
Ptr LlamaLogitBias ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_init_infill"
c_llama_sampler_init_infill ::
CLlamaVocab ->
IO (Ptr LlamaSampler)
foreign import ccall "llama_sampler_get_seed"
c_llama_sampler_get_seed ::
Ptr LlamaSampler ->
IO CUInt
foreign import ccall "llama_sampler_sample"
c_llama_sampler_sample ::
Ptr LlamaSampler ->
CLlamaContext ->
CInt ->
IO LlamaToken