[docs]defcreate_chat_prompt(path:str,input_name_agent_scratchpad:str="agent_scratchpad",)->Runnable[Dict[str,Any],ChatPromptTemplate]:"""Create a chat prompt from a Langchain schema."""defrunnable_chat_lambda(inputs:Dict[str,Any])->ChatPromptTemplate:p=load(path)parsed=prepare(p,inputs)# Parsed messages have been templated# Convert to Message objects to avoid templating attempts in ChatPromptTemplatelc_messages=[]formessageinparsed:message_class=RoleMap.get_message_class(message["role"])lc_messages.append(message_class(content=message["content"]))lc_messages.append(MessagesPlaceholder(variable_name=input_name_agent_scratchpad,optional=True)# type: ignore[arg-type])lc_p=ChatPromptTemplate.from_messages(lc_messages)lc_p=lc_p.partial(**p.inputs)returnlc_preturnRunnableLambda(runnable_chat_lambda)