Identifies as Gemini lol

#22
by phoebdroid - opened

First I'll upload the screen shot and then chat log followed by the chat template in use

image

image

{%- set image_count = namespace(value=0) %}
{%- set video_count = namespace(value=0) %}

{%- macro render_content(content, do_vision_count, is_system_content=false) %}
  {%- if content is string %}
    {{- content }}
  {%- elif content is iterable and content is not mapping %}
    {%- for item in content %}
      {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
        {%- if is_system_content %}
          {{- raise_exception('System message cannot contain images.') }}
        {%- endif %}
        {%- if do_vision_count %}
          {%- set image_count.value = image_count.value + 1 %}
        {%- endif %}
        {%- if add_vision_id %}
          {{- 'Picture ' ~ image_count.value ~ ': ' }}
        {%- endif %}
        {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
      {%- elif 'video' in item or item.type == 'video' %}
        {%- if is_system_content %}
          {{- raise_exception('System message cannot contain videos.') }}
        {%- endif %}
        {%- if do_vision_count %}
          {%- set video_count.value = video_count.value + 1 %}
        {%- endif %}
        {%- if add_vision_id %}
          {{- 'Video ' ~ video_count.value ~ ': ' }}
        {%- endif %}
        {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
      {%- elif 'text' in item %}
        {{- item.text }}
      {%- else %}
        {{- raise_exception('Unexpected item type in content.') }}
      {%- endif %}
    {%- endfor %}
  {%- elif content is none or content is undefined %}
    {{- '' }}
  {%- else %}
    {{- raise_exception('Unexpected content type.') }}
  {%- endif %}
{%- endmacro %}

{%- if not messages %}
  {{- raise_exception('No messages provided.') }}
{%- endif %}

{%- if tools and tools is iterable and tools is not mapping %}
  {{- '<|im_start|>system' }}
 
  
  {%- if messages[0].role == 'system' %}
    {%- set content = render_content(messages[0].content, false, true)|trim %}
    {%- if content %}
      {{- '

' + content }}
    {%- endif %}
  {%- endif %}
  {{- '<|im_end|>
' }}
{%- else %}
  {%- if messages[0].role == 'system' %}
    {%- set content = render_content(messages[0].content, false, true)|trim %}
    {{- '<|im_start|>system
' + content + '<|im_end|>
' }}
  {%- endif %}
{%- endif %}

{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
  {%- set index = (messages|length - 1) - loop.index0 %}
  {%- if ns.multi_step_tool and message.role == "user" %}
    {%- set content = render_content(message.content, false)|trim %}
    {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
      {%- set ns.multi_step_tool = false %}
      {%- set ns.last_query_index = index %}
    {%- endif %}
  {%- endif %}
{%- endfor %}

{%- if ns.multi_step_tool %}
  {{- raise_exception('No user query found in messages.') }}
{%- endif %}

{%- for message in messages %}
  {%- set content = render_content(message.content, true)|trim %}
  {%- if message.role == "system" %}
    {%- if not loop.first %}
      {{- raise_exception('System message must be at the beginning.') }}
    {%- endif %}
  {%- elif message.role == "user" %}
    {{- '<|im_start|>' + message.role + '
' + content + '<|im_end|>' + '
' }}
  {%- elif message.role == "assistant" %}
    {%- set reasoning_content = '' %}
    {%- if message.reasoning_content is string %}
      {%- set reasoning_content = message.reasoning_content %}
    {%- else %}
      {%- if '</think>' in content %}
        {%- set reasoning_content = content.split('</think>')[0].rstrip('
').split('<think>')[-1].lstrip('
') %}
        {%- set content = content.split('</think>')[-1].lstrip('
') %}
      {%- endif %}
    {%- endif %}
    {%- set reasoning_content = reasoning_content|trim %}
    {%- if loop.index0 > ns.last_query_index %}
      {{- '<|im_start|>' + message.role + '
<think>
' + reasoning_content + '
</think>

' + content }}
    {%- else %}
      {{- '<|im_start|>' + message.role + '
' + content }}
    {%- endif %}
    {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
      {%- for tool_call in message.tool_calls %}
        {%- if tool_call.function is defined %}
          {%- set tool_call = tool_call.function %}
        {%- endif %}
        {%- if loop.first %}
          {%- if content|trim %}
            {{- '

<tool_call>
<function=' + tool_call.name + '>
' }}
          {%- else %}
            {{- '<tool_call>
<function=' + tool_call.name + '>
' }}
          {%- endif %}
        {%- else %}
          {{- '
<tool_call>
<function=' + tool_call.name + '>
' }}
        {%- endif %}
        {%- if tool_call.arguments is mapping %}
          {%- for args_name in tool_call.arguments %}
            {%- set args_value = tool_call.arguments[args_name] %}
            {{- '<parameter=' + args_name + '>
' }}
            {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
            {{- args_value }}
            {{- '
</parameter>
' }}
          {%- endfor %}
        {%- endif %}
        {{- '</function>
</tool_call>' }}
      {%- endfor %}
    {%- endif %}
    {{- '<|im_end|>
' }}
  {%- elif message.role == "tool" %}
    {%- if loop.previtem and loop.previtem.role != "tool" %}
      {{- '<|im_start|>user' }}
    {%- endif %}
    {{- '
<tool_response>
' }}
    {{- content }}
    {{- '
</tool_response>' }}
    {%- if not loop.last and loop.nextitem.role != "tool" %}
      {{- '<|im_end|>
' }}
    {%- elif loop.last %}
      {{- '<|im_end|>
' }}
    {%- endif %}
  {%- else %}
    {{- raise_exception('Unexpected message role.') }}
  {%- endif %}
{%- endfor %}

{%- if add_generation_prompt %}
  {{- '<|im_start|>assistant' }}
  {%- if enable_thinking is defined and enable_thinking is false %}
    {{- '<think>

</think>

' }}
  {%- else %}
    {{- '<think>
' }}
  {%- endif %}
{%- endif %}

They've been doing this for a while now sometimes they slip up with who they are but if you just ask it straight up in a chat it gives this answer it's weird that it doesn't remember or keep up with this
image

Sign up or log in to comment