--- 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: [{"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}}}] Formato esperado de resposta quando houver utilização de funções: {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} ... 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: [{"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}}}] Formato esperado de resposta quando houver utilização de funções: {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} {"name": "function_name", "arguments": {"arg_1": "value_1", "arg_2": "value_2", ...}} ... 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: {"name": "get_delivery_date", "arguments": {'order_id': 'order_12345'}} <|endoftext|>FUNCTION_RESPONSE: {"order_id": "order_12345", "delivery_date": "00-00-2000"} ASSISTENTE: ```