Source code for langchain_community.chat_models.meta
fromtypingimportListfromlangchain_core.messagesimport(AIMessage,BaseMessage,ChatMessage,HumanMessage,SystemMessage,)def_convert_one_message_to_text_llama(message:BaseMessage)->str:ifisinstance(message,ChatMessage):message_text=f"\n\n{message.role.capitalize()}: {message.content}"elifisinstance(message,HumanMessage):message_text=f"[INST] {message.content} [/INST]"elifisinstance(message,AIMessage):message_text=f"{message.content}"elifisinstance(message,SystemMessage):message_text=f"<<SYS>> {message.content} <</SYS>>"else:raiseValueError(f"Got unknown type {message}")returnmessage_text
[docs]defconvert_messages_to_prompt_llama(messages:List[BaseMessage])->str:"""Convert a list of messages to a prompt for llama."""return"\n".join([_convert_one_message_to_text_llama(message)formessageinmessages])