llama-chat.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. #include <cstdint>
  5. enum llm_chat_template {
  6. LLM_CHAT_TEMPLATE_CHATML,
  7. LLM_CHAT_TEMPLATE_LLAMA_2,
  8. LLM_CHAT_TEMPLATE_LLAMA_2_SYS,
  9. LLM_CHAT_TEMPLATE_LLAMA_2_SYS_BOS,
  10. LLM_CHAT_TEMPLATE_LLAMA_2_SYS_STRIP,
  11. LLM_CHAT_TEMPLATE_MISTRAL_V1,
  12. LLM_CHAT_TEMPLATE_MISTRAL_V3,
  13. LLM_CHAT_TEMPLATE_MISTRAL_V3_TEKKEN,
  14. LLM_CHAT_TEMPLATE_MISTRAL_V7,
  15. LLM_CHAT_TEMPLATE_MISTRAL_V7_TEKKEN,
  16. LLM_CHAT_TEMPLATE_PHI_3,
  17. LLM_CHAT_TEMPLATE_PHI_4,
  18. LLM_CHAT_TEMPLATE_FALCON_3,
  19. LLM_CHAT_TEMPLATE_ZEPHYR,
  20. LLM_CHAT_TEMPLATE_MONARCH,
  21. LLM_CHAT_TEMPLATE_GEMMA,
  22. LLM_CHAT_TEMPLATE_ORION,
  23. LLM_CHAT_TEMPLATE_OPENCHAT,
  24. LLM_CHAT_TEMPLATE_VICUNA,
  25. LLM_CHAT_TEMPLATE_VICUNA_ORCA,
  26. LLM_CHAT_TEMPLATE_DEEPSEEK,
  27. LLM_CHAT_TEMPLATE_DEEPSEEK_2,
  28. LLM_CHAT_TEMPLATE_DEEPSEEK_3,
  29. LLM_CHAT_TEMPLATE_COMMAND_R,
  30. LLM_CHAT_TEMPLATE_LLAMA_3,
  31. LLM_CHAT_TEMPLATE_CHATGLM_3,
  32. LLM_CHAT_TEMPLATE_CHATGLM_4,
  33. LLM_CHAT_TEMPLATE_GLMEDGE,
  34. LLM_CHAT_TEMPLATE_MINICPM,
  35. LLM_CHAT_TEMPLATE_EXAONE_3,
  36. LLM_CHAT_TEMPLATE_EXAONE_4,
  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_YANDEX,
  42. LLM_CHAT_TEMPLATE_BAILING,
  43. LLM_CHAT_TEMPLATE_LLAMA4,
  44. LLM_CHAT_TEMPLATE_SMOLVLM,
  45. LLM_CHAT_TEMPLATE_DOTS1,
  46. LLM_CHAT_TEMPLATE_HUNYUAN_MOE,
  47. LLM_CHAT_TEMPLATE_OPENAI_MOE,
  48. LLM_CHAT_TEMPLATE_HUNYUAN_DENSE,
  49. LLM_CHAT_TEMPLATE_KIMI_K2,
  50. LLM_CHAT_TEMPLATE_UNKNOWN,
  51. };
  52. struct llama_chat_message;
  53. llm_chat_template llm_chat_template_from_str(const std::string & name);
  54. llm_chat_template llm_chat_detect_template(const std::string & tmpl);
  55. int32_t llm_chat_apply_template(
  56. llm_chat_template tmpl,
  57. const std::vector<const llama_chat_message *> & chat,
  58. std::string & dest, bool add_ass);