macadeliccc's picture
Update README.md
ffac3f2 verified
---
license: cc
datasets:
- jondurbin/truthy-dpo-v0.1
---
# WestLake-7B-laser-truthy-dpo-GGUF
![image/webp](https://cdn-uploads.huggingface.co/production/uploads/6455cc8d679315e4ef16fbec/WESciclQuPty1JR8wz8jS.webp)
## iMatrix
iMatrix quantizations are now available thanks to user [Ji-Ha](https://huggingface.co/Ji-Ha)
## Chat Template
*I am using ooba (text generation web ui) for inference
The GGUF version defaults to alpaca:
11:40:53-940260 INFO LOADER: llama.cpp
11:40:53-940970 INFO TRUNCATION LENGTH: 32768
11:40:53-941299 INFO INSTRUCTION TEMPLATE: Alpaca
11:40:53-941580 INFO Loaded the model in 4.55 seconds.
```
{%- set ns = namespace(found=false) -%}
{%- for message in messages -%}
{%- if message['role'] == 'system' -%}
{%- set ns.found = true -%}
{%- endif -%}
{%- endfor -%}
{%- if not ns.found -%}
{{- '' + 'Below is an instruction that describes a task. Write a response that appropriately completes the request.' + '\n\n' -}}
{%- endif %}
{%- for message in messages %}
{%- if message['role'] == 'system' -%}
{{- '' + message['content'] + '\n\n' -}}
{%- else -%}
{%- if message['role'] == 'user' -%}
{{-'### Instruction:\n' + message['content'] + '\n\n'-}}
{%- else -%}
{{-'### Response:\n' + message['content'] + '\n\n' -}}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{{-'### Response:\n'-}}
{%- endif -%}
```
And can be manually overridden to chatML successfully:
```
{%- set ns = namespace(found=false) -%}
{%- for message in messages -%}
{%- if message['role'] == 'system' -%}
{%- set ns.found = true -%}
{%- endif -%}
{%- endfor -%}
{%- if not ns.found -%}
{{- '<|im_start|>system\n' + '' + '<|im_end|>\n' -}}
{%- endif %}
{%- for message in messages %}
{%- if message['role'] == 'system' -%}
{{- '<|im_start|>system\n' + message['content'] + '<|im_end|>\n' -}}
{%- else -%}
{%- if message['role'] == 'user' -%}
{{-'<|im_start|>user\n' + message['content'] + '<|im_end|>\n'-}}
{%- else -%}
{{-'<|im_start|>assistant\n' + message['content'] + '<|im_end|>\n' -}}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{{-'<|im_start|>assistant\n'-}}
{%- endif -%}
```
Here is the output of the model when I override the chat template to chatML
<|im_start|>system
<|im_end|>
<|im_start|>user
write me a quicksort algorithm in python<|im_end|>
<|im_start|>assistant
Sure, here's a basic implementation of Quicksort algorithm in Python:
```python
def partition(array, low, high):
"""Sorts elements around pivot"""
i = (low - 1) # Index of smaller element
pivot = array[high] # Select rightmost element as pivot
for j in range(low, high):
if array[j] <= pivot:
i += 1
array[i], array[j] = array[j], array[i]
array[i + 1], array[high] = array[high], array[i + 1] # Put the pivot where it belongs
return (i + 1) # Return index after pivot point
def quicksort(array, low, high):
"""Implementing Quicksort"""
if len(array) == 1 or low >= high: # Base conditions
return array
elif low < high: # Recursive step
pi = partition(array, low, high) # Separate smaller and greater elements around pivot point
quicksort(array, low, pi - 1) # Sort first half
quicksort(array, pi + 1, high) # Sort second half
return array # After recursion ends we have a sorted list
```
To use it:
```python
arr = [45, 23, 76, 89, 32, 65] # Your unsorted array
print("Original Array:", arr) # Print original array
quicksort(arr, 0, len(arr)-1) # Call Quicksort function with given range for sorting the entire array.
print("Sorted Array:", arr) # Print sorted array
```
<|im_end|>
```