llama-cpp-hs-0.1.0.0: src/Llama/Internal/Foreign/ChatTemplate.hs
module Llama.Internal.Foreign.ChatTemplate
( c_llama_chat_apply_template
, c_llama_chat_builtin_templates
) where
import Foreign
import Foreign.C
import Llama.Internal.Types
{- | LLAMA_API int32_t llama_chat_apply_template(
| const char * tmpl,
| const struct llama_chat_message * chat,
| size_t n_msg,
| bool add_ass,
| char * buf,
| int32_t length);
-}
foreign import ccall "llama_chat_apply_template"
c_llama_chat_apply_template ::
CString -> -- tmpl (nullable)
Ptr LlamaChatMessage -> -- chat (array of messages)
CSize -> -- n_msg (number of messages)
CBool -> -- add_ass (add assistant token)
CString -> -- buf (output buffer)
CInt -> -- length (size of buffer)
-- | Returns required buffer size (if > length) or bytes written
IO CInt
-- | LLAMA_API int32_t llama_chat_builtin_templates(const char ** output, size_t len);
foreign import ccall "llama_chat_builtin_templates"
c_llama_chat_builtin_templates ::
Ptr CString -> -- output (array of template names)
CSize -> -- len (max number of names to write)
-- | Returns total number of available templates
IO CInt