Update README.md
Browse files
README.md
CHANGED
@@ -14,19 +14,32 @@ tags:
|
|
14 |
- tool-use
|
15 |
- function-calling
|
16 |
quantized_by: bartowski
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
---
|
|
|
18 |
|
19 |
-
|
20 |
|
21 |
-
|
|
|
|
|
22 |
|
23 |
-
|
|
|
|
|
24 |
|
25 |
-
|
26 |
|
27 |
-
|
28 |
|
29 |
-
|
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 |
-
##
|
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 |
-
|
81 |
|
82 |
```
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
```
|
85 |
|
86 |
-
|
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 |
-
|
115 |
|
116 |
-
|
117 |
|
118 |
-
|
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.
|