Update README.md
Browse files
README.md
CHANGED
@@ -1,60 +1,22 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
-
|
5 |
-
|
6 |
-
-
|
7 |
-
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
-
|
12 |
-
-
|
13 |
-
-
|
14 |
-
-
|
15 |
-
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
Install llama.cpp through brew (works on Mac and Linux)
|
24 |
-
|
25 |
-
```bash
|
26 |
-
brew install llama.cpp
|
27 |
-
|
28 |
-
```
|
29 |
-
Invoke the llama.cpp server or the CLI.
|
30 |
-
|
31 |
-
### CLI:
|
32 |
-
```bash
|
33 |
-
llama-cli --hf-repo snakeying/LongWriter-llama3.1-8b-Q8_0-GGUF --hf-file longwriter-llama3.1-8b-q8_0.gguf -p "The meaning to life and the universe is"
|
34 |
-
```
|
35 |
-
|
36 |
-
### Server:
|
37 |
-
```bash
|
38 |
-
llama-server --hf-repo snakeying/LongWriter-llama3.1-8b-Q8_0-GGUF --hf-file longwriter-llama3.1-8b-q8_0.gguf -c 2048
|
39 |
-
```
|
40 |
-
|
41 |
-
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.
|
42 |
-
|
43 |
-
Step 1: Clone llama.cpp from GitHub.
|
44 |
-
```
|
45 |
-
git clone https://github.com/ggerganov/llama.cpp
|
46 |
-
```
|
47 |
-
|
48 |
-
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).
|
49 |
-
```
|
50 |
-
cd llama.cpp && LLAMA_CURL=1 make
|
51 |
-
```
|
52 |
-
|
53 |
-
Step 3: Run inference through the main binary.
|
54 |
-
```
|
55 |
-
./llama-cli --hf-repo snakeying/LongWriter-llama3.1-8b-Q8_0-GGUF --hf-file longwriter-llama3.1-8b-q8_0.gguf -p "The meaning to life and the universe is"
|
56 |
-
```
|
57 |
-
or
|
58 |
-
```
|
59 |
-
./llama-server --hf-repo snakeying/LongWriter-llama3.1-8b-Q8_0-GGUF --hf-file longwriter-llama3.1-8b-q8_0.gguf -c 2048
|
60 |
-
```
|
|
|
1 |
+
TEMPLATE for Ollama Modelfile
|
2 |
+
|
3 |
+
TEMPLATE """
|
4 |
+
{{- range $i, $_ := .Messages }}
|
5 |
+
{{- if eq .Role "user" }}
|
6 |
+
{{- if and $.Tools (le (len (slice $.Messages $i)) 2) }}[AVAILABLE_TOOLS] {{ $.Tools }}[/AVAILABLE_TOOLS]
|
7 |
+
{{- end }}[INST] {{ if and $.System (eq (len (slice $.Messages $i)) 1) }}{{ $.System }}
|
8 |
+
|
9 |
+
{{ end }}{{ .Content }}[/INST]
|
10 |
+
{{- else if eq .Role "assistant" }}
|
11 |
+
{{- if .Content }} {{ .Content }}{{ if not (eq (len (slice $.Messages $i)) 1) }}</s>{{ end }}
|
12 |
+
{{- else if .ToolCalls }}[TOOL_CALLS] [
|
13 |
+
{{- range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
|
14 |
+
{{- end }}]</s>
|
15 |
+
{{- end }}
|
16 |
+
{{- else if eq .Role "tool" }}[TOOL_RESULTS] {"content": {{ .Content }}} [/TOOL_RESULTS]
|
17 |
+
{{- end }}
|
18 |
+
{{- end }}
|
19 |
+
"""
|
20 |
+
|
21 |
+
PARAMETER stop "[INST]"
|
22 |
+
PARAMETER stop "[/INST]"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|