second commit
This commit is contained in:
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# 默认忽略的文件
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
10
.idea/EmojiTextGenerator.iml
generated
Normal file
10
.idea/EmojiTextGenerator.iml
generated
Normal 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>
|
||||||
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal 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
6
.idea/misc.xml
generated
Normal 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
8
.idea/modules.xml
generated
Normal 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
6
.idea/vcs.xml
generated
Normal 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
58
main.py
@@ -1,17 +1,47 @@
|
|||||||
import os
|
import os
|
||||||
from dashscope import MultiModalConversation
|
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()
|
||||||
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"])
|
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"])
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ logger = setup_logger()
|
|||||||
def connect_db() -> Connection | None:
|
def connect_db() -> Connection | None:
|
||||||
"""连接数据库,如果没有则初始化数据库和表"""
|
"""连接数据库,如果没有则初始化数据库和表"""
|
||||||
try:
|
try:
|
||||||
config = toml.load("../config.toml")
|
config = toml.load("config.toml")
|
||||||
db_host = config["db_host"]
|
db_host = config["db_host"]
|
||||||
db_port = config["db_port"]
|
db_port = config["db_port"]
|
||||||
db_user = config["db_user"]
|
db_user = config["db_user"]
|
||||||
|
|||||||
21
test.py
21
test.py
@@ -8,14 +8,15 @@ from models.logger import setup_logger
|
|||||||
|
|
||||||
logger = setup_logger()
|
logger = setup_logger()
|
||||||
|
|
||||||
emoji_folders = "D:\\Python\\mcunc\\EmojiTextGenerator\\emojis\\"
|
root_folder = "D:\\Python\\mcunc\\EmojiTextGenerator\\"
|
||||||
emoji = yield_emoji_path(emoji_folders)
|
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():
|
def main():
|
||||||
gen = Generator(api_key)
|
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_file = next(emoji)
|
||||||
emoji_uuid = ''
|
emoji_uuid = ''
|
||||||
p = Path(emoji_file)
|
p = Path(emoji_file)
|
||||||
@@ -23,13 +24,15 @@ def main():
|
|||||||
emoji_uuid = p.stem
|
emoji_uuid = p.stem
|
||||||
# print(emoji_uuid)
|
# print(emoji_uuid)
|
||||||
image = compress_image(emoji_file)
|
image = compress_image(emoji_file)
|
||||||
|
image_path = Path(root_folder) / image
|
||||||
|
print(image_path)
|
||||||
|
|
||||||
# if not check_emoji(emoji_uuid):
|
if check_emoji(emoji_uuid):
|
||||||
# logger.error(f"图片 {emoji_uuid} 不在数据库中!")
|
description = gen.process_single_image(str(image_path))
|
||||||
# else:
|
update_description(emoji_uuid, description)
|
||||||
description = gen.process_single_image(image)
|
|
||||||
if update_description(emoji_uuid, description)
|
|
||||||
logger.info(f"图片 {emoji_file} 的描述词生成完毕, 其 description 为: {description}")
|
logger.info(f"图片 {emoji_file} 的描述词生成完毕, 其 description 为: {description}")
|
||||||
|
else:
|
||||||
|
logger.error(f"图片 {emoji_uuid} 不在数据库中!")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user