bartowski commited on
Commit
7ad39e8
โ€ข
1 Parent(s): 177297e

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +68 -77
README.md CHANGED
@@ -14,19 +14,32 @@ tags:
14
  - tool-use
15
  - function-calling
16
  quantized_by: bartowski
 
 
 
 
 
 
 
 
17
  ---
 
18
 
19
- ## Llamacpp imatrix Quantizations of Llama-3-Groq-8B-Tool-Use
20
 
21
- Using <a href="https://github.com/ggerganov/llama.cpp/">llama.cpp</a> release <a href="https://github.com/ggerganov/llama.cpp/releases/tag/b3389">b3389</a> for quantization.
 
 
22
 
23
- Original model: https://huggingface.co/Groq/Llama-3-Groq-8B-Tool-Use
 
 
24
 
25
- All quants made using imatrix option with dataset from [here](https://gist.github.com/bartowski1182/eb213dccb3571f863da82e99418f81e8)
26
 
27
- Run them in [LM Studio](https://lmstudio.ai/)
28
 
29
- ## Prompt format
30
 
31
  ```
32
  <|begin_of_text|><|start_header_id|>system<|end_header_id|>
@@ -34,86 +47,64 @@ Run them in [LM Studio](https://lmstudio.ai/)
34
  {system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|>
35
 
36
  {prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
37
-
38
-
39
  ```
40
 
41
- ## Download a file (not the whole branch) from below:
42
-
43
- | Filename | Quant type | File Size | Split | Description |
44
- | -------- | ---------- | --------- | ----- | ----------- |
45
- | [Llama-3-Groq-8B-Tool-Use-f32.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-f32.gguf) | f32 | 32.13GB | false | Full F32 weights. |
46
- | [Llama-3-Groq-8B-Tool-Use-Q8_0.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q8_0.gguf) | Q8_0 | 8.54GB | false | Extremely high quality, generally unneeded but max available quant. |
47
- | [Llama-3-Groq-8B-Tool-Use-Q6_K_L.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q6_K_L.gguf) | Q6_K_L | 6.85GB | false | Uses Q8_0 for embed and output weights. Very high quality, near perfect, *recommended*. |
48
- | [Llama-3-Groq-8B-Tool-Use-Q6_K.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q6_K.gguf) | Q6_K | 6.60GB | false | Very high quality, near perfect, *recommended*. |
49
- | [Llama-3-Groq-8B-Tool-Use-Q5_K_L.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q5_K_L.gguf) | Q5_K_L | 6.06GB | false | Uses Q8_0 for embed and output weights. High quality, *recommended*. |
50
- | [Llama-3-Groq-8B-Tool-Use-Q5_K_M.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q5_K_M.gguf) | Q5_K_M | 5.73GB | false | High quality, *recommended*. |
51
- | [Llama-3-Groq-8B-Tool-Use-Q5_K_S.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q5_K_S.gguf) | Q5_K_S | 5.60GB | false | High quality, *recommended*. |
52
- | [Llama-3-Groq-8B-Tool-Use-Q4_K_L.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q4_K_L.gguf) | Q4_K_L | 5.31GB | false | Uses Q8_0 for embed and output weights. Good quality, *recommended*. |
53
- | [Llama-3-Groq-8B-Tool-Use-Q4_K_M.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q4_K_M.gguf) | Q4_K_M | 4.92GB | false | Good quality, default size for must use cases, *recommended*. |
54
- | [Llama-3-Groq-8B-Tool-Use-Q3_K_XL.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q3_K_XL.gguf) | Q3_K_XL | 4.78GB | false | Uses Q8_0 for embed and output weights. Lower quality but usable, good for low RAM availability. |
55
- | [Llama-3-Groq-8B-Tool-Use-Q4_K_S.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q4_K_S.gguf) | Q4_K_S | 4.69GB | false | Slightly lower quality with more space savings, *recommended*. |
56
- | [Llama-3-Groq-8B-Tool-Use-IQ4_XS.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-IQ4_XS.gguf) | IQ4_XS | 4.45GB | false | Decent quality, smaller than Q4_K_S with similar performance, *recommended*. |
57
- | [Llama-3-Groq-8B-Tool-Use-Q3_K_L.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q3_K_L.gguf) | Q3_K_L | 4.32GB | false | Lower quality but usable, good for low RAM availability. |
58
- | [Llama-3-Groq-8B-Tool-Use-Q3_K_M.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q3_K_M.gguf) | Q3_K_M | 4.02GB | false | Low quality. |
59
- | [Llama-3-Groq-8B-Tool-Use-IQ3_M.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-IQ3_M.gguf) | IQ3_M | 3.78GB | false | Medium-low quality, new method with decent performance comparable to Q3_K_M. |
60
- | [Llama-3-Groq-8B-Tool-Use-Q2_K_L.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q2_K_L.gguf) | Q2_K_L | 3.69GB | false | Uses Q8_0 for embed and output weights. Very low quality but surprisingly usable. |
61
- | [Llama-3-Groq-8B-Tool-Use-Q3_K_S.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q3_K_S.gguf) | Q3_K_S | 3.66GB | false | Low quality, not recommended. |
62
- | [Llama-3-Groq-8B-Tool-Use-IQ3_XS.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-IQ3_XS.gguf) | IQ3_XS | 3.52GB | false | Lower quality, new method with decent performance, slightly better than Q3_K_S. |
63
- | [Llama-3-Groq-8B-Tool-Use-Q2_K.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-Q2_K.gguf) | Q2_K | 3.18GB | false | Very low quality but surprisingly usable. |
64
- | [Llama-3-Groq-8B-Tool-Use-IQ2_M.gguf](https://huggingface.co/bartowski/Llama-3-Groq-8B-Tool-Use-GGUF/blob/main/Llama-3-Groq-8B-Tool-Use-IQ2_M.gguf) | IQ2_M | 2.95GB | false | Relatively low quality, uses SOTA techniques to be surprisingly usable. |
65
-
66
- ## Credits
67
-
68
- Thank you kalomaze and Dampf for assistance in creating the imatrix calibration dataset
69
-
70
- Thank you ZeroWw for the inspiration to experiment with embed/output
71
-
72
- ## Downloading using huggingface-cli
73
-
74
- First, make sure you have hugginface-cli installed:
75
 
76
- ```
77
- pip install -U "huggingface_hub[cli]"
78
- ```
79
 
80
- Then, you can target the specific file you want:
81
 
82
  ```
83
- huggingface-cli download bartowski/Llama-3-Groq-8B-Tool-Use-GGUF --include "Llama-3-Groq-8B-Tool-Use-Q4_K_M.gguf" --local-dir ./
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  ```
85
 
86
- If the model is bigger than 50GB, it will have been split into multiple files. In order to download them all to a local folder, run:
87
-
88
- ```
89
- huggingface-cli download bartowski/Llama-3-Groq-8B-Tool-Use-GGUF --include "Llama-3-Groq-8B-Tool-Use-Q8_0.gguf/*" --local-dir Llama-3-Groq-8B-Tool-Use-Q8_0
90
- ```
91
-
92
- You can either specify a new local-dir (Llama-3-Groq-8B-Tool-Use-Q8_0) or download them all in place (./)
93
-
94
- ## Which file should I choose?
95
-
96
- A great write up with charts showing various performances is provided by Artefact2 [here](https://gist.github.com/Artefact2/b5f810600771265fc1e39442288e8ec9)
97
-
98
- The first thing to figure out is how big a model you can run. To do this, you'll need to figure out how much RAM and/or VRAM you have.
99
-
100
- If you want your model running as FAST as possible, you'll want to fit the whole thing on your GPU's VRAM. Aim for a quant with a file size 1-2GB smaller than your GPU's total VRAM.
101
-
102
- If you want the absolute maximum quality, add both your system RAM and your GPU's VRAM together, then similarly grab a quant with a file size 1-2GB Smaller than that total.
103
-
104
- Next, you'll need to decide if you want to use an 'I-quant' or a 'K-quant'.
105
-
106
- If you don't want to think too much, grab one of the K-quants. These are in format 'QX_K_X', like Q5_K_M.
107
-
108
- If you want to get more into the weeds, you can check out this extremely useful feature chart:
109
-
110
- [llama.cpp feature matrix](https://github.com/ggerganov/llama.cpp/wiki/Feature-matrix)
111
-
112
- But basically, if you're aiming for below Q4, and you're running cuBLAS (Nvidia) or rocBLAS (AMD), you should look towards the I-quants. These are in format IQX_X, like IQ3_M. These are newer and offer better performance for their size.
113
 
114
- These I-quants can also be used on CPU and Apple Metal, but will be slower than their K-quant equivalent, so speed vs performance is a tradeoff you'll have to decide.
115
 
116
- The I-quants are *not* compatible with Vulcan, which is also AMD, so if you have an AMD card double check if you're using the rocBLAS build or the Vulcan build. At the time of writing this, LM Studio has a preview with ROCm support, and other inference engines have specific builds for ROCm.
117
 
118
- Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski
119
 
 
 
14
  - tool-use
15
  - function-calling
16
  quantized_by: bartowski
17
+ lm_studio:
18
+ param_count: 8b
19
+ use_case: tools
20
+ release_date: 17-07-2024
21
+ model_creator: Groq
22
+ prompt_template: Llama 3
23
+ base_model: llama
24
+ original_repo: Groq/Llama-3-Groq-8B-Tool-Use
25
  ---
26
+ ## ๐Ÿ’ซ Community Model> Llama 3 8B Tool Use by Groq
27
 
28
+ *๐Ÿ‘พ [LM Studio](https://lmstudio.ai) Community models highlights program. Highlighting new & noteworthy models by the community. Join the conversation on [Discord](https://discord.gg/aPQfnNkxGC)*.
29
 
30
+ **Model creator:** [Groq](https://huggingface.co/Groq)<br>
31
+ **Original model**: [Llama-3-Groq-8B-Tool-Use](https://huggingface.co/Groq/Llama-3-Groq-8B-Tool-Use)<br>
32
+ **GGUF quantization:** provided by [bartowski](https://huggingface.co/bartowski) based on `llama.cpp` release [b3389](https://github.com/ggerganov/llama.cpp/releases/tag/b3389)<br>
33
 
34
+ ## Model Summary:
35
+ This is a finetune of Llama 3 8B for tool use and function calling.<br>
36
+ It excels at, and should be used for, tasks involving API interactions, structured data manipulation, and complex tool use.
37
 
38
+ ## Prompt template:
39
 
40
+ Choose the `Llama 3` preset in your LM Studio.
41
 
42
+ Under the hood, the model will see a prompt that's formatted like so:
43
 
44
  ```
45
  <|begin_of_text|><|start_header_id|>system<|end_header_id|>
 
47
  {system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|>
48
 
49
  {prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
 
 
50
  ```
51
 
52
+ ## Technical Details
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
+ Scores 89.06% overall accuracy on the Berkeley Function Calling Leaderboard (BFCL)
 
 
55
 
56
+ Example tool use prompt:
57
 
58
  ```
59
+ <|start_header_id|>system<|end_header_id|>
60
+
61
+ You are a function calling AI model. You are provided with function signatures within <tools></tools> XML tags. You may call one or more functions to assist with the user query. Don't make assumptions about what values to plug into functions. For each function call return a json object with function name and arguments within <tool_call></tool_call> XML tags as follows:
62
+ <tool_call>
63
+ {"name": <function-name>,"arguments": <args-dict>}
64
+ </tool_call>
65
+
66
+ Here are the available tools:
67
+ <tools> {
68
+ "name": "get_current_weather",
69
+ "description": "Get the current weather in a given location",
70
+ "parameters": {
71
+ "properties": {
72
+ "location": {
73
+ "description": "The city and state, e.g. San Francisco, CA",
74
+ "type": "string"
75
+ },
76
+ "unit": {
77
+ "enum": [
78
+ "celsius",
79
+ "fahrenheit"
80
+ ],
81
+ "type": "string"
82
+ }
83
+ },
84
+ "required": [
85
+ "location"
86
+ ],
87
+ "type": "object"
88
+ }
89
+ } </tools><|eot_id|><|start_header_id|>user<|end_header_id|>
90
+
91
+ What is the weather like in San Francisco?<|eot_id|><|start_header_id|>assistant<|end_header_id|>
92
+
93
+ <tool_call>
94
+ {"id":"call_deok","name":"get_current_weather","arguments":{"location":"San Francisco","unit":"celsius"}}
95
+ </tool_call><|eot_id|><|start_header_id|>tool<|end_header_id|>
96
+
97
+ <tool_response>
98
+ {"id":"call_deok","result":{"temperature":"72","unit":"celsius"}}
99
+ </tool_response><|eot_id|><|start_header_id|>assistant<|end_header_id|>
100
  ```
101
 
102
+ ## Special thanks
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
 
104
+ ๐Ÿ™ Special thanks to [Georgi Gerganov](https://github.com/ggerganov) and the whole team working on [llama.cpp](https://github.com/ggerganov/llama.cpp/) for making all of this possible.
105
 
106
+ ๐Ÿ™ Special thanks to [Kalomaze](https://github.com/kalomaze) for his dataset (linked [here](https://github.com/ggerganov/llama.cpp/discussions/5263)) for imatrix calibration.
107
 
108
+ ## Disclaimers
109
 
110
+ LM Studio is not the creator, originator, or owner of any Model featured in the Community Model Program. Each Community Model is created and provided by third parties. LM Studio does not endorse, support, represent or guarantee the completeness, truthfulness, accuracy, or reliability of any Community Model. You understand that Community Models can produce content that might be offensive, harmful, inaccurate or otherwise inappropriate, or deceptive. Each Community Model is the sole responsibility of the person or entity who originated such Model. LM Studio may not monitor or control the Community Models and cannot, and does not, take responsibility for any such Model. LM Studio disclaims all warranties or guarantees about the accuracy, reliability or benefits of the Community Models. LM Studio further disclaims any warranty that the Community Model will meet your requirements, be secure, uninterrupted or available at any time or location, or error-free, viruses-free, or that any errors will be corrected, or otherwise. You will be solely responsible for any damage resulting from your use of or access to the Community Models, your downloading of any Community Model, or use of any other Community Model provided by or through LM Studio.