Skip to content

Commit

Permalink
Jinja模板支持"is defined"和“elif”,支持DeepSeek V2系列模板
Browse files Browse the repository at this point in the history
  • Loading branch information
cgli authored and TylunasLi committed Jul 21, 2024
1 parent 416644e commit 67eba11
Show file tree
Hide file tree
Showing 4 changed files with 1,121 additions and 1,098 deletions.
24 changes: 13 additions & 11 deletions docs/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,20 +68,24 @@
| Qwen/Qwen2-7B-Instruct | [](#其它模型) | [](#qwen模型导出) ||
| Qwen/Qwen2-72B-Instruct | | [](#qwen模型导出) ||

> 注3: 需要更新,检查 tokenizer_config.json 是否为最新版本
> 注3: 需要更新,检查 `tokenizer_config.json` 是否为最新版本
### DeepSeek系列

| 模型 | 加载后转换 | 离线转换 | 直接读取 |
|-------------------------------------------: |------------|------------|------------|
| deepseek-ai/Deepseek-Coder-1.3B-Instruct | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) ||
| deepseek-ai/Deepseek-Coder-6.7B-Instruct | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) ||
| deepseek-ai/Deepseek-Coder-7B-Instruct v1.5 | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) | ❌<sup>4</sup> |
| deepseek-ai/deepseek-coder-33b-instruct | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) | ❌<sup>4</sup> |
| deepseek-ai/DeepSeek-V2-Chat ||| √<sup>4</sup> |
| deepseek-ai/DeepSeek-V2-Lite-Chat ||| √<sup>4</sup> |
| deepseek-ai/DeepSeek-Coder-V2-Instruct ||| √<sup>4</sup> |
| deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct ||| √<sup>4</sup> |
| deepseek-ai/Deepseek-Coder-1.3B-Instruct | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) | ✔<sup>4</sup><sup>5</sup> |
| deepseek-ai/Deepseek-Coder-6.7B-Instruct | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) | ✔<sup>4</sup><sup>5</sup> |
| deepseek-ai/Deepseek-Coder-7B-Instruct v1.5 | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) | ✔<sup>4</sup> |
| deepseek-ai/deepseek-coder-33b-instruct | [](llama_cookbook.md#deepseek-coder) | [](llama_cookbook.md#deepseek-coder) | ✔<sup>4</sup> |
| deepseek-ai/DeepSeek-V2-Chat ||||
| deepseek-ai/DeepSeek-V2-Lite-Chat ||||
| deepseek-ai/DeepSeek-Coder-V2-Instruct ||||
| deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct ||||

> 注4: Python ftllm用AutoTokenizer而不使用Fastllm Tokenizer可以实现加载,但是C++程序尚不支持加载该模型的Tokenizer。
> 注5: C++端仅支持最早的几个 `tokenizer_config.json` 版本

### LLaMA类模型

Expand All @@ -107,8 +111,6 @@
| meta-llama/Meta-Llama-3-8B-Instruct | | [](tools/scripts/llama3_to_flm.py) ||
| meta-llama/Meta-Llama-3-70B-Instruct | | [](tools/scripts/llama3_to_flm.py) ||

> 注4: Python ftllm用AutoTokenizer而不使用Fastllm Tokenizer可以实现加载,但是C++程序尚不支持加载该模型的Tokenizer。
### 其它模型

| 模型 | 加载后转换 | 离线转换 | 直接读取 |
Expand Down
6 changes: 4 additions & 2 deletions include/template.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ namespace fastllm {
enum JinjaToKenType {
JinjaTokenID = 0, JinjaTokenBOOL, JinjaTokenNUM, JinjaTokenSTRING, JinjaTokenDOT,
JinjaTokenLMB, JinjaTokenRMB, JinjaTokenLSB, JinjaTokenRSB,
JinjaTokenSet, JinjaTokenFor, JinjaTokenEndFor, JinjaTokenIf, JinjaTokenElse, JinjaTokenEndif,
JinjaTokenSet, JinjaTokenFor, JinjaTokenEndFor, JinjaTokenIf, JinjaTokenElse, JinjaTokenElseIf, JinjaTokenEndif,
JinjaTokenIn,
JinjaTokenAssign, JinjaTokenNotEqual, JinjaTokenEqual, JinjaTokenAdd, JinjaTokenSub, JinjaTokenMul, JinjaTokenDiv,
JinjaTokenNot, JinjaTokenAnd, JinjaTokenOr,
Expand Down Expand Up @@ -86,10 +86,12 @@ namespace fastllm {
{"for", JinjaToken::JinjaToKenType::JinjaTokenFor},
{"endfor", JinjaToken::JinjaToKenType::JinjaTokenEndFor},
{"if", JinjaToken::JinjaToKenType::JinjaTokenIf},
{"elif", JinjaToken::JinjaToKenType::JinjaTokenElseIf},
{"else", JinjaToken::JinjaToKenType::JinjaTokenElse},
{"endif", JinjaToken::JinjaToKenType::JinjaTokenEndif},
{"set", JinjaToken::JinjaToKenType::JinjaTokenSet},
{"in", JinjaToken::JinjaToKenType::JinjaTokenIn},
{"is", JinjaToken::JinjaToKenType::JinjaTokenIn},
{"true", JinjaToken::JinjaToKenType::JinjaTokenBOOL},
{"false", JinjaToken::JinjaToKenType::JinjaTokenBOOL},
{"and", JinjaToken::JinjaToKenType::JinjaTokenAnd},
Expand All @@ -101,7 +103,7 @@ namespace fastllm {
struct JinjaBlock {
enum JinjaBlockType {
JinjaBlockOriginal = 0, JinjaBlockEmpty, JinjaBlockVar, JinjaBlockFor,
JinjaBlockEndFor, JinjaBlockIf, JinjaBlockElse, JinjaBlockEndIf,
JinjaBlockEndFor, JinjaBlockIf, JinjaBlockElseIf, JinjaBlockElse, JinjaBlockEndIf,
JinjaBlockSet
};

Expand Down
Loading

0 comments on commit 67eba11

Please sign in to comment.