module Llama.Internal.Foreign.Model (
p_llama_free
, p_llama_model_free
, c_llama_free
, c_llama_init_from_model_wrap
, c_llama_model_default_params
, c_llama_model_load_from_file_wrap
, c_llama_model_free
, c_llama_model_get_vocab
, c_llama_model_load_from_splits
, c_llama_model_rope_type_into
, c_llama_model_n_ctx_train
, c_llama_model_n_embd
, c_llama_model_n_layer
, c_llama_model_n_head
, c_llama_model_n_head_kv
, c_llama_get_model
, c_llama_model_rope_freq_scale_train
, c_llama_vocab_type
, c_llama_model_meta_val_str
, c_llama_model_meta_count
, c_llama_model_meta_key_by_index
, c_llama_model_meta_val_str_by_index
, c_llama_model_desc
, c_llama_model_size
, c_llama_model_chat_template
, c_llama_model_n_params
, c_llama_model_has_encoder
, c_llama_model_has_decoder
, c_llama_model_decoder_start_token
, c_llama_model_is_recurrent
, c_llama_model_quantize
, c_llama_model_quantize_default_params
) where
import Foreign
import Foreign.C
import Llama.Internal.Types
import Llama.Internal.Types.Params
foreign import ccall "&llama_free"
p_llama_free :: FinalizerPtr CLlamaContext
foreign import ccall "&llama_model_free"
p_llama_model_free :: FinalizerPtr CLlamaModel
foreign import ccall "llama_free" c_llama_free :: CLlamaContext -> IO ()
foreign import ccall "llama_init_from_model_into"
c_llama_init_from_model_wrap ::
CLlamaModel -> CLlamaContextParams -> IO CLlamaContext
foreign import ccall "llama_model_default_params"
c_llama_model_default_params :: CLlamaModelParams -> IO ()
foreign import ccall "llama_model_load_from_file_wrap"
c_llama_model_load_from_file_wrap ::
CString -> CLlamaModelParams -> IO CLlamaModel
foreign import ccall "llama_model_free"
c_llama_model_free :: CLlamaModel -> IO ()
foreign import ccall "llama_model_get_vocab"
c_llama_model_get_vocab :: CLlamaModel -> IO CLlamaVocab
foreign import ccall "llama_model_load_from_splits"
c_llama_model_load_from_splits ::
Ptr CString -> CSize -> CLlamaModelParams -> IO CLlamaModel
foreign import ccall safe "llama_model_rope_type_into"
c_llama_model_rope_type_into :: CLlamaModel -> Ptr CInt -> IO ()
foreign import ccall "llama_model_n_ctx_train"
c_llama_model_n_ctx_train :: CLlamaModel -> IO Int32
foreign import ccall "llama_model_n_embd"
c_llama_model_n_embd :: CLlamaModel -> IO Int32
foreign import ccall "llama_model_n_layer"
c_llama_model_n_layer :: CLlamaModel -> IO Int32
foreign import ccall "llama_model_n_head"
c_llama_model_n_head :: CLlamaModel -> IO Int32
foreign import ccall "llama_model_n_head_kv"
c_llama_model_n_head_kv :: CLlamaModel -> IO Int32
foreign import ccall "llama_get_model"
c_llama_get_model :: CLlamaContext -> IO CLlamaModel
foreign import ccall "llama_model_rope_freq_scale_train"
c_llama_model_rope_freq_scale_train :: CLlamaModel -> IO CFloat
foreign import ccall "llama_vocab_type"
c_llama_vocab_type :: CLlamaVocab -> IO CInt
foreign import ccall "llama_model_meta_val_str"
c_llama_model_meta_val_str ::
CLlamaModel ->
CString ->
CString ->
CSize ->
IO CInt
foreign import ccall "llama_model_meta_count"
c_llama_model_meta_count ::
CLlamaModel ->
IO CInt
foreign import ccall "llama_model_meta_key_by_index"
c_llama_model_meta_key_by_index ::
CLlamaModel ->
CInt ->
CString ->
CSize ->
IO CInt
foreign import ccall "llama_model_meta_val_str_by_index"
c_llama_model_meta_val_str_by_index ::
CLlamaModel ->
CInt ->
CString ->
CSize ->
IO CInt
foreign import ccall "llama_model_desc"
c_llama_model_desc ::
CLlamaModel ->
CString ->
CSize ->
IO CInt
foreign import ccall "llama_model_size"
c_llama_model_size ::
CLlamaModel ->
IO Word64
foreign import ccall "llama_model_chat_template"
c_llama_model_chat_template ::
CLlamaModel ->
CString ->
IO CString
foreign import ccall "llama_model_n_params"
c_llama_model_n_params ::
CLlamaModel ->
IO Word64
foreign import ccall "llama_model_has_encoder"
c_llama_model_has_encoder ::
CLlamaModel ->
IO CBool
foreign import ccall "llama_model_has_decoder"
c_llama_model_has_decoder ::
CLlamaModel ->
IO CBool
foreign import ccall "llama_model_decoder_start_token"
c_llama_model_decoder_start_token ::
CLlamaModel ->
IO LlamaToken
foreign import ccall "llama_model_is_recurrent"
c_llama_model_is_recurrent ::
CLlamaModel ->
IO CBool
foreign import ccall "llama_model_quantize"
c_llama_model_quantize ::
CString ->
CString ->
CLlamaModelQuantizeParams ->
IO Word32
foreign import ccall "llama_model_quantize_default_params"
c_llama_model_quantize_default_params :: IO CLlamaModelQuantizeParams