second commit

This commit is contained in:
2025-12-07 14:57:55 +08:00
parent dac41786ec
commit bad11ad5da
9 changed files with 96 additions and 24 deletions

3
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# 默认忽略的文件
/shelf/
/workspace.xml

10
.idea/EmojiTextGenerator.iml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3.13 (EmojiTextGenerator)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

6
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.13 (EmojiTextGenerator)" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/EmojiTextGenerator.iml" filepath="$PROJECT_DIR$/.idea/EmojiTextGenerator.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

58
main.py
View File

@@ -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"])

View File

@@ -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"]

21
test.py
View File

@@ -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__":