Skip to content

Instantly share code, notes, and snippets.

@SmartManoj
Last active March 21, 2025 10:03
Show Gist options
  • Save SmartManoj/2fb2501c185dba2818908ffd32a9e576 to your computer and use it in GitHub Desktop.
Save SmartManoj/2fb2501c185dba2818908ffd32a9e576 to your computer and use it in GitHub Desktop.
chat_template="{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- '' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" and not message.tool_calls %}\n {%- set content = message.content %}\n {%- if not loop.last %}\n {%- set content = message.content.split('</think>')[-1].lstrip('\\n') %}\n {%- endif %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set content = message.content %}\n {%- if not loop.last %}\n {%- set content = message.content.split('</think>')[-1].lstrip('\\n') %}\n {%- endif %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n<think>\\n' }}\n{%- endif %}\n"
import openai
model = "/kaggle/input/qwq-32b/transformers/qwq-32b/1"
base_url = 'https://....ngrok-free.app/v1/'
openai.api_key = "dummy"
openai.base_url = base_url
msg = "print hello world in python."
msg = 'just say hi'
msg = '9.9 vs 9.11 - which number is greater? Just tell me the answer.'
messages=[
{"role": "user", "content": msg},
]
thinking = 0
fast_thinking = 1
if thinking:
if fast_thinking:
messages.insert(0, {"role": "system", "content": "Don't overthink. Think in one line only."})
messages.append({"role": "assistant", "content": r"<think>\\n"} )
else:
messages.insert(0, {"role": "system", "content": "Don't think. Just answer."})
messages.append({"role": "assistant", "content": "<think>\n\n</think>\n\n"})
response = openai.chat.completions.create(
model=model,
messages=messages,
seed=42,
temperature=0,
stream=True,
extra_body={
"add_generation_prompt": 0,
"continue_final_message": 1,
"chat_template": chat_template
}
)
if thinking:
print("<think>")
for chunk in response:
msg = chunk.choices[0].delta.content
if msg:
print(msg, end="", flush=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment