mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2026-06-01 06:07:04 +08:00
GLM-4.7 Tool Parser and Doc Update (#30876)
Signed-off-by: zRzRzRzRzRzRzR <2448370773@qq.com>
This commit is contained in:
parent
95befecc18
commit
8a7a414374
@ -352,10 +352,17 @@ Supported models:
|
|||||||
* `zai-org/GLM-4.5`
|
* `zai-org/GLM-4.5`
|
||||||
* `zai-org/GLM-4.5-Air`
|
* `zai-org/GLM-4.5-Air`
|
||||||
* `zai-org/GLM-4.6`
|
* `zai-org/GLM-4.6`
|
||||||
* `zai-org/GLM-4.6-Air`
|
|
||||||
|
|
||||||
Flags: `--tool-call-parser glm45`
|
Flags: `--tool-call-parser glm45`
|
||||||
|
|
||||||
|
### GLM-4.7 Models (`glm47`)
|
||||||
|
|
||||||
|
Supported models:
|
||||||
|
|
||||||
|
* `zai-org/GLM-4.7`
|
||||||
|
|
||||||
|
Flags: `--tool-call-parser glm47`
|
||||||
|
|
||||||
### Qwen3-Coder Models (`qwen3_xml`)
|
### Qwen3-Coder Models (`qwen3_xml`)
|
||||||
|
|
||||||
Supported models:
|
Supported models:
|
||||||
|
|||||||
@ -387,7 +387,7 @@ th {
|
|||||||
| `Gemma3nForCausalLM` | Gemma 3n | `google/gemma-3n-E2B-it`, `google/gemma-3n-E4B-it`, etc. | | |
|
| `Gemma3nForCausalLM` | Gemma 3n | `google/gemma-3n-E2B-it`, `google/gemma-3n-E4B-it`, etc. | | |
|
||||||
| `GlmForCausalLM` | GLM-4 | `zai-org/glm-4-9b-chat-hf`, etc. | ✅︎ | ✅︎ |
|
| `GlmForCausalLM` | GLM-4 | `zai-org/glm-4-9b-chat-hf`, etc. | ✅︎ | ✅︎ |
|
||||||
| `Glm4ForCausalLM` | GLM-4-0414 | `zai-org/GLM-4-32B-0414`, etc. | ✅︎ | ✅︎ |
|
| `Glm4ForCausalLM` | GLM-4-0414 | `zai-org/GLM-4-32B-0414`, etc. | ✅︎ | ✅︎ |
|
||||||
| `Glm4MoeForCausalLM` | GLM-4.5, GLM-4.6 | `zai-org/GLM-4.5`, etc. | ✅︎ | ✅︎ |
|
| `Glm4MoeForCausalLM` | GLM-4.5, GLM-4.6, GLM-4.7 | `zai-org/GLM-4.5`, etc. | ✅︎ | ✅︎ |
|
||||||
| `GPT2LMHeadModel` | GPT-2 | `gpt2`, `gpt2-xl`, etc. | | ✅︎ |
|
| `GPT2LMHeadModel` | GPT-2 | `gpt2`, `gpt2-xl`, etc. | | ✅︎ |
|
||||||
| `GPTBigCodeForCausalLM` | StarCoder, SantaCoder, WizardCoder | `bigcode/starcoder`, `bigcode/gpt_bigcode-santacoder`, `WizardLM/WizardCoder-15B-V1.0`, etc. | ✅︎ | ✅︎ |
|
| `GPTBigCodeForCausalLM` | StarCoder, SantaCoder, WizardCoder | `bigcode/starcoder`, `bigcode/gpt_bigcode-santacoder`, `WizardLM/WizardCoder-15B-V1.0`, etc. | ✅︎ | ✅︎ |
|
||||||
| `GPTJForCausalLM` | GPT-J | `EleutherAI/gpt-j-6b`, `nomic-ai/gpt4all-j`, etc. | | ✅︎ |
|
| `GPTJForCausalLM` | GPT-J | `EleutherAI/gpt-j-6b`, `nomic-ai/gpt4all-j`, etc. | | ✅︎ |
|
||||||
|
|||||||
@ -21,7 +21,8 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
"""Inference-only GLM-4.5, GLM-4.6 model compatible with HuggingFace weights."""
|
"""Inference-only GLM-4.5, GLM-4.6, GLM-4.7 model
|
||||||
|
compatible with HuggingFace weights."""
|
||||||
|
|
||||||
import typing
|
import typing
|
||||||
from collections.abc import Callable, Iterable
|
from collections.abc import Callable, Iterable
|
||||||
|
|||||||
@ -42,6 +42,10 @@ _TOOL_PARSERS_TO_REGISTER = {
|
|||||||
"glm4_moe_tool_parser",
|
"glm4_moe_tool_parser",
|
||||||
"Glm4MoeModelToolParser",
|
"Glm4MoeModelToolParser",
|
||||||
),
|
),
|
||||||
|
"glm47": (
|
||||||
|
"glm47_moe_tool_parser",
|
||||||
|
"Glm47MoeModelToolParser",
|
||||||
|
),
|
||||||
"granite-20b-fc": (
|
"granite-20b-fc": (
|
||||||
"granite_20b_fc_tool_parser",
|
"granite_20b_fc_tool_parser",
|
||||||
"Granite20bFCToolParser",
|
"Granite20bFCToolParser",
|
||||||
|
|||||||
23
vllm/tool_parsers/glm47_moe_tool_parser.py
Normal file
23
vllm/tool_parsers/glm47_moe_tool_parser.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
||||||
|
|
||||||
|
|
||||||
|
import regex as re
|
||||||
|
|
||||||
|
from vllm.logger import init_logger
|
||||||
|
from vllm.tokenizers import TokenizerLike
|
||||||
|
from vllm.tool_parsers.glm4_moe_tool_parser import Glm4MoeModelToolParser
|
||||||
|
|
||||||
|
logger = init_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class Glm47MoeModelToolParser(Glm4MoeModelToolParser):
|
||||||
|
def __init__(self, tokenizer: TokenizerLike):
|
||||||
|
super().__init__(tokenizer)
|
||||||
|
self.func_detail_regex = re.compile(
|
||||||
|
r"<tool_call>(.*?)(<arg_key>.*?)?</tool_call>", re.DOTALL
|
||||||
|
)
|
||||||
|
self.func_arg_regex = re.compile(
|
||||||
|
r"<arg_key>(.*?)</arg_key>(?:\\n|\s)*<arg_value>(.*?)</arg_value>",
|
||||||
|
re.DOTALL,
|
||||||
|
)
|
||||||
Loading…
x
Reference in New Issue
Block a user