Gradio-NameError: name 'process_user_input' is not defined

You made typo around this area.

def output_content(df_recommend):
    content_prompt = PromptTemplate(
        input_variables=["content"],
        template="""[INST][/INST]"""
    )

    a=0
    title=df_recommend.loc[a,"書名"]
   prompt_value1=recommend_prompt.invoke({"title":title,"URL":URL,"summary":summary}) # here!
    
    recommend_prompt = PromptTemplate(
        input_variables=["title"],
        template= # here!
     )
    prompt_value1=recommend_prompt.invoke({"title":title})
    output=invoke_with_temperature(prompt_value1,temperature=0.4)
    return output