Text Generation
GGUF
Russian
Inference Endpoints
conversational

Это точно instruct модель?

#3
by varyagnord - opened

GGUF модели выложены точно Instruct? Скачал в квантировании 3. Задаю вопрос, а она во ответ просто дополняет текст.
Напишу "Привет", а она в ответ начинает дополнять текст, например, так: "ствую Вас в нашем замечательном городе. Тут вы можете посетить следующие места..." и т п....

MSU RCC LAIR org

Да, модель инструктивная, но необходимо использовать с чат-темплейтом.
Каким образом Вы запускаете модель? (команда/скрипт)

Импортирую в ollama командой create. В ollama при импорте через create можно задать temlate в modelfile, но как должен выглядеть этот template я пока не представляю. Думаю, что он должен выглядеть так же как и в базовой модели?

MSU RCC LAIR org
  1. Для любой инструктивной модели необходимо соблюдать чат темплейт с которым модель обучалась. В некоторых фреймворках это подтягивается автоматом, иногда нет.

  2. Huggingface позволяет запускать ollama с GGUF, подтягивая модель из репозитория.
    Пример:
    ollama run hf.co/msu-rcc-lair/RuadaptQwen2.5-32B-instruct-GGUF:Q3_K_M

Если так загрузить, то она по идее уже использует нужный чат темплейт.

Да, я об этом знаю. Разработчики ollama писали об одном из последних релизов, что шаблон у них теперь будет подтягиваться автоматически. Возможно тут этого не произошло. Я проверю. Если нет, то подставлю шаблон от стандартного Qwen 2.5
Спасибо за оперативные ответы. :)

Проверил. Автоматически ollama шаблон не подтянула при импорте gguf. Поэтому для тех, кто захочет использовать Вашу модель в ollama надо добавить в Modelfile при импорте такой шаблон и всё заработает:

FROM "./Qwen2.5-32b-Q3_K_L.gguf"
TEMPLATE """{{- if .Suffix }}<|fim_prefix|>{{ .Prompt }}<|fim_suffix|>{{ .Suffix }}<|fim_middle|>
{{- else if .Messages }}
{{- if or .System .Tools }}<|im_start|>system
{{- if .System }}
{{ .System }}
{{- end }}
{{- if .Tools }}

Tools

You may call one or more functions to assist with the user query.

You are provided with function signatures within XML tags:

{{- range .Tools }}
{"type": "function", "function": {{ .Function }}}
{{- end }}

For each function call, return a json object with function name and arguments within XML tags:

{"name": , "arguments": }

{{- end }}<|im_end|>
{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1 -}}
{{- if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{ else if eq .Role "assistant" }}<|im_start|>assistant
{{ if .Content }}{{ .Content }}
{{- else if .ToolCalls }}
{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}
{{- end }}{{ if not $last }}<|im_end|>
{{ end }}
{{- else if eq .Role "tool" }}<|im_start|>user

{{ .Content }}
<|im_end|>
{{ end }}
{{- if and (ne .Role "assistant") $last }}<|im_start|>assistant
{{ end }}
{{- end }}
{{- else }}
{{- if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ end }}{{ .Response }}{{ if .Response }}<|im_end|>{{ end }}
"""
SYSTEM You are RuAdaptQwen. You are a helpful assistant.

Sign up or log in to comment