from pathlib import Path import dashscope from models.generator import Generator from models.emoji_db import check_emoji, update_description from controllers.localfile_handles import get_emoji_count, yield_emoji_path from controllers.compress_image import compress_image from models.logger import setup_logger logger = setup_logger() api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" dashscope.api_key = api_key root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" emoji = yield_emoji_path(emoji_folder) gen = Generator(api_key) def main(): for i in range(get_emoji_count(emoji_folder)): emoji_file = next(emoji) emoji_uuid = '' p = Path(emoji_file) if p.suffix == ".jpg" or p.suffix == ".jpeg": emoji_uuid = p.stem image = compress_image(emoji_file) image_path = Path(root_folder) / image if check_emoji(emoji_uuid): try: description = gen.process_local_image(str(image_path)) except AttributeError: logger.warning("AI模型未响应,请检查是否欠费!") break update_description(emoji_uuid, description) if description: logger.info(f"图片 {emoji_file} 的描述词生成完毕,序号:{i + 1}, 其 description 为: {description}") else: logger.warning(f"图片 {emoji_file} 的描述词生成失败!序号:{i + 1}") if __name__ == '__main__': try: main() except KeyboardInterrupt: exit()