初始化项目,由ModelHub XC社区提供模型
Model: smcleod/Qwen2.5-Coder-7B-Instruct-Q8_0-GGUF Source: Original Platform
This commit is contained in:
158
README.md
Normal file
158
README.md
Normal file
@@ -0,0 +1,158 @@
|
||||
---
|
||||
base_model: Qwen/Qwen2.5-Coder-7B-Instruct
|
||||
language:
|
||||
- en
|
||||
library_name: transformers
|
||||
license: apache-2.0
|
||||
license_link: https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct/blob/main/LICENSE
|
||||
pipeline_tag: text-generation
|
||||
tags:
|
||||
- code
|
||||
- codeqwen
|
||||
- chat
|
||||
- qwen
|
||||
- qwen-coder
|
||||
- llama-cpp
|
||||
- gguf-my-repo
|
||||
---
|
||||
|
||||
# smcleod/Qwen2.5-Coder-7B-Instruct-Q8_0-GGUF
|
||||
This model was converted to GGUF format from [`Qwen/Qwen2.5-Coder-7B-Instruct`](https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space.
|
||||
Refer to the [original model card](https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct) for more details on the model.
|
||||
|
||||
|
||||
## Ollama Modelfile (draft/beta!)
|
||||
|
||||
```
|
||||
|
||||
# ollama create qwen2.5-coder-7b-instruct:q8_0 -f modelfiles/Modelfile-qwen2.5-coder
|
||||
|
||||
FROM ../qwen2.5-coder-7b-instruct-q8_0.gguf
|
||||
|
||||
# This is Sam's hacked up template 2024-09-19
|
||||
TEMPLATE """
|
||||
{{- $fim_prefix := .FIMPrefix -}}
|
||||
{{- $fim_suffix := .FIMSuffix -}}
|
||||
{{- $repo_name := .RepoName -}}
|
||||
{{- $files := .Files -}}
|
||||
{{- $has_tools := gt (len .Tools) 0 -}}
|
||||
{{- if $fim_prefix -}}
|
||||
<|fim_prefix|>{{ $fim_prefix }}<|fim_suffix|>{{ $fim_suffix }}<|fim_middle|>
|
||||
{{- else if $repo_name -}}
|
||||
<|repo_name|>{{ $repo_name }}
|
||||
{{- range $files }}
|
||||
<|file_sep|>{{ .Path }}
|
||||
{{ .Content }}
|
||||
{{- end }}
|
||||
{{- else -}}
|
||||
{{- if or .System $has_tools -}}
|
||||
<|im_start|>system
|
||||
{{- if .System }}
|
||||
{{ .System }}
|
||||
{{- end }}
|
||||
{{- if $has_tools }}
|
||||
|
||||
# Tools
|
||||
|
||||
You may call one or more functions to assist with the user query.
|
||||
|
||||
You are provided with function signatures within <tools></tools> XML tags:
|
||||
<tools>
|
||||
{{- range .Tools }}
|
||||
{"type": "function", "function": {{ .Function }}}
|
||||
{{- end }}
|
||||
</tools>
|
||||
|
||||
For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
|
||||
<tool_call>
|
||||
{"name": <function-name>, "arguments": <args-json-object>}
|
||||
</tool_call>
|
||||
{{- end }}
|
||||
<|im_end|>
|
||||
{{- end }}
|
||||
{{- if .Messages }}
|
||||
{{- range $i, $message := .Messages }}
|
||||
{{- if eq .Role "user" }}<|im_start|>user
|
||||
{{ .Content }}<|im_end|>
|
||||
{{- else if eq .Role "assistant" }}<|im_start|>assistant
|
||||
{{- if .Content }}{{ .Content }}
|
||||
{{- else if .ToolCalls }}<tool_call>
|
||||
{{- range .ToolCalls }}
|
||||
{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
|
||||
{{- end }}
|
||||
</tool_call>
|
||||
{{- end }}<|im_end|>
|
||||
{{- else if eq .Role "tool" }}<|im_start|>user
|
||||
<tool_response>
|
||||
{{ .Content }}
|
||||
</tool_response><|im_end|>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else if .Prompt -}}
|
||||
<|im_start|>user
|
||||
{{ .Prompt }}<|im_end|>
|
||||
{{- end -}}
|
||||
<|im_start|>assistant
|
||||
{{ .Response }}
|
||||
{{- end -}}
|
||||
"""
|
||||
|
||||
PARAMETER stop "<|im_start|>"
|
||||
PARAMETER stop "<|im_end|>"
|
||||
PARAMETER stop "<|fim_prefix|>"
|
||||
PARAMETER stop "<|fim_suffix|>"
|
||||
PARAMETER stop "<|fim_middle|>"
|
||||
PARAMETER stop "<|repo_name|>"
|
||||
PARAMETER stop "<|file_sep|>"
|
||||
|
||||
### Tuning ##
|
||||
PARAMETER num_ctx 16384
|
||||
PARAMETER temperature 0.3
|
||||
PARAMETER top_p 0.8
|
||||
|
||||
# PARAMETER num_batch 1024
|
||||
# PARAMETER num_keep 512
|
||||
# PARAMETER presence_penalty 0.2
|
||||
# PARAMETER frequency_penalty 0.2
|
||||
# PARAMETER repeat_last_n 50
|
||||
```
|
||||
|
||||
## Use with llama.cpp
|
||||
Install llama.cpp through brew (works on Mac and Linux)
|
||||
|
||||
```bash
|
||||
brew install llama.cpp
|
||||
|
||||
```
|
||||
Invoke the llama.cpp server or the CLI.
|
||||
|
||||
### CLI:
|
||||
```bash
|
||||
llama-cli --hf-repo smcleod/Qwen2.5-Coder-7B-Instruct-Q8_0-GGUF --hf-file qwen2.5-coder-7b-instruct-q8_0.gguf -p "The meaning to life and the universe is"
|
||||
```
|
||||
|
||||
### Server:
|
||||
```bash
|
||||
llama-server --hf-repo smcleod/Qwen2.5-Coder-7B-Instruct-Q8_0-GGUF --hf-file qwen2.5-coder-7b-instruct-q8_0.gguf -c 2048
|
||||
```
|
||||
|
||||
Note: You can also use this checkpoint directly through the [usage steps](https://github.com/ggerganov/llama.cpp?tab=readme-ov-file#usage) listed in the Llama.cpp repo as well.
|
||||
|
||||
Step 1: Clone llama.cpp from GitHub.
|
||||
```
|
||||
git clone https://github.com/ggerganov/llama.cpp
|
||||
```
|
||||
|
||||
Step 2: Move into the llama.cpp folder and build it with `LLAMA_CURL=1` flag along with other hardware-specific flags (for ex: LLAMA_CUDA=1 for Nvidia GPUs on Linux).
|
||||
```
|
||||
cd llama.cpp && LLAMA_CURL=1 make
|
||||
```
|
||||
|
||||
Step 3: Run inference through the main binary.
|
||||
```
|
||||
./llama-cli --hf-repo smcleod/Qwen2.5-Coder-7B-Instruct-Q8_0-GGUF --hf-file qwen2.5-coder-7b-instruct-q8_0.gguf -p "The meaning to life and the universe is"
|
||||
```
|
||||
or
|
||||
```
|
||||
./llama-server --hf-repo smcleod/Qwen2.5-Coder-7B-Instruct-Q8_0-GGUF --hf-file qwen2.5-coder-7b-instruct-q8_0.gguf -c 2048
|
||||
```
|
||||
Reference in New Issue
Block a user