diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..359bb53 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml diff --git a/.idea/EmojiTextGenerator.iml b/.idea/EmojiTextGenerator.iml new file mode 100644 index 0000000..51331cb --- /dev/null +++ b/.idea/EmojiTextGenerator.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..85c401f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..63bbccf --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/main.py b/main.py index cb0f617..b1dbc4c 100644 --- a/main.py +++ b/main.py @@ -1,17 +1,47 @@ import os -from dashscope import MultiModalConversation -import dashscope +from pathlib import Path +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 -# 本地图像的绝对路径 -local_path = r"D:\Python\mcunc\EmojiTextGenerator\emojis\00e4f193-74af-40f7-8722-59d5a5931f92.jpg" -image_path = f"file://{local_path}" -messages = [ - {'role':'user', - 'content': [{'image': image_path}, - {'text': '使用简洁语言描述该表情包 ,例如 在吗 ,生气,?'}]}] -response = MultiModalConversation.call( - api_key="sk-213f83213fce4e2ba41b8e67721f19cb", - model='qwen3-vl-plus', - messages=messages) +logger = setup_logger() -print(response.output.choices[0].message.content[0]["text"]) +root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" +emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" +emoji = yield_emoji_path(emoji_folder) + +api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" +gen = Generator(api_key) + +emoji_file = next(emoji) +emoji_uuid = '' +p = Path(emoji_file) +if p.suffix == ".jpg" or p.suffix == ".jpeg": + emoji_uuid = p.stem +# print(emoji_uuid) +image = compress_image(emoji_file) +image_path = Path(root_folder) / image +print(image_path) + +if check_emoji(emoji_uuid): + description = gen.process_single_image(str(image_path)) + update_description(emoji_uuid, description) + logger.info(f"图片 {emoji_file} 的描述词生成完毕, 其 description 为: {description}") +else: + logger.error(f"图片 {emoji_uuid} 不在数据库中!") + +# # 本地图像的绝对路径 +# local_path = r"D:\Python\mcunc\EmojiTextGenerator\emojis\00e4f193-74af-40f7-8722-59d5a5931f92.jpg" +# image_path = f"file://{local_path}" +# messages = [ +# {'role':'user', +# 'content': [{'image': image_path}, +# {'text': '使用简洁语言描述该表情包 ,例如 在吗 ,生气,?'}]}] +# response = MultiModalConversation.call( +# api_key="sk-213f83213fce4e2ba41b8e67721f19cb", +# model='qwen3-vl-plus', +# messages=messages) +# +# print(response.output.choices[0].message.content[0]["text"]) diff --git a/models/connect_db.py b/models/connect_db.py index afb67ef..6f0a4f7 100644 --- a/models/connect_db.py +++ b/models/connect_db.py @@ -9,7 +9,7 @@ logger = setup_logger() def connect_db() -> Connection | None: """连接数据库,如果没有则初始化数据库和表""" try: - config = toml.load("../config.toml") + config = toml.load("config.toml") db_host = config["db_host"] db_port = config["db_port"] db_user = config["db_user"] diff --git a/test.py b/test.py index 4a5ab9e..a557f83 100644 --- a/test.py +++ b/test.py @@ -8,14 +8,15 @@ from models.logger import setup_logger logger = setup_logger() -emoji_folders = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" -emoji = yield_emoji_path(emoji_folders) +root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\" +emoji_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\" +emoji = yield_emoji_path(emoji_folder) -api_key = os.getenv('DASHSCOPE_API_KEY') +api_key = "sk-213f83213fce4e2ba41b8e67721f19cb" def main(): gen = Generator(api_key) - for f in range(get_emoji_count(emoji_folders)): + for f in range(get_emoji_count(emoji_folder)): emoji_file = next(emoji) emoji_uuid = '' p = Path(emoji_file) @@ -23,13 +24,15 @@ def main(): emoji_uuid = p.stem # print(emoji_uuid) image = compress_image(emoji_file) + image_path = Path(root_folder) / image + print(image_path) - # if not check_emoji(emoji_uuid): - # logger.error(f"图片 {emoji_uuid} 不在数据库中!") - # else: - description = gen.process_single_image(image) - if update_description(emoji_uuid, description) + if check_emoji(emoji_uuid): + description = gen.process_single_image(str(image_path)) + update_description(emoji_uuid, description) logger.info(f"图片 {emoji_file} 的描述词生成完毕, 其 description 为: {description}") + else: + logger.error(f"图片 {emoji_uuid} 不在数据库中!") if __name__ == "__main__":