plaguss commited on
Commit
8c8fcc3
·
verified ·
1 Parent(s): 1c64182

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +30 -14
README.md CHANGED
@@ -16,18 +16,17 @@ language:
16
 
17
  # Model Card for Llama-3.2-1B-Instruct-APIGen-FC-v0.1
18
 
19
- This model is a fine-tuned version of [meta-llama/Llama-3.2-1B-Instruct](https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct) on
20
- the [argilla-warehouse/apigen-synth-trl](https://huggingface.co/datasets/plaguss/apigen-synth-trl) dataset, a version of
21
- [argilla-warehouse/Synth-APIGen-v0.1](https://huggingface.co/datasets/argilla-warehouse/Synth-APIGen-v0.1) ready to do SFT.
22
  It has been trained using [TRL](https://github.com/huggingface/trl).
23
 
24
  ## Quick start
25
 
26
  This is a Fine tuned version of `Llama-3.2-1B-Instruct` model specific for Function Calling, to showcase how to fine tune a model on top of a dataset
27
- like [argilla-warehouse/Synth-APIGen-v0.1](https://huggingface.co/datasets/argilla-warehouse/Synth-APIGen-v0.1). This dataset can be merged with the original
28
- [Salesforce/xlam-function-calling-60k](https://huggingface.co/datasets/Salesforce/xlam-function-calling-60k) and prepared with any custom format.
29
 
30
- The following examples show how to use the model with transformers, for different types of queries and availability of tools:
31
 
32
  <details><summary> Click to see helper functions </summary>
33
 
@@ -109,6 +108,11 @@ def parse_response(text: str) -> str | dict[str, any]:
109
 
110
  </details>
111
 
 
 
 
 
 
112
  Example of *simple* function call:
113
 
114
  ````python
@@ -170,7 +174,9 @@ response = parse_response(result)
170
  # [{'name': 'get_weather', 'arguments': {'location': 'New York', 'unit': 'fahrenheit'}}]
171
  ````
172
 
173
- <details><summary> Click to see an example of parallel function call: </summary>
 
 
174
 
175
  ```python
176
  available_tools = [{"name": "spotify.play", "description": "Play specific tracks from a given artist for a specific time duration.", "parameters": {"type": "dict", "properties": {"artist": {"type": "string", "description": "The artist whose songs you want to play."}, "duration": {"type": "integer", "description": "The duration for which the songs should be played, in minutes."}}, "required": ["artist", "duration"]}}]
@@ -188,7 +194,10 @@ response = parse_response(result)
188
 
189
  </details>
190
 
191
- <details><summary> Click to see an example of multiple function calls: </summary>
 
 
 
192
 
193
  ```python
194
  available_tools = [{"name": "country_info.largest_city", "description": "Fetch the largest city of a specified country.", "parameters": {"type": "dict", "properties": {"country": {"type": "string", "description": "Name of the country."}}, "required": ["country"]}}, {"name": "country_info.capital", "description": "Fetch the capital city of a specified country.", "parameters": {"type": "dict", "properties": {"country": {"type": "string", "description": "Name of the country."}}, "required": ["country"]}}, {"name": "country_info.population", "description": "Fetch the current population of a specified country.", "parameters": {"type": "dict", "properties": {"country": {"type": "string", "description": "Name of the country."}}, "required": ["country"]}}]
@@ -206,7 +215,10 @@ response = parse_response(result)
206
 
207
  </details>
208
 
209
- <details><summary> Click to see an example of parallel multiple function calls: </summary>
 
 
 
210
 
211
  ```python
212
  available_tools = [{"name": "math_toolkit.sum_of_multiples", "description": "Find the sum of all multiples of specified numbers within a specified range.", "parameters": {"type": "dict", "properties": {"lower_limit": {"type": "integer", "description": "The start of the range (inclusive)."}, "upper_limit": {"type": "integer", "description": "The end of the range (inclusive)."}, "multiples": {"type": "array", "items": {"type": "integer"}, "description": "The numbers to find multiples of."}}, "required": ["lower_limit", "upper_limit", "multiples"]}}, {"name": "math_toolkit.product_of_primes", "description": "Find the product of the first n prime numbers.", "parameters": {"type": "dict", "properties": {"count": {"type": "integer", "description": "The number of prime numbers to multiply together."}}, "required": ["count"]}}]
@@ -224,7 +236,10 @@ response = parse_response(result)
224
 
225
  </details>
226
 
227
- <details><summary> Click to see an example of multi-turn function call: </summary>
 
 
 
228
 
229
  ```python
230
 
@@ -280,7 +295,10 @@ response = parse_response(result)
280
 
281
  </details>
282
 
283
- <details><summary> Click to see an example of irrelevance function call: </summary>
 
 
 
284
 
285
  Example response with no tools available
286
 
@@ -334,7 +352,7 @@ response = parse_response(result)
334
 
335
  [<img src="https://raw.githubusercontent.com/wandb/assets/main/wandb-github-badge-28.svg" alt="Visualize in Weights & Biases" width="150" height="24"/>](https://wandb.ai/plaguss/huggingface/runs/dw9q43g4)
336
 
337
- This model was trained with SFT. You can take a look at [sft.slurm](https://huggingface.co/plaguss/Llama-3.2-1B-Instruct-APIGen-FC-v0.1/blob/main/sft.slurm) to see the
338
  training script, if you don't have access to a slurm cluster, it can be run jsut using the `accelerate` command. It took 13 minutes in a node with 8xH100.
339
 
340
  To install the requirements, the following commands can be used:
@@ -360,8 +378,6 @@ And login to your WandB and Hugging Face accounts to push both logs and the fina
360
 
361
  ## Citations
362
 
363
-
364
-
365
  Cite TRL as:
366
 
367
  ```bibtex
 
16
 
17
  # Model Card for Llama-3.2-1B-Instruct-APIGen-FC-v0.1
18
 
19
+ This model is a fine-tuned version of [meta-llama/Llama-3.2-1B-Instruct](https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct) on ç
20
+ [argilla-warehouse/apigen-synth-trl](https://huggingface.co/datasets/argilla-warehouse/apigen-synth-trl) dataset, a version of
21
+ [argilla/Synth-APIGen-v0.1](https://huggingface.co/datasets/argilla-warehouse/Synth-APIGen-v0.1) ready to do SFT on top of it.
22
  It has been trained using [TRL](https://github.com/huggingface/trl).
23
 
24
  ## Quick start
25
 
26
  This is a Fine tuned version of `Llama-3.2-1B-Instruct` model specific for Function Calling, to showcase how to fine tune a model on top of a dataset
27
+ like [argilla/Synth-APIGen-v0.1](https://huggingface.co/datasets/argilla/Synth-APIGen-v0.1).
 
28
 
29
+ ### Helper functions for the prompt and output parsing
30
 
31
  <details><summary> Click to see helper functions </summary>
32
 
 
108
 
109
  </details>
110
 
111
+ ### Examples
112
+
113
+ The following examples show how to use the model with transformers, for different types of queries and depending on the availability of tools.
114
+
115
+
116
  Example of *simple* function call:
117
 
118
  ````python
 
174
  # [{'name': 'get_weather', 'arguments': {'location': 'New York', 'unit': 'fahrenheit'}}]
175
  ````
176
 
177
+ #### `Parallel` function call
178
+
179
+ <details><summary> Click here: </summary>
180
 
181
  ```python
182
  available_tools = [{"name": "spotify.play", "description": "Play specific tracks from a given artist for a specific time duration.", "parameters": {"type": "dict", "properties": {"artist": {"type": "string", "description": "The artist whose songs you want to play."}, "duration": {"type": "integer", "description": "The duration for which the songs should be played, in minutes."}}, "required": ["artist", "duration"]}}]
 
194
 
195
  </details>
196
 
197
+ #### `Multiple` function call
198
+
199
+
200
+ <details><summary> Click here: </summary>
201
 
202
  ```python
203
  available_tools = [{"name": "country_info.largest_city", "description": "Fetch the largest city of a specified country.", "parameters": {"type": "dict", "properties": {"country": {"type": "string", "description": "Name of the country."}}, "required": ["country"]}}, {"name": "country_info.capital", "description": "Fetch the capital city of a specified country.", "parameters": {"type": "dict", "properties": {"country": {"type": "string", "description": "Name of the country."}}, "required": ["country"]}}, {"name": "country_info.population", "description": "Fetch the current population of a specified country.", "parameters": {"type": "dict", "properties": {"country": {"type": "string", "description": "Name of the country."}}, "required": ["country"]}}]
 
215
 
216
  </details>
217
 
218
+ #### `Parallel multiple` function call
219
+
220
+
221
+ <details><summary> Click here: </summary>
222
 
223
  ```python
224
  available_tools = [{"name": "math_toolkit.sum_of_multiples", "description": "Find the sum of all multiples of specified numbers within a specified range.", "parameters": {"type": "dict", "properties": {"lower_limit": {"type": "integer", "description": "The start of the range (inclusive)."}, "upper_limit": {"type": "integer", "description": "The end of the range (inclusive)."}, "multiples": {"type": "array", "items": {"type": "integer"}, "description": "The numbers to find multiples of."}}, "required": ["lower_limit", "upper_limit", "multiples"]}}, {"name": "math_toolkit.product_of_primes", "description": "Find the product of the first n prime numbers.", "parameters": {"type": "dict", "properties": {"count": {"type": "integer", "description": "The number of prime numbers to multiply together."}}, "required": ["count"]}}]
 
236
 
237
  </details>
238
 
239
+ #### `Multi-turn` function call
240
+
241
+
242
+ <details><summary> Click here: </summary>
243
 
244
  ```python
245
 
 
295
 
296
  </details>
297
 
298
+ #### `Irrelevance` function call (examples when some data is missing)
299
+
300
+
301
+ <details><summary> Click here: </summary>
302
 
303
  Example response with no tools available
304
 
 
352
 
353
  [<img src="https://raw.githubusercontent.com/wandb/assets/main/wandb-github-badge-28.svg" alt="Visualize in Weights & Biases" width="150" height="24"/>](https://wandb.ai/plaguss/huggingface/runs/dw9q43g4)
354
 
355
+ This model was trained with SFT. You can take a look at [sft.slurm](https://huggingface.co/argilla/Llama-3.2-1B-Instruct-APIGen-FC-v0.1/blob/main/sft.slurm) to see the
356
  training script, if you don't have access to a slurm cluster, it can be run jsut using the `accelerate` command. It took 13 minutes in a node with 8xH100.
357
 
358
  To install the requirements, the following commands can be used:
 
378
 
379
  ## Citations
380
 
 
 
381
  Cite TRL as:
382
 
383
  ```bibtex