U
    h                     @   sP   d dl mZ d dlmZmZmZmZmZ eedddZ	ee edddZ
d	S )
    )List)	AIMessageBaseMessageChatMessageHumanMessageSystemMessage)messagereturnc                 C   s~   t | tr$d| j  d| j }nVt | tr>d| j d}n<t | trR| j }n(t | trld| j d}ntd|  |S )Nz

z: z[INST] z [/INST]z<<SYS>> z	 <</SYS>>zGot unknown type )	
isinstancer   role
capitalizecontentr   r   r   
ValueError)r   Zmessage_text r   H/tmp/pip-unpacked-wheel-9gdii04g/langchain_community/chat_models/meta.py"_convert_one_message_to_text_llama   s    




r   )messagesr	   c                 C   s   d dd | D S )z1Convert a list of messages to a prompt for llama.
c                 S   s   g | ]}t |qS r   )r   ).0r   r   r   r   
<listcomp>   s     z4convert_messages_to_prompt_llama.<locals>.<listcomp>)join)r   r   r   r    convert_messages_to_prompt_llama   s    r   N)typingr   Zlangchain_core.messagesr   r   r   r   r   strr   r   r   r   r   r   <module>   s   	