| 1521 | } |
| 1522 | |
| 1523 | static void common_chat_parse(common_chat_msg_parser & builder) { |
| 1524 | LOG_DBG("Parsing input with format %s: %s\n", common_chat_format_name(builder.syntax().format), builder.input().c_str()); |
| 1525 | |
| 1526 | switch (builder.syntax().format) { |
| 1527 | case COMMON_CHAT_FORMAT_CONTENT_ONLY: |
| 1528 | common_chat_parse_content_only(builder); |
| 1529 | break; |
| 1530 | case COMMON_CHAT_FORMAT_GENERIC: |
| 1531 | common_chat_parse_generic(builder); |
| 1532 | break; |
| 1533 | case COMMON_CHAT_FORMAT_MISTRAL_NEMO: |
| 1534 | common_chat_parse_mistral_nemo(builder); |
| 1535 | break; |
| 1536 | case COMMON_CHAT_FORMAT_MAGISTRAL: |
| 1537 | common_chat_parse_magistral(builder); |
| 1538 | break; |
| 1539 | case COMMON_CHAT_FORMAT_LLAMA_3_X: |
| 1540 | common_chat_parse_llama_3_1(builder); |
| 1541 | break; |
| 1542 | case COMMON_CHAT_FORMAT_LLAMA_3_X_WITH_BUILTIN_TOOLS: |
| 1543 | common_chat_parse_llama_3_1(builder, /* with_builtin_tools= */ true); |
| 1544 | break; |
| 1545 | case COMMON_CHAT_FORMAT_DEEPSEEK_R1: |
| 1546 | common_chat_parse_deepseek_r1(builder); |
| 1547 | break; |
| 1548 | case COMMON_CHAT_FORMAT_DEEPSEEK_V3_1: |
| 1549 | common_chat_parse_deepseek_v3_1(builder); |
| 1550 | break; |
| 1551 | case COMMON_CHAT_FORMAT_FUNCTIONARY_V3_2: |
| 1552 | common_chat_parse_functionary_v3_2(builder); |
| 1553 | break; |
| 1554 | case COMMON_CHAT_FORMAT_FUNCTIONARY_V3_1_LLAMA_3_1: |
| 1555 | common_chat_parse_functionary_v3_1_llama_3_1(builder); |
| 1556 | break; |
| 1557 | case COMMON_CHAT_FORMAT_HERMES_2_PRO: |
| 1558 | common_chat_parse_hermes_2_pro(builder); |
| 1559 | break; |
| 1560 | case COMMON_CHAT_FORMAT_FIREFUNCTION_V2: |
| 1561 | common_chat_parse_firefunction_v2(builder); |
| 1562 | break; |
| 1563 | case COMMON_CHAT_FORMAT_COMMAND_R7B: |
| 1564 | common_chat_parse_command_r7b(builder); |
| 1565 | break; |
| 1566 | case COMMON_CHAT_FORMAT_GRANITE: |
| 1567 | common_chat_parse_granite(builder); |
| 1568 | break; |
| 1569 | case COMMON_CHAT_FORMAT_GPT_OSS: |
| 1570 | common_chat_parse_gpt_oss(builder); |
| 1571 | break; |
| 1572 | case COMMON_CHAT_FORMAT_SEED_OSS: |
| 1573 | common_chat_parse_seed_oss(builder); |
| 1574 | break; |
| 1575 | case COMMON_CHAT_FORMAT_NEMOTRON_V2: |
| 1576 | common_chat_parse_nemotron_v2(builder); |
| 1577 | break; |
| 1578 | case COMMON_CHAT_FORMAT_APERTUS: |
| 1579 | common_chat_parse_apertus(builder); |
| 1580 | break; |