|
|
|
@ -1,42 +1,7 @@
|
|
|
|
|
import time
|
|
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
from WxMini.Utils.MySQLUtil import save_chat_to_mysql
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def is_text_dominant(client, image_url):
|
|
|
|
|
"""
|
|
|
|
|
判断图片是否主要是文字内容
|
|
|
|
|
:param image_url: 图片 URL
|
|
|
|
|
:return: True(主要是文字) / False(主要是物体/场景)
|
|
|
|
|
"""
|
|
|
|
|
completion = await client.chat.completions.create(
|
|
|
|
|
model="qwen-vl-ocr",
|
|
|
|
|
messages=[
|
|
|
|
|
{
|
|
|
|
|
"role": "user",
|
|
|
|
|
"content": [
|
|
|
|
|
{
|
|
|
|
|
"type": "image_url",
|
|
|
|
|
"image_url": image_url,
|
|
|
|
|
"min_pixels": 28 * 28 * 4,
|
|
|
|
|
"max_pixels": 28 * 28 * 1280
|
|
|
|
|
},
|
|
|
|
|
{"type": "text", "text": "Read all the text in the image."},
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
stream=False
|
|
|
|
|
)
|
|
|
|
|
text = completion.choices[0].message.content
|
|
|
|
|
|
|
|
|
|
# 判断是否只有英文和数字
|
|
|
|
|
if re.match(r'^[A-Za-z0-9\s]+$', text):
|
|
|
|
|
print("识别到的内容只有英文和数字,可能是无意义的字符,调用识别内容功能。")
|
|
|
|
|
return False
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def recognize_text(client, pool, person_id, image_url):
|
|
|
|
|
"""
|
|
|
|
|
识别图片中的文字,流式输出,并将结果记录到数据库
|
|
|
|
|