KBaba7/llama.cpp
0
1#pragma once2 3#include <string>4#include <vector>5#include <cstdint>6 7enum llm_chat_template {8 LLM_CHAT_TEMPLATE_CHATML,9 LLM_CHAT_TEMPLATE_LLAMA_2,10 LLM_CHAT_TEMPLATE_LLAMA_2_SYS,11 LLM_CHAT_TEMPLATE_LLAMA_2_SYS_BOS,12 LLM_CHAT_TEMPLATE_LLAMA_2_SYS_STRIP,13 LLM_CHAT_TEMPLATE_MISTRAL_V1,14 LLM_CHAT_TEMPLATE_MISTRAL_V3,15 LLM_CHAT_TEMPLATE_MISTRAL_V3_TEKKEN,16 LLM_CHAT_TEMPLATE_MISTRAL_V7,17 LLM_CHAT_TEMPLATE_PHI_3,18 LLM_CHAT_TEMPLATE_PHI_4,19 LLM_CHAT_TEMPLATE_FALCON_3,20 LLM_CHAT_TEMPLATE_ZEPHYR,21 LLM_CHAT_TEMPLATE_MONARCH,22 LLM_CHAT_TEMPLATE_GEMMA,23 LLM_CHAT_TEMPLATE_ORION,24 LLM_CHAT_TEMPLATE_OPENCHAT,25 LLM_CHAT_TEMPLATE_VICUNA,26 LLM_CHAT_TEMPLATE_VICUNA_ORCA,27 LLM_CHAT_TEMPLATE_DEEPSEEK,28 LLM_CHAT_TEMPLATE_DEEPSEEK_2,29 LLM_CHAT_TEMPLATE_DEEPSEEK_3,30 LLM_CHAT_TEMPLATE_COMMAND_R,31 LLM_CHAT_TEMPLATE_LLAMA_3,32 LLM_CHAT_TEMPLATE_CHATGML_3,33 LLM_CHAT_TEMPLATE_CHATGML_4,34 LLM_CHAT_TEMPLATE_GLMEDGE,35 LLM_CHAT_TEMPLATE_MINICPM,36 LLM_CHAT_TEMPLATE_EXAONE_3,37 LLM_CHAT_TEMPLATE_RWKV_WORLD,38 LLM_CHAT_TEMPLATE_GRANITE,39 LLM_CHAT_TEMPLATE_GIGACHAT,40 LLM_CHAT_TEMPLATE_MEGREZ,41 LLM_CHAT_TEMPLATE_UNKNOWN,42};43 44struct llama_chat_message;45 46llm_chat_template llm_chat_template_from_str(const std::string & name);47 48llm_chat_template llm_chat_detect_template(const std::string & tmpl);49 50int32_t llm_chat_apply_template(51 llm_chat_template tmpl,52 const std::vector<const llama_chat_message *> & chat,53 std::string & dest, bool add_ass);54 