From 3c3eff52aa7226f2422c141ff2dabb9b80580e1b Mon Sep 17 00:00:00 2001 From: ochafik Date: Sat, 30 Mar 2024 01:15:46 +0000 Subject: [PATCH] openai: quiet + update prompt output --- examples/openai/prompting.py | 6 +- examples/openai/test_chat_handlers.md | 108 -------------------------- 2 files changed, 3 insertions(+), 111 deletions(-) diff --git a/examples/openai/prompting.py b/examples/openai/prompting.py index ab7aaa25f..f274df6a8 100644 --- a/examples/openai/prompting.py +++ b/examples/openai/prompting.py @@ -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: diff --git a/examples/openai/test_chat_handlers.md b/examples/openai/test_chat_handlers.md index 3448d6012..6f80964e9 100644 --- a/examples/openai/test_chat_handlers.md +++ b/examples/openai/test_chat_handlers.md @@ -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/... -[INST] Hey [/INST]I, Robot -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 = '<>\n' + system_message + '\n<>\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/... -[INST] Hey [/INST] I, Robot -'None' has no attribute 'strip' -Conversation roles must alternate user/assistant/user/assistant/... -Conversation roles must alternate user/assistant/user/assistant/... Messages: