项目介绍:gemma-2-9b-it-function-calling-GGUF
项目背景
gemma-2-9b-it-function-calling-GGUF 是一款经过微调的模型,基于 google/gemma-2-9b-it,专为函数调用任务而设计。该模型在 DiTy/function-calling 数据集上进行微调,数据集全由人工注释,涉及非合成的英文数据。
值得注意的是,尽管该模型的质量相当高,但对于更高需求的用户,可以尝试 DiTy/gemma-2-27b-it-function-calling-GGUF。
模型特点
- 多种文件格式:模型提供多种格式的文件下载,包括 safetensors 和 GGUF。
- 社区支持:借助 Hugging Face 的 transformers 库,用户能够便捷地加载和运行该模型。
- 丰富的应用场景:由于该模型侧重于函数调用的任务,它可被用于聊天机器人、自动化客服助手等多类应用场景。
模型文件
模型提供了不同的量化类型和文件尺寸,以适应不同用户的需求:
文件名 | 量化类型 | 文件大小 | 描述 |
---|---|---|---|
gemma-2-9B-it-function-calling-F16.gguf | F16 | 18.5GB | 使用float16的基础模型 |
gemma-2-9B-it-function-calling-Q8_0.gguf | Q8_0 | 9.83GB | 极高质量,但通常不需要 |
gemma-2-9B-it-function-calling-Q6_K.gguf | Q6_K | 7.59GB | 推荐,高度接近完美质量 |
gemma-2-9B-it-function-calling-Q5_K_M.gguf | Q5_K_M | 6.65GB | 高质量,易于使用 |
gemma-2-9B-it-function-calling-Q5_K_S.gguf | Q5_K_S | 6.48GB | 高质量,易于使用 |
如何使用
函数准备
要开始使用函数调用功能,用户需在 Python 代码中书写模型期望使用的函数,并确保添加适当的 Python 文档字符串。例如:
def get_weather(city: str):
"""
返回指定城市天气情况的函数。
参数:
city: 获取天气的城市。
"""
模型加载
首先安装 transformers 库:
pip install -U transformers
然后下载模型和分词器:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"DiTy/gemma-2-9b-it-function-calling-GGUF",
device_map="auto",
torch_dtype=torch.bfloat16,
cache_dir="路径/到/模型/目录",
)
tokenizer = AutoTokenizer.from_pretrained(
"DiTy/gemma-2-9b-it-function-calling-GGUF",
cache_dir="路径/到/模型/目录",
)
模型使用
通过 apply_chat_template
方法与模型进行交互,将函数作为工具传递,并开启生成提示:
history_messages = [
{"role": "system", "content": "你是一个有用的助手,拥有访问以下函数的权限。必要时请使用它们 - "},
{"role": "user", "content": "你能告诉我洛杉矶的日出时间吗?"},
]
inputs = tokenizer.apply_chat_template(
history_messages,
tokenize=False,
add_generation_prompt=True,
tools=[get_weather, get_sunrise_sunset_times],
)
prompt_ids = tokenizer.encode(inputs, add_special_tokens=False, return_tensors='pt').to(model.device)
评估指标
在模型学习过程中,验证误差已趋于以下值:
模型 | 生成语言 | 近似验证损失 |
---|---|---|
DiTy/gemma-2-27b-it-function-calling-GGUF | EN | 0.47 |
DiTy/gemma-2-9b-it-function-calling-GGUF | EN | 0.5 |
结论
gemma-2-9b-it-function-calling-GGUF 是一个高质量且易于使用的模型,适用于多种文本生成和函数调用场景。通过灵活的模型文件配置,该模型能够在聊天机器人和智能助手等领域提供有效的支持。对于寻求高性能模型的用户,DiTy/gemma-2-27b-it-function-calling-GGUF 可能是一个值得尝试的选择。