import copy from MobileAgent.api import encode_image def init_action_chat(): operation_history = [] sysetm_prompt = "You are a helpful AI mobile phone operating assistant. You need to help me operate the phone to complete the user\'s instruction." operation_history.append(["system", [{"type": "text", "text": sysetm_prompt}]]) return operation_history def init_reflect_chat(): operation_history = [] sysetm_prompt = "You are a helpful AI mobile phone operating assistant." operation_history.append(["system", [{"type": "text", "text": sysetm_prompt}]]) return operation_history def init_memory_chat(): operation_history = [] sysetm_prompt = "You are a helpful AI mobile phone operating assistant." operation_history.append(["system", [{"type": "text", "text": sysetm_prompt}]]) return operation_history def add_response(role, prompt, chat_history, image=None): new_chat_history = copy.deepcopy(chat_history) if image: base64_image = encode_image(image) content = [ { "type": "text", "text": prompt }, { "type": "image_url", "image_url": { "url": f"data:image/jpeg;base64,{base64_image}" } }, ] else: content = [ { "type": "text", "text": prompt }, ] new_chat_history.append([role, content]) return new_chat_history def add_response_two_image(role, prompt, chat_history, image): new_chat_history = copy.deepcopy(chat_history) base64_image1 = encode_image(image[0]) base64_image2 = encode_image(image[1]) content = [ { "type": "text", "text": prompt }, { "type": "image_url", "image_url": { "url": f"data:image/jpeg;base64,{base64_image1}" } }, { "type": "image_url", "image_url": { "url": f"data:image/jpeg;base64,{base64_image2}" } }, ] new_chat_history.append([role, content]) return new_chat_history def print_status(chat_history): print("*"*100) for chat in chat_history: print("role:", chat[0]) print(chat[1][0]["text"] + ""*(len(chat[1])-1) + "\n") print("*"*100)