|
--- |
|
library_name: transformers |
|
tags: [] |
|
--- |
|
|
|
# Sabiá-3 (Qwen-2) tokenizer v2 |
|
|
|
This new version improves the chat template by handling custom system prompts and including the new `tool` role. |
|
|
|
## Simple usage |
|
|
|
```python |
|
messages = [ |
|
{"role": "system", "content": "Você é um assistante inteligente."}, |
|
{"role": "user", "content": "Olá!"}, |
|
{"role": "assistant", "content": "Olá! Como posso ajudar você hoje?"}, |
|
{"role": "user", "content": "Qual é a capital do Brasil?"}, |
|
] |
|
|
|
print(tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)) |
|
``` |
|
|
|
Will result in the following string: |
|
|
|
``` |
|
Você é um assistante inteligente. USUÁRIO: Olá! ASSISTENTE: Olá! Como posso ajudar você hoje?<|endoftext|>USUÁRIO: Qual é a capital do Brasil? ASSISTENTE: |
|
``` |
|
|
|
## Tools |
|
|
|
```python |
|
messages = [ |
|
{"role": "system", "content": """You are a helpful customer support assistant. Use the supplied tools to assist the user. |
|
Uso de funções: Opcional |
|
|
|
Lista de funções disponíveis: |
|
|
|
<functions> |
|
[{"type": "function", "function": {"name": "get_delivery_date", "description": "Get the delivery date for a customer's order. Call this whenever you need to know the delivery date, for example when a customer asks 'Where is my package'", "parameters": {"type": "object", "properties": {"order_id": {"type": "string", "description": "The customer's order ID."}}, "required": ["order_id"], "additionalProperties": false}}}] |
|
</functions> |
|
|
|
Formato esperado de resposta quando houver utilização de funções: |
|
<multiplefunctions> |
|
<functioncall> {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} </functioncall> |
|
<functioncall> {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} </functioncall> |
|
... |
|
</multiplefunctions> |
|
|
|
Aspectos importantes: |
|
- Chamadas de funções DEVEM seguir o formato especificado |
|
- Parâmetros necessários DEVEM ser especificados"""}, |
|
{"role": "user", "content": "Hi, can you tell me the delivery date for my order?"}, |
|
{"role": "assistant", "content": "Hi there! I can help with that. Can you please provide your order ID?"}, |
|
{"role": "user", "content": "i think it is order_12345"}, |
|
{ |
|
"role": "assistant", |
|
"tool_calls": [ |
|
{ |
|
"id": "call_62136354", |
|
"type": "function", |
|
"function": { |
|
"arguments": "{'order_id': 'order_12345'}", |
|
"name": "get_delivery_date" |
|
} |
|
} |
|
] |
|
}, |
|
{ |
|
"role": "tool", |
|
"content": json.dumps({ |
|
"order_id": "order_12345", |
|
"delivery_date": "00-00-2000" |
|
}), |
|
"tool_call_id": "call_62136354" |
|
} |
|
] |
|
``` |
|
|
|
The resulting string will be: |
|
|
|
``` |
|
You are a helpful customer support assistant. Use the supplied tools to assist the user. |
|
Uso de funções: Opcional |
|
|
|
Lista de funções disponíveis: |
|
|
|
<functions> |
|
[{"type": "function", "function": {"name": "get_delivery_date", "description": "Get the delivery date for a customer's order. Call this whenever you need to know the delivery date, for example when a customer asks 'Where is my package'", "parameters": {"type": "object", "properties": {"order_id": {"type": "string", "description": "The customer's order ID."}}, "required": ["order_id"], "additionalProperties": false}}}] |
|
</functions> |
|
|
|
Formato esperado de resposta quando houver utilização de funções: |
|
<multiplefunctions> |
|
<functioncall> {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} </functioncall> |
|
<functioncall> {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} </functioncall> |
|
... |
|
</multiplefunctions> |
|
|
|
Aspectos importantes: |
|
- Chamadas de funções DEVEM seguir o formato especificado |
|
- Parâmetros necessários DEVEM ser especificados USUÁRIO: Hi, can you tell me the delivery date for my order? ASSISTENTE: Hi there! I can help with that. Can you please provide your order ID?<|endoftext|>USUÁRIO: i think it is order_12345 ASSISTENTE: <multiplefunctions> |
|
<functioncall> {"name": "get_delivery_date", "arguments": {'order_id': 'order_12345'}} </functioncall> |
|
</multiplefunctions><|endoftext|>FUNCTION_RESPONSE: {"order_id": "order_12345", "delivery_date": "00-00-2000"} ASSISTENTE: |
|
``` |