from agent import Glm, Prompt class Agent: _instance = None def __new__(cls): if not cls._instance: cls._instance = super(Agent, cls).__new__(cls) cls._instance._initialized = False return cls._instance def __init__(self): if not self._initialized: self.glm = Glm() self._initialized = True def brand_key_word_judgement(self, brandname, title): """判断是否为关键词引流""" self.glm.set_modelname("glm-4-plus") prompt = Prompt.EXTRACT_INFO_FROM_TITLE + f""" 请根据上述逻辑,分析以下商品标题,并输出结果: 商品标题:{title} 给定的引流品牌:{brandname}""" response = self.glm.text_response(prompt) return response.content def license_product_judgement(self, title, license_list): """判断是否为未授权商品""" license_list_str = "" for product in license_list: license_list_str += f"{product}\n" self.glm.set_modelname("glm-4-plus") prompt = Prompt.LICENSE_LIST_FILTER + f""" 请根据上述逻辑,分析以下商品是否为授权生产的,并输出结果: 商品名称: {title} 已生产的产品清单: {license_list_str} 输出结果: - 如果找到匹配项则输出: ```json {{ "in_list": true, "march_product": 匹配到的产品 }} ``` - 如果未找到匹配项则输出: ```json {{ "in_list": false }} ``` """ response = self.glm.text_response(prompt) response = response.content.replace(' ', '').replace('\n', '').replace('\t', '').replace(":", ": ") return response def image_logo_judgement(self, logo_path, image_url): """判断图像中是否有指定品牌的logo""" self.glm.set_modelname("glm-4v-plus-0111") prompt = Prompt.IMAGE_LOGO_JUDGEMENT response = self.glm.multi_epoch_image_response(logo_path, image_url, prompt) response = response.content return response def product_image_similarity_judgement(self, image_url1, image_url2): """判断两个图像中的产品是否一致""" self.glm.set_modelname("glm-4v-plus-0111") prompt = Prompt.PRODUCT_JUDGEMENT response = self.glm.image_response(prompt, image_url1, image_url2) response = response.content return response if __name__ == "__main__": agent = Agent() image_url1 = 'http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/0902/118/27466cf6-fb28-4580-9009-95a3763e06bf.jpg' image_url2 = 'http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/1120/169/8ca15632-9cb9-40e7-8915-e6773e17a05e.jpg' agent.product_image_similarity_judgement(image_url1, image_url2) # ["http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/1120/88/9b9027dd-95b7-4024-b71e-fb7cbfde16a1.jpg", # "http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/0902/118/27466cf6-fb28-4580-9009-95a3763e06bf.jpg", # "http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/1120/169/8ca15632-9cb9-40e7-8915-e6773e17a05e.jpg", # "http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/1120/91/d42ae626-8606-4e29-8a75-a247ab6be790.jpg"]