File size: 6,929 Bytes
66cec43 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
---
base_model: Bluckr/Phi-3-mini-4k-instruct-function-calling-assistant-spanish-pofi-v2
datasets:
- Bluckr/function-calling-assistant-spanish-pofi-v2
inference: true
language:
- es
license: mit
model_creator: Bluckr
model_name: Phi-3-mini-4k-instruct-function-calling-assistant-spanish-pofi-v2
pipeline_tag: text-generation
quantized_by: afrideva
tags:
- nlp
- code
- phi-3
- chat
- function-call
- gguf
- ggml
- quantized
widget:
- messages:
- content: '### Input: Que sabes hacer? ### Response:'
role: user
---
# Phi-3-mini-4k-instruct-function-calling-assistant-spanish-pofi-v2-GGUF
Quantized GGUF model files for [Phi-3-mini-4k-instruct-function-calling-assistant-spanish-pofi-v2](https://huggingface.co/Bluckr/Phi-3-mini-4k-instruct-function-calling-assistant-spanish-pofi-v2) from [Bluckr](https://huggingface.co/Bluckr)
## Original Model Card:
<div style="text-align: center;">
<img src="https://cdn-uploads.huggingface.co/production/uploads/64beeb8f4b4ff0d5097ddcfc/HF124f84-X7L_rPynRa4n.gif" alt="Pofi" width="300" style="display: block; margin: 0 auto;" />
</div>
Phi 3 adjusted to behave like assistant Pofi, training data works with the function calling method.
is a fine-tuned version of ["unsloth/Phi-3-mini-4k-instruct"](https://huggingface.co/unsloth/Phi-3-mini-4k-instruct)
Pofi can:
| Utilities |
|-----------------------------|
| Setting alarms |
| Connecting to the web |
| Sending files |
| Sending messages |
| Saving strings of characters|
| Opening applications |
| Creating files |
| Manipulating the system |
## Simple Inference API
```python
import requests
API_URL = "https://api-inference.huggingface.co/models/Bluckr/Phi-3-mini-4k-instruct-function-calling-assistant-spanish-pofi-v2"
headers = {"Authorization": "Bearer %s"%token_id}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
print(response.json())
prompt = """### Input: c贸mo te llamas? ### Response:"""
output = query({
"inputs": prompt
})
```
# Response
```python
[{'generated_text': '### Input: c贸mo te llamas? ### Response: soy Pofi.'}]
```
## Unsloth Inference
```python
%%capture
# Installs Unsloth, Xformers (Flash Attention) and all other packages!
!pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
!pip install --no-deps "xformers<0.0.26" trl peft accelerate bitsandbytes
```
```python
alpaca_prompt = """Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
### Instruction:
{}
### Input:
{}
### Response:
{}"""
```
```python
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "Bluckr/Phi-3-mini-4k-instruct-function-calling-assistant-spanish-pofi-v2",
max_seq_length = 2048,
dtype = None,
load_in_4bit = True,
)
FastLanguageModel.for_inference(model)
```
```python
inputs = tokenizer(
[
alpaca_prompt.format(
"""""functions":[{'name': 'fnt_programa', 'description': 'el usuario solicita un programa.', 'parameters': [{'description': 'nombre del programa solicitado.', 'name': 'programa', 'required': True, 'type': 'string'}]},
{'name': 'fnt_buscar_web', 'description': 'el usuario solicita una busqueda en internet.', 'parameters': [{'description': 'busqueda especifica.', 'name': 'busqueda', 'required': False, 'type': 'string'}, {'description': 'p谩gina especifica para la busqueda', 'name': 'sitio', 'required': False, 'type': 'string'}]},
{'name': 'fnt_buscar_lugares', 'description': 'el usuario solicita la ubicaci贸n de un lugar.', 'parameters': [{'description': 'lugar especifico.', 'name': 'lugar', 'required': True, 'type': 'string'}, {'description': 'ubicaci贸n del lugar', 'name': 'ubicaci贸n', 'required': False, 'type': 'string'}]},
{'name': 'fnt_enviar_mensajes', 'description': 'el usuario desea enviar un mensaje.', 'parameters': [{'description': 'el usuario especifica a quien enviar el mensaje.', 'name': 'destinatario', 'required': True, 'type': 'string'}, {'description': 'contenido que desea enviar el usuario', 'name': 'mensaje', 'required': True, 'type': 'string'}]},
{'name': 'fnt_crear_archivo', 'description': 'el usuario desea crear un archivo.', 'parameters': [{'description': 'el usuario especifica el nombre del archivo.', 'name': 'nombre', 'required': False, 'type': 'string'}, {'description': 'ubicaci贸n donde se crear谩 el archivo', 'name': 'ubicaci贸n', 'required': False, 'type': 'string'}, {'description': 'extensi贸n del archivo', 'name': 'extensi贸n', 'required': False, 'type': 'string'}]},
{'name': 'fnt_establecer_alarma', 'description': 'el usuario desea una alarma o recordatorio', 'parameters': [{'description': 'el usuario especifica el nombre de la alarma.', 'name': 'nombre', 'required': False, 'type': 'string'}, {'description': 'hora de la alarma', 'name': 'hora', 'required': True, 'type': 'string'}, {'description': 'd铆a que se activar谩 la alarma', 'name': 'd铆a', 'required': False, 'type': 'string'}]},
{'name': 'fnt_enviar_archivos', 'description': 'el usuario solicita el envio de archivos.', 'parameters': [{'description': 'archivos especificos.', 'name': 'archivos', 'required': True, 'type': 'string'}, {'description': 'destino donde llegar谩n los archivos', 'name': 'destino', 'required': True, 'type': 'string'}]},
{'name': 'fnt_guardar_valores', 'description': 'el usuario solicita almacenar valores.', 'parameters': [{'description': 'valor a almacenar.', 'name': 'valor', 'required': True, 'type': 'string'}, {'description': 'lugar de almacenamiento', 'name': 'lugar', 'required': False, 'type': 'string'}]},
{'name': 'fnt_hora', 'description': 'el usuario solicita la hora', 'parameters': [{'description': 'ubicaci贸n donde la hora es solicitada.', 'name': 'ubicacion', 'required': True, 'type': 'string'}]},
{'name': 'fnt_clima', 'description': 'el usuario solicita el clima', 'parameters': [{'description': 'ubicaci贸n donde se solicita el clima.', 'name': 'ubicacion', 'required': True, 'type': 'string'}]},
{'name': 'fnt_significado', 'description': 'el usuario solicita el significado de una palabra', 'parameters': [{'description': 'palabra solicitada.', 'name': 'palabra', 'required': True, 'type': 'string'}]},""", # instruction
"Pofi envia el archivo de selfie.jpg a drive", # input
"", # output - leave this blank for generation!
)
], return_tensors = "pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens = 64, use_cache = True)
tokenizer.batch_decode(outputs)
```
# Response
```python
Response:\nEnviando el archivo de selfie.jpg a drive.{"function_call":{"name":"fnt_enviar_archivos","arguments":{"archivos":"selfie.jpg","destino":"drive"}}}<|endoftext|>']
``` |