openai: quiet + update prompt output

This commit is contained in:
ochafik 2024-03-30 01:15:46 +00:00
parent ad2f4c119a
commit 3c3eff52aa
2 changed files with 3 additions and 111 deletions

View file

@ -71,7 +71,7 @@ class ChatTemplate(BaseModel):
super().__init__(template=template, eos_token=eos_token, bos_token=bos_token)
env = jinja2.Environment(loader=jinja2.BaseLoader(), trim_blocks=True, lstrip_blocks=True)
self._template = env.from_string(template)
print(template)
# print(template)
# self.expects_strict_user_assistant_alternance = "{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception" in template
@ -94,13 +94,13 @@ class ChatTemplate(BaseModel):
def succeeds(messages: list[Message], strings_to_find = ()):
try:
result = test(messages)
print(result)
# print(result)
for s in strings_to_find:
if s not in result:
return False
return True
except Exception as e:
print(e)
# print(e)
return False
# if self.inferred_tool_style == ToolsPromptStyle.TYPESCRIPT_FUNCTIONARY_V2:

View file

@ -1,111 +1,3 @@
{{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ '[INST] ' + message['content'] + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token}}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}
Conversation roles must alternate user/assistant/user/assistant/...
<s>[INST] Hey [/INST]I, Robot</s>
unsupported operand type(s) for +: 'NoneType' and 'str'
Conversation roles must alternate user/assistant/user/assistant/...
Conversation roles must alternate user/assistant/user/assistant/...
{#v2.2#}
{% for message in messages %}
{% if message['role'] == 'user' or message['role'] == 'system' %}
{{ '<|from|>' + message['role'] + '
<|recipient|>all
<|content|>' + message['content'] + '
' }}{% elif message['role'] == 'tool' %}
{{ '<|from|>' + message['name'] + '
<|recipient|>all
<|content|>' + message['content'] + '
' }}{% else %}
{% set contain_content='no'%}
{% if message['content'] is not none %}
{{ '<|from|>assistant
<|recipient|>all
<|content|>' + message['content'] }}{% set contain_content='yes'%}
{% endif %}
{% if 'tool_calls' in message and message['tool_calls'] is not none %}
{% for tool_call in message['tool_calls'] %}
{% set prompt='<|from|>assistant
<|recipient|>' + tool_call['function']['name'] + '
<|content|>' + tool_call['function']['arguments'] %}
{% if loop.index == 1 and contain_content == "no" %}
{{ prompt }}{% else %}
{{ '
' + prompt}}{% endif %}
{% endfor %}
{% endif %}
{{ '<|stop|>
' }}{% endif %}
{% endfor %}
{% if add_generation_prompt %}{{ '<|from|>assistant
<|recipient|>' }}{% endif %}
<|from|>assistant
<|recipient|>all
<|content|>I, Robot<|stop|>
<|from|>user
<|recipient|>all
<|content|>Hey
<|from|>assistant
<|recipient|>
<|from|>user
<|recipient|>all
<|content|>Hey
<|stop|>
<|from|>assistant
<|recipient|>
<|from|>user
<|recipient|>all
<|content|>Hey
<|from|>assistant
<|recipient|>all
<|content|>I, Robot<|stop|>
<|from|>additioner
<|recipient|>all
<|content|>Tool result
<|from|>assistant
<|recipient|>
<|from|>user
<|recipient|>all
<|content|>Hey
<|from|>assistant
<|recipient|>all
<|content|>I, Robot<|stop|>
<|from|>additioner
<|recipient|>all
<|content|>Tool result
<|from|>assistant
<|recipient|>
{% for message in messages %}{{'<|im_start|>' + message['role'] + '
' + message['content'] + '<|im_end|>' + '
'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant
' }}{% endif %}
<|im_start|>assistant
I, Robot<|im_end|>
<|im_start|>user
Hey<|im_end|>
<|im_start|>assistant
can only concatenate str (not "NoneType") to str
<|im_start|>user
Hey<|im_end|>
<|im_start|>assistant
I, Robot<|im_end|>
<|im_start|>tool
Tool result<|im_end|>
<|im_start|>assistant
<|im_start|>user
Hey<|im_end|>
<|im_start|>assistant
I, Robot<|im_end|>
<|im_start|>tool
Tool result<|im_end|>
<|im_start|>assistant
{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% set system_message = false %}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if loop.index0 == 0 and system_message != false %}{% set content = '<<SYS>>\n' + system_message + '\n<</SYS>>\n\n' + message['content'] %}{% else %}{% set content = message['content'] %}{% endif %}{% if message['role'] == 'user' %}{{ bos_token + '[INST] ' + content.strip() + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ ' ' + content.strip() + ' ' + eos_token }}{% endif %}{% endfor %}
Conversation roles must alternate user/assistant/user/assistant/...
<s>[INST] Hey [/INST] I, Robot </s>
'None' has no attribute 'strip'
Conversation roles must alternate user/assistant/user/assistant/...
Conversation roles must alternate user/assistant/user/assistant/...
Messages: