3 Commits

Author SHA1 Message Date
72de68e1ff feat: 智能解析prompt改为保留原始单位
- 修改要求:从'不带单位'改为'保留原始单位'
- 字段标签中有单位标注时,提取数据带上对应单位
- 避免'提取数字不带单位'导致数据和单位不符
- 修改范围:
  - get_parse_prompt_template 函数
  - parse_with_llm 函数(图片解析和文本解析)
- 示例:显存(GB)字段提取'24GB'而不是'24'
2026-04-29 17:45:07 +08:00
6844d73c9d feat: 所有类别添加官网地址和数据参考字段
- 官网地址(official_urls): JSON数组,存储产品官网链接
- 数据参考(reference_urls): JSON数组,存储参数来源链接
- 格式示例: [{"url":"https://...","title":"..."}]
- 支持多个链接+标题
- 类型: JSON,长文本输入
- 覆盖: AI模型、GPU、CPU、手机、电脑、汽车、摄像全部7个类别
2026-04-29 17:30:32 +08:00
40b04ae9c1 feat: 所有类别添加特色(features)字段
- 字段名: features
- 显示名: 特色
- 类型: 文本
- 说明: 产品特色/亮点,简短描述
- 位置: 描述字段前面
- 覆盖: AI模型、GPU、CPU、手机、电脑、汽车、摄像全部7个类别
2026-04-29 17:20:26 +08:00
2 changed files with 289 additions and 101 deletions

6
app.py
View File

