当前位置: 首页 > wzjs >正文

网站模块分析深圳网站建设设

网站模块分析,深圳网站建设设,小城镇建设投稿网站,建e网室内设计网背景墙在llamafactory框架训练好模型之后,自测chat时模型效果不错,但是部署到vllm模型上效果却很差 这实际上是因为llamafactory微调时与vllm部署时的对话模板不一致导致的。 对应的llamafactory的代码为 而vllm启动时会采用大模型自己本身设置的对话模板信息…

在llamafactory框架训练好模型之后,自测chat时模型效果不错,但是部署到vllm模型上效果却很差

这实际上是因为llamafactory微调时与vllm部署时的对话模板不一致导致的。

对应的llamafactory的代码为

而vllm启动时会采用大模型自己本身设置的对话模板信息

那么要让两个对话模板一致该如何解决呢?

在上面的template.py同级目录下写入代码,将json格式的对话模板转成jinja格式

# mytest.py
import sys
import os# 将项目根目录添加到 Python 路径
root_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
sys.path.append(root_dir)from llamafactory.data.template import TEMPLATES
from transformers import AutoTokenizer# 1. 初始化分词器(任意支持的分词器均可)
tokenizer = AutoTokenizer.from_pretrained("/root/autodl-tmp/model/Qwen/Qwen2.5-VL-3B-Instruct")# 2. 获取模板对象
template_name = "qwen"  # 替换为你需要查看的模板名称
template = TEMPLATES[template_name]# 3. 修复分词器的 Jinja 模板
template.fix_jinja_template(tokenizer)# 4. 直接输出模板的 Jinja 格式
print("=" * 40)
print(f"Template [{template_name}] 的 Jinja 格式:")
print("=" * 40)
print(tokenizer.chat_template)

运行上面的代码之后就会得到jinja格式的对话模板,将它存放进chat-template.jinja

{%- if tools %}{{- '<|im_start|>system\n' }}{%- if messages[0]['role'] == 'system' %}{{- messages[0]['content'] }}{%- else %}{{- 'You are a helpful assistant.' }}{%- endif %}{{- "\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}{%- for tool in tools %}{{- "\n" }}{{- tool | tojson }}{%- endfor %}{{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
{%- else %}{%- if messages[0]['role'] == 'system' %}{{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }}{%- else %}{{- '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' }}{%- endif %}
{%- endif %}
{%- for message in messages %}{%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %}{{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}{%- elif message.role == "assistant" %}{{- '<|im_start|>' + message.role }}{%- if message.content %}{{- '\n' + message.content }}{%- endif %}{%- for tool_call in message.tool_calls %}{%- if tool_call.function is defined %}{%- set tool_call = tool_call.function %}{%- endif %}{{- '\n<tool_call>\n{"name": "' }}{{- tool_call.name }}{{- '", "arguments": ' }}{{- tool_call.arguments | tojson }}{{- '}\n</tool_call>' }}{%- endfor %}{{- '<|im_end|>\n' }}{%- elif message.role == "tool" %}{%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %}{{- '<|im_start|>user' }}{%- endif %}{{- '\n<tool_response>\n' }}{{- message.content }}{{- '\n</tool_response>' }}{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}{{- '<|im_end|>\n' }}{%- endif %}{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}{{- '<|im_start|>assistant\n' }}
{%- endif %}

启动vllm推理框架时

vllm serve model(模型)--chat-template ./path-to-chat-template.jinja(jinja对话模板地址)

http://www.dtcms.com/wzjs/826781.html

相关文章:

  • 西安免费网站建设如何开跨境电商店铺
  • 网站可信度建设制作静态网站
  • 百度做任务的网站电商网站推广
  • 做外贸是哪里网站可信赖的常州网站建设
  • 网站建设的目的只是开展网络营销优化seo网站西安
  • 权威做网站的公司南山网站建设找哪家公司好
  • 如需郑州网站建设如何建设网站与域名
  • 建设银行网站功能介绍免费网站制作成品
  • 网站建设收费标准报价无极在线招聘网最新招聘
  • 个人网站怎么申请注册网站开发费计入什么科目
  • 大成设计网站建设同城信息商家的网站开发
  • 网站建设广州个人工作室注册条件
  • 盐城做网站优化怎样做农产品交易平台网站
  • 东莞网站建设 钢结构wordpress redis 刷新
  • wordpress提交百度站长福州建设企业
  • 中华保险网站休闲小零食网站开发方案
  • 大连网站制作诚推ls15227连云港做网站优化
  • 建设银行网站查开户行ftp使用修改wordpress权限
  • 东莞网站建设总结wordpress插件恢复图片
  • 阿里巴巴国际站每年的基础费用是邯郸市做网站
  • 大连网站建设学校电台 主题 wordpress
  • 湖北省建设厅行政审批网站安阳安强网络科技有限公司
  • 做网站还有用吗哪有深圳网站页面设计
  • 千阳做网站中国银行建设网站首页
  • 河南省住房和城乡建设厅新网站网页投票链接怎么做
  • 网站域名注册商标有什么好处百度用户服务中心投诉电话
  • 网站管理程序做网站分成
  • 雪亮工程建设网站界面搜索指数的数据来源
  • 企业网站建设公司电话成都企业管理咨询收费方案明细
  • 软件开发公司网站wordpress 推荐主题