|
@@ -476,7 +476,7 @@ def extract_fields_from_text(text):
|
|
|
|
|
|
def parse_text_with_qwen25VLplus(image_data):
|
|
def parse_text_with_qwen25VLplus(image_data):
|
|
"""
|
|
"""
|
|
- 使用阿里云的 Qwen 2.5 VL Plus 模型解析图像中的名片信息
|
|
|
|
|
|
+ 使用阿里云的 Qwen VL Max 模型解析图像中的名片信息
|
|
|
|
|
|
Args:
|
|
Args:
|
|
image_data (bytes): 图像的二进制数据
|
|
image_data (bytes): 图像的二进制数据
|
|
@@ -498,7 +498,7 @@ def parse_text_with_qwen25VLplus(image_data):
|
|
)
|
|
)
|
|
|
|
|
|
# 构建优化后的提示语
|
|
# 构建优化后的提示语
|
|
- prompt = """你是企业名片的信息提取专家。请仔细分析提供的名片,精确提取以下信息:
|
|
|
|
|
|
+ prompt = """你是企业名片的信息提取专家。请仔细分析提供的图片,精确提取名片信息。
|
|
|
|
|
|
## 提取要求
|
|
## 提取要求
|
|
- 区分中英文内容,分别提取
|
|
- 区分中英文内容,分别提取
|
|
@@ -520,7 +520,7 @@ def parse_text_with_qwen25VLplus(image_data):
|
|
12. 中文邮政编码 (postal_code_zh)
|
|
12. 中文邮政编码 (postal_code_zh)
|
|
13. 英文邮政编码 (postal_code_en)
|
|
13. 英文邮政编码 (postal_code_en)
|
|
14. 品牌组合 (brand_group) - 如有多个品牌,使用逗号分隔
|
|
14. 品牌组合 (brand_group) - 如有多个品牌,使用逗号分隔
|
|
-15. 职业轨迹 (career_path) - 如能从名片中推断,以JSON数组格式返回,包含当前日期,公司名称和职位
|
|
|
|
|
|
+15. 职业轨迹 (career_path) - 如能从名片中推断,以JSON数组格式返回,包含当前日期,公司名称和职位。自动生成当前日期。
|
|
16. 隶属关系 (affiliation) - 如能从名片中推断,以JSON数组格式返回,包含公司名称和隶属集团名称
|
|
16. 隶属关系 (affiliation) - 如能从名片中推断,以JSON数组格式返回,包含公司名称和隶属集团名称
|
|
## 输出格式
|
|
## 输出格式
|
|
请以严格的JSON格式返回结果,不要添加任何额外解释文字。JSON格式如下:
|
|
请以严格的JSON格式返回结果,不要添加任何额外解释文字。JSON格式如下:
|
|
@@ -545,10 +545,11 @@ def parse_text_with_qwen25VLplus(image_data):
|
|
}
|
|
}
|
|
```"""
|
|
```"""
|
|
|
|
|
|
- # 调用 Qwen 2.5 VL Plus API
|
|
|
|
- logging.info("发送请求到 Qwen 2.5 VL Plus 模型")
|
|
|
|
|
|
+ # 调用 Qwen VL Max API
|
|
|
|
+ logging.info("发送请求到 Qwen VL Max 模型")
|
|
completion = client.chat.completions.create(
|
|
completion = client.chat.completions.create(
|
|
- model="qwen-vl-plus",
|
|
|
|
|
|
+ # model="qwen-vl-plus",
|
|
|
|
+ model="qwen-vl-max-latest",
|
|
messages=[
|
|
messages=[
|
|
{
|
|
{
|
|
"role": "user",
|
|
"role": "user",
|
|
@@ -590,7 +591,7 @@ def parse_text_with_qwen25VLplus(image_data):
|
|
return extracted_data
|
|
return extracted_data
|
|
|
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
- error_msg = f"Qwen 2.5 VL Plus 模型解析失败: {str(e)}"
|
|
|
|
|
|
+ error_msg = f"Qwen VL Max 模型解析失败: {str(e)}"
|
|
logging.error(error_msg, exc_info=True)
|
|
logging.error(error_msg, exc_info=True)
|
|
raise Exception(error_msg)
|
|
raise Exception(error_msg)
|
|
|
|
|