@@ -163,7 +163,7 @@ def get_parse_prompt_template(category_type, category_id=None, subcategory_id=No
重要要求: 重要要求:
1. 图片中可能包含1个或多个产品请识别所有产品 1. 图片中可能包含1个或多个产品请识别所有产品
2. 如果是多张图片,请综合分析所有图片内容 2. 如果是多张图片,请综合分析所有图片内容
3. 数字字段只返回数字,不带单位 3. **提取数据时保留原始单位**:字段标签中如有单位标注(如($)、(GB)、(MHz)等),提取时请带上对应单位,保持数据完整性
4. 如果某字段没有提及返回null 4. 如果某字段没有提及返回null
5. 返回格式:如果识别到多个产品,返回数组 [对象列表]; 如果只有一个产品,返回单个对象 5. 返回格式:如果识别到多个产品,返回数组 [对象列表]; 如果只有一个产品,返回单个对象
6. 只返回JSON数据不要其他内容""" 6. 只返回JSON数据不要其他内容"""
@@ -255,7 +255,7 @@ def parse_with_llm(text, category_type, images=None, category_id=None, subcatego
重要要求: 重要要求:
1. 图片中可能包含1个或多个产品请识别所有产品 1. 图片中可能包含1个或多个产品请识别所有产品
2. 如果是多张图片,请综合分析所有图片内容 2. 如果是多张图片,请综合分析所有图片内容
3. 数字字段只返回数字,不带单位 3. **提取数据时保留原始单位**:字段标签中如有单位标注(如($)、(GB)、(MHz)等),提取时请带上对应单位,保持数据完整性
4. 如果某字段没有提及返回null 4. 如果某字段没有提及返回null
5. 返回格式:如果识别到多个产品,返回数组 [对象列表]; 如果只有一个产品,返回单个对象 5. 返回格式:如果识别到多个产品,返回数组 [对象列表]; 如果只有一个产品,返回单个对象
6. 只返回JSON数据不要其他内容""" 6. 只返回JSON数据不要其他内容"""
@@ -307,7 +307,7 @@ def parse_with_llm(text, category_type, images=None, category_id=None, subcatego
要求: 要求:
1. 根据文本内容智能提取各个字段的值 1. 根据文本内容智能提取各个字段的值
2. 数字字段只返回数字,不带单位 2. **提取数据时保留原始单位**:字段标签中如有单位标注(如($)、(GB)、(MHz)等),提取时请带上对应单位,保持数据完整性
3. 如果某字段在文本中没有提及返回null 3. 如果某字段在文本中没有提及返回null
4. 返回JSON格式不要包含任何其他内容 4. 返回JSON格式不要包含任何其他内容

View File

@@ -205,6 +205,30 @@
"required": false, "required": false,
"input_style": "normal" "input_style": "normal"
}, },
{
"key": "features",
"label": "特色",
"type": "text",
"description": "产品特色/亮点,简短描述",
"required": false,
"input_style": "normal"
},
{
"key": "official_urls",
"label": "官网地址",
"type": "json",
"description": "产品官网链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"key": "reference_urls",
"label": "数据参考",
"type": "json",
"description": "参数来源链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{ {
"key": "description", "key": "description",
"label": "描述", "label": "描述",
@@ -432,6 +456,30 @@
"required": false, "required": false,
"input_style": "normal" "input_style": "normal"
}, },
{
"key": "features",
"label": "特色",
"type": "text",
"description": "产品特色/亮点,简短描述",
"required": false,
"input_style": "normal"
},
{
"key": "official_urls",
"label": "官网地址",
"type": "json",
"description": "产品官网链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"key": "reference_urls",
"label": "数据参考",
"type": "json",
"description": "参数来源链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{ {
"key": "description", "key": "description",
"label": "描述", "label": "描述",
@@ -644,6 +692,30 @@
"required": false, "required": false,
"input_style": "normal" "input_style": "normal"
}, },
{
"key": "features",
"label": "特色",
"type": "text",
"description": "产品特色/亮点,简短描述",
"required": false,
"input_style": "normal"
},
{
"key": "official_urls",
"label": "官网地址",
"type": "json",
"description": "产品官网链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"key": "reference_urls",
"label": "数据参考",
"type": "json",
"description": "参数来源链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{ {
"key": "description", "key": "description",
"label": "描述", "label": "描述",
@@ -771,6 +843,30 @@
"type": "text", "type": "text",
"input_style": "normal" "input_style": "normal"
}, },
{
"key": "features",
"label": "特色",
"type": "text",
"description": "产品特色/亮点,简短描述",
"required": false,
"input_style": "normal"
},
{
"key": "official_urls",
"label": "官网地址",
"type": "json",
"description": "产品官网链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"key": "reference_urls",
"label": "数据参考",
"type": "json",
"description": "参数来源链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{ {
"description": "产品简介", "description": "产品简介",
"key": "description", "key": "description",
@@ -799,138 +895,172 @@
"order": 5, "order": 5,
"subcategories": [ "subcategories": [
{ {
"id": "gaming-laptop", "feature_labels": {
"name": "游戏笔记本", "gpu": "显卡",
"price": "价格",
"processor": "处理器",
"ram_gb": "内存"
},
"icon": "ri-gamepad-line", "icon": "ri-gamepad-line",
"id": "gaming-laptop",
"key_features": [ "key_features": [
"processor", "processor",
"gpu", "gpu",
"ram_gb", "ram_gb",
"price" "price"
], ],
"feature_labels": { "name": "游戏笔记本"
"processor": "处理器",
"gpu": "显卡",
"ram_gb": "内存",
"price": "价格"
}
}, },
{ {
"id": "business-laptop", "feature_labels": {
"name": "商务笔记本", "price": "价格",
"processor": "处理器",
"ram_gb": "内存",
"weight_kg": "重量"
},
"icon": "ri-briefcase-line", "icon": "ri-briefcase-line",
"id": "business-laptop",
"key_features": [ "key_features": [
"processor", "processor",
"ram_gb", "ram_gb",
"weight_kg", "weight_kg",
"price" "price"
], ],
"feature_labels": { "name": "商务笔记本"
"processor": "处理器", },
"ram_gb": "内存", {
"weight_kg": "重量", "id": "5d6fe10bbada",
"price": "价格" "name": "台式主机",
} "icon": "ri-folder-line",
"key_features": [],
"feature_labels": {},
"extra_fields": [
{
"key": "power",
"label": "电源",
"type": "text",
"description": "",
"required": false
}
]
} }
], ],
"fields": [ "fields": [
{ {
"description": "电脑型号",
"input_style": "normal",
"key": "name", "key": "name",
"label": "名称", "label": "名称",
"type": "text",
"description": "电脑型号",
"required": true, "required": true,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "品牌",
"input_style": "normal",
"key": "brand", "key": "brand",
"label": "品牌", "label": "品牌",
"type": "text",
"description": "品牌",
"required": true, "required": true,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "CPU型号",
"input_style": "normal",
"key": "processor", "key": "processor",
"label": "处理器", "label": "处理器",
"type": "text",
"description": "CPU型号",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "GPU型号",
"input_style": "normal",
"key": "gpu", "key": "gpu",
"label": "显卡", "label": "显卡",
"type": "text",
"description": "GPU型号",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "RAM容量",
"input_style": "normal",
"key": "ram_gb", "key": "ram_gb",
"label": "内存(GB)", "label": "内存(GB)",
"type": "text",
"description": "RAM容量",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "存储容量",
"input_style": "normal",
"key": "storage_gb", "key": "storage_gb",
"label": "存储(GB)", "label": "存储(GB)",
"type": "text",
"description": "存储容量",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "屏幕尺寸",
"input_style": "normal",
"key": "screen_size", "key": "screen_size",
"label": "屏幕尺寸", "label": "屏幕尺寸",
"type": "text",
"description": "屏幕尺寸",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "重量",
"input_style": "normal",
"key": "weight_kg", "key": "weight_kg",
"label": "重量(kg)", "label": "重量(kg)",
"type": "text",
"description": "重量",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "参考价格",
"input_style": "normal",
"key": "price", "key": "price",
"label": "价格", "label": "价格",
"required": false,
"type": "text"
},
{
"key": "features",
"label": "特色",
"type": "text", "type": "text",
"description": "参考价格", "description": "产品特色/亮点,简短描述",
"required": false, "required": false,
"input_style": "normal" "input_style": "normal"
}, },
{ {
"key": "year", "key": "official_urls",
"label": "年份", "label": "官网地址",
"type": "text", "type": "json",
"description": "发布年份", "description": "产品官网链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "normal"
},
{
"key": "description",
"label": "描述",
"type": "text",
"description": "产品简介",
"required": false, "required": false,
"input_style": "long" "input_style": "long"
}, },
{ {
"key": "reference_urls",
"label": "数据参考",
"type": "json",
"description": "参数来源链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"description": "产品简介",
"input_style": "long",
"key": "description",
"label": "描述",
"required": false,
"type": "text"
},
{
"description": "产品发布日期,格式 YYYY-MM-DD",
"input_style": "normal",
"key": "publish_date", "key": "publish_date",
"label": "发布日期", "label": "发布日期",
"type": "text",
"description": "产品发布日期,格式 YYYY-MM-DD",
"required": false, "required": false,
"input_style": "normal" "type": "text"
} }
] ],
"visible": true,
"updated_at": "2026-04-29 12:21:23"
}, },
{ {
"id": "021dc76d36be", "id": "021dc76d36be",
@@ -942,94 +1072,128 @@
"created_at": "2026-04-09 10:09:01", "created_at": "2026-04-09 10:09:01",
"subcategories": [ "subcategories": [
{ {
"id": "sedan", "feature_labels": {
"name": "轿车", "engine": "发动机",
"power_kw": "功率",
"price": "价格"
},
"icon": "ri-car-line", "icon": "ri-car-line",
"id": "sedan",
"key_features": [ "key_features": [
"engine", "engine",
"power_kw", "power_kw",
"price" "price"
], ],
"feature_labels": { "name": "轿车"
"engine": "发动机",
"power_kw": "功率",
"price": "价格"
}
}, },
{ {
"id": "suv", "feature_labels": {
"name": "SUV", "engine": "发动机",
"price": "价格",
"seats": "座位数"
},
"icon": "ri-truck-line", "icon": "ri-truck-line",
"id": "suv",
"key_features": [ "key_features": [
"engine", "engine",
"seats", "seats",
"price" "price"
], ],
"feature_labels": { "name": "SUV"
"engine": "发动机", },
"seats": "座位数", {
"price": "价格" "id": "df938b1c0d81",
} "name": "房车",
"icon": "ri-folder-line",
"key_features": [],
"feature_labels": {},
"extra_fields": []
} }
], ],
"fields": [ "fields": [
{ {
"description": "车型名称",
"input_style": "normal",
"key": "name", "key": "name",
"label": "名称", "label": "名称",
"type": "text",
"description": "车型名称",
"required": true, "required": true,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "汽车品牌",
"input_style": "normal",
"key": "brand", "key": "brand",
"label": "品牌", "label": "品牌",
"type": "text",
"description": "汽车品牌",
"required": true, "required": true,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "参考价格(万元)",
"input_style": "normal",
"key": "price", "key": "price",
"label": "价格(万)", "label": "价格(万)",
"type": "text",
"description": "参考价格(万元)",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "生产年份",
"input_style": "normal",
"key": "year", "key": "year",
"label": "年份", "label": "年份",
"type": "text",
"description": "生产年份",
"required": false, "required": false,
"input_style": "normal" "type": "text"
}, },
{ {
"description": "详细规格参数",
"input_style": "long",
"key": "specs", "key": "specs",
"label": "参数", "label": "参数",
"type": "text",
"description": "详细规格参数",
"required": false, "required": false,
"input_style": "long" "type": "text"
}, },
{ {
"key": "description", "key": "features",
"label": "描述", "label": "特色",
"type": "text", "type": "text",
"description": "车型简介", "description": "产品特色/亮点,简短描述",
"required": false,
"input_style": "long"
},
{
"key": "publish_date",
"label": "发布日期",
"type": "text",
"description": "产品发布日期,格式 YYYY-MM-DD",
"required": false, "required": false,
"input_style": "normal" "input_style": "normal"
},
{
"key": "official_urls",
"label": "官网地址",
"type": "json",
"description": "产品官网链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"key": "reference_urls",
"label": "数据参考",
"type": "json",
"description": "参数来源链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"description": "车型简介",
"input_style": "long",
"key": "description",
"label": "描述",
"required": false,
"type": "text"
},
{
"description": "产品发布日期,格式 YYYY-MM-DD",
"input_style": "normal",
"key": "publish_date",
"label": "发布日期",
"required": false,
"type": "text"
} }
] ],
"visible": true,
"updated_at": "2026-04-29 13:09:39"
}, },
{ {
"id": "71fa2b4d818f", "id": "71fa2b4d818f",
@@ -1149,6 +1313,30 @@
"required": false, "required": false,
"input_style": "long" "input_style": "long"
}, },
{
"key": "features",
"label": "特色",
"type": "text",
"description": "产品特色/亮点,简短描述",
"required": false,
"input_style": "normal"
},
{
"key": "official_urls",
"label": "官网地址",
"type": "json",
"description": "产品官网链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{
"key": "reference_urls",
"label": "数据参考",
"type": "json",
"description": "参数来源链接JSON数组格式[{\"url\":\"https://...\",\"title\":\"...\"}]",
"required": false,
"input_style": "long"
},
{ {
"key": "description", "key": "description",
"label": "描述", "label": "描述",