o
    wi                     @   s^   d dl mZmZ d dlmZmZ eG dd dZeG dd deZeG dd deZd	S )
    )	dataclassfield)ListOptionalc                   @   sP   e Zd ZU dZdZee ed< edd dZ	e
e ed< dZee ed	< dZdS )
BaseConversationTemplateConfigz/Conversation template config related parameters systemc                   C      ddgS Nuser	assistant r   r   r   r/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/nemo/collections/multimodal/data/energon/conversation.py<lambda>       z'BaseConversationTemplateConfig.<lambda>default_factoryrolesNstop_string)__name__
__module____qualname____doc__r   r   str__annotations__r   r   r   r   chat_templater   r   r   r   r      s   
 r   c                   @   sb   e Zd ZU dZeddZeed< edd dZe	e ed< ed	dZ
eed
< eddZeed< dS )LLaVATemplateConfigzCLLava-specific template configuration which extends the base configzA chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed and polite answers to user's questions.defaultr   c                   C   r	   r
   r   r   r   r   r   r   $   r   zLLaVATemplateConfig.<lambda>r   r   z</s>r   a  
    {%- for message in messages %}
        {%- if message['role'] == 'system' %}
            {{- message['content'].strip() + ' ' -}}
        {%- elif message['role'] == 'user' %}
            {{- 'USER: ' -}} {{- message['content'].strip() + ' ' -}}
        {%- elif message['role'] == 'assistant' %}
            {{- 'ASSISTANT: ' -}} {{- message['content'].strip() -}}
            {{- '</s>' -}}
        {%- endif %}
    {%- endfor -%}
    r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   
 r   c                   @   sP   e Zd ZU dZeddZeed< edd dZe	e ed< ed	dZ
eed
< dS )MLlamaTemplateConfigzDMLlama specific template configuration which extends the base configNr   r   c                   C   r	   r
   r   r   r   r   r   r   ;   r   zMLlamaTemplateConfig.<lambda>r   r   z
<|eot_id|>r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   6   s
   
 r   N)	dataclassesr   r   typingr   r   r   r   r   r   r   r   r   <module>   s   	