Commit 3b35f139cb67b5c0f1c5427728555eea350647a3
1 parent
1c5366f5
search evalution
Showing
4 changed files
with
154 additions
and
45 deletions
Show diff stats
config/config.yaml
| ... | ... | @@ -512,7 +512,7 @@ services: |
| 512 | 512 | dtype: "float16" |
| 513 | 513 | enable_prefix_caching: true |
| 514 | 514 | enforce_eager: false |
| 515 | - infer_batch_size: 84 | |
| 515 | + infer_batch_size: 80 | |
| 516 | 516 | sort_by_doc_length: true |
| 517 | 517 | # 默认 standard 与 vLLM 官方 Qwen3 reranker 前缀一致 |
| 518 | 518 | instruction_format: standard # compact standard | ... | ... |
| ... | ... | @@ -0,0 +1,124 @@ |
| 1 | +参考资料: | |
| 2 | + | |
| 3 | +1. 搜索接口: | |
| 4 | + | |
| 5 | +```bash | |
| 6 | +export BASE_URL="${BASE_URL:-http://localhost:6002}" | |
| 7 | +export TENANT_ID="${TENANT_ID:-163}" # 改成你的租户ID | |
| 8 | +``` | |
| 9 | +```bash | |
| 10 | +curl -sS "$BASE_URL/search/" \ | |
| 11 | + -H "Content-Type: application/json" \ | |
| 12 | + -H "X-Tenant-ID: $TENANT_ID" \ | |
| 13 | + -d '{ | |
| 14 | + "query": "芭比娃娃", | |
| 15 | + "size": 20, | |
| 16 | + "from": 0, | |
| 17 | + "language": "zh" | |
| 18 | + }' | |
| 19 | +``` | |
| 20 | + | |
| 21 | +response: | |
| 22 | +{ | |
| 23 | + "results": [ | |
| 24 | + { | |
| 25 | + "spu_id": "12345", | |
| 26 | + "title": "芭比时尚娃娃", | |
| 27 | + "brief": "高品质芭比娃娃", | |
| 28 | + "description": "详细描述...", | |
| 29 | + "vendor": "美泰", | |
| 30 | + "category": "玩具", | |
| 31 | + "category_path": "玩具/娃娃/时尚", | |
| 32 | + "category_name": "时尚", | |
| 33 | + "category_id": "cat_001", | |
| 34 | + "category_level": 3, | |
| 35 | + "category1_name": "玩具", | |
| 36 | + "category2_name": "娃娃", | |
| 37 | + "category3_name": "时尚", | |
| 38 | + "tags": ["娃娃", "玩具", "女孩"], | |
| 39 | + "price": 89.99, | |
| 40 | + "compare_at_price": 129.99, | |
| 41 | + "currency": "USD", | |
| 42 | + "image_url": "https://example.com/image.jpg", | |
| 43 | + "in_stock": true, | |
| 44 | + "sku_prices": [89.99, 99.99, 109.99], | |
| 45 | + "sku_weights": [100, 150, 200], | |
| 46 | + "sku_weight_units": ["g", "g", "g"], | |
| 47 | + "total_inventory": 500, | |
| 48 | + "option1_name": "color", | |
| 49 | + "option2_name": "size", | |
| 50 | + "option3_name": null, | |
| 51 | + | |
| 52 | +2. 重排服务: | |
| 53 | +curl -X POST "http://localhost:6007/rerank" \ | |
| 54 | + -H "Content-Type: application/json" \ | |
| 55 | + -d '{ | |
| 56 | + "query": "玩具 芭比", | |
| 57 | + "docs": ["12PCS 6 Types of Dolls with Bottles", "纯棉T恤 短袖"], | |
| 58 | + "top_n":386, | |
| 59 | + "normalize": true | |
| 60 | + }' | |
| 61 | + | |
| 62 | + | |
| 63 | +3. 基于指定字段查询:es_debug_search.py | |
| 64 | + | |
| 65 | + | |
| 66 | +主要任务: | |
| 67 | +1. 评估工具的建立: | |
| 68 | +注意判断结果好坏,要用统一的评估工具,不要对每个query设定关键词匹配的规则来判断是否符合要求,这样不可扩展,这种方式且容易有误判还是复杂,并且不好扩展到其他搜索词。 | |
| 69 | +因此要做一个搜索结果评估工具、多个结果对比的工具,供后面的标注集合构建工具调用。工具内部实现可以是调用大模型来判断,说清楚什么叫高相关、基本相关、不相关: | |
| 70 | + | |
| 71 | +prompt: | |
| 72 | +```bash | |
| 73 | +你是一个电商搜索结果相关性评估助手。请根据用户查询(query)和每个商品的信息,输出该商品的相关性等级。 | |
| 74 | + | |
| 75 | +## 相关性等级标准 | |
| 76 | +Exact 完全相关 — 完全匹配用户搜索需求。 | |
| 77 | +Partial 部分相关 — 主意图满足(同品类或相近用途),但次要属性(如颜色、风格、尺码等)有偏差或无法确认。 | |
| 78 | +Irrelevant 不相关 — 品类或用途不符,主诉求未满足。 | |
| 79 | + | |
| 80 | + | |
| 81 | +1. {title1} | {option1_value1}, {option2_value1}, {option3_value1} | |
| 82 | +2. {title2} | {option1_value2}, {option2_value2}, {option3_value2} | |
| 83 | +... | |
| 84 | +50. {title50} | {option1_value50}, {option2_value50}, {option3_value50} | |
| 85 | + | |
| 86 | +## 输出格式 | |
| 87 | +严格输出 {input_nums} 行,每行仅Exact / Partial / Irrelevant三者之一。按顺序对应上述 50 个商品。不要输出任何其他任何信息 | |
| 88 | +``` | |
| 89 | + | |
| 90 | + | |
| 91 | +2. 测试集(结果标注)建立: | |
| 92 | +@queries/queries.txt | |
| 93 | + | |
| 94 | +对其中每一个query: | |
| 95 | +1. 召回: | |
| 96 | +1)参考搜索接口 召回1k结果。 | |
| 97 | +2)遍历全库,得到每个spu的title,请求重排模型,进行全排序,得到top1w结果。注意重排模型打分一定要做缓存(本地文件缓存即可。query+title->rerank_score)。 | |
| 98 | +2. 对以上结果,拆分batch请求llm,进行结果标注。 | |
| 99 | +3. 请你思考如何存储结果、并利于以后的对比、使用、展示。 | |
| 100 | + | |
| 101 | + | |
| 102 | +3. 评估工具页面: | |
| 103 | +请你设计一个搜索评估交互页面。端口6010。 | |
| 104 | +页面主题:上方是搜索框,如果发起搜索,那么下方给出本次结果的总体指标以及top100结果(允许翻页) | |
| 105 | + | |
| 106 | +总体指标: | |
| 107 | +| 指标 | 含义 | | |
| 108 | +|------|------| | |
| 109 | +| **P@5, P@10, P@20, P@50** | 前 K 个结果中「仅 3 相关」的精确率 | | |
| 110 | +| **P@5_2_3 ~ P@50_2_3** | 前 K 个结果中「2 和 3 都算相关」的精确率 | | |
| 111 | +| **MAP_3** | 仅 3 相关时的 Average Precision(单 query) | | |
| 112 | +| **MAP_2_3** | 2 和 3 都相关时的 Average Precision | | |
| 113 | + | |
| 114 | +结果列表: | |
| 115 | +按行列下来,每行左侧给每个结果找到标注值(三个等级。对结果也可以颜色标记),展示图片,title.en+title.en+首个sku的option1/2/3_value(分三行展示,这三行和左侧的图片并列) | |
| 116 | + | |
| 117 | + | |
| 118 | +评测页面最左侧: | |
| 119 | +queries默认是queries/queries.txt,填入左侧列表框,点击其中任何一个发起搜索。 | |
| 120 | + | |
| 121 | +4. 批量评估工具脚本 | |
| 122 | +给一个批量执行脚本,跑完所有query,进行各维度结果的汇总,生成报告,报告名称带上时间标记和一些关键信息。 | |
| 123 | + | |
| 124 | + | ... | ... |
scripts/evaluation/ff.md deleted
| ... | ... | @@ -1,22 +0,0 @@ |
| 1 | - | |
| 2 | - | |
| 3 | - | |
| 4 | -- R3 完全相关:该结果的核心意图被满足,标题/副标题/类目/属性不违背意图。 | |
| 5 | -- R2 部分相关:同品类或相近用途,但规格/材质/年龄段/场景等维度的要求有偏差。 | |
| 6 | -- R1 不相关:品类/用途不符,或明显错误/违禁/空结果。 | |
| 7 | - | |
| 8 | - | |
| 9 | -## 指标说明 | |
| 10 | - | |
| 11 | -- **相关性**:1=低,2=中,3=高。 | |
| 12 | -- **「仅 3 相关」**:只把打分 3 视为相关;**「2_3 相关」**:把 2 和 3 都视为相关。 | |
| 13 | - | |
| 14 | -| 指标 | 含义 | | |
| 15 | -|------|------| | |
| 16 | -| **P@5, P@10, P@20, P@50** | 前 K 个结果中「仅 3 相关」的精确率 | | |
| 17 | -| **P@5_2_3 ~ P@50_2_3** | 前 K 个结果中「2 和 3 都算相关」的精确率 | | |
| 18 | -| **MAP_3** | 仅 3 相关时的 Average Precision(单 query) | | |
| 19 | -| **MAP_2_3** | 2 和 3 都相关时的 Average Precision | | |
| 20 | -| **AUC_3** | 仅 3 相关、1/2 不相关时,随机相关项排在随机不相关项前的概率 | | |
| 21 | -| **AUC_2_3** | 2 和 3 相关、1 不相关时的同上 AUC | | |
| 22 | - |
scripts/evaluation/queries/queries.txt
| ... | ... | @@ -11,33 +11,40 @@ vacation outfit dress |
| 11 | 11 | minimalist top |
| 12 | 12 | streetwear t-shirt |
| 13 | 13 | office casual blouse |
| 14 | -街头风T恤 | |
| 15 | -宽松T恤 | |
| 16 | -复古印花T恤 | |
| 17 | -Y2K上衣 | |
| 18 | -情侣T恤 | |
| 19 | -美式复古T恤 | |
| 20 | -重磅棉T恤 | |
| 21 | -修身打底衫 | |
| 22 | -辣妹风短袖 | |
| 23 | -纯欲上衣 | |
| 24 | -正肩白T恤 | |
| 25 | 14 | 波西米亚花朵衬衫 |
| 26 | 15 | 泡泡袖短袖 |
| 27 | 16 | 扎染字母T恤 |
| 28 | -T-shirt Dress | |
| 29 | -Crop Top | |
| 30 | -Lace Undershirt | |
| 31 | -Leopard Print Ripped T-shirt | |
| 32 | -Breton Stripe T-shirt | |
| 33 | 17 | V-Neck Cotton T-shirt |
| 34 | -Sweet & Cool Bow T-shirt | |
| 35 | -Vacation Style T-shirt | |
| 36 | -Commuter Casual Top | |
| 37 | -Minimalist Solid T-shirt | |
| 38 | -Band T-shirt | |
| 39 | 18 | Athletic Gym T-shirt |
| 40 | 19 | Plus Size Loose T-shirt |
| 41 | 20 | Korean Style Slim T-shirt |
| 42 | 21 | Basic Layering Top |
| 43 | - | |
| 22 | +shawl collar cardigan | |
| 23 | +swim dress | |
| 24 | +毕业典礼定制西装 | |
| 25 | +colorblock hoodie | |
| 26 | +sock boots | |
| 27 | +旅行服装 | |
| 28 | +khaki green backpack | |
| 29 | +皱边裙 | |
| 30 | +高跟鞋 | |
| 31 | +图案连身衣 | |
| 32 | +天鹅绒鸡尾酒会礼服 | |
| 33 | +Wearing small clothes | |
| 34 | +gingham dress | |
| 35 | +海滩度假装 | |
| 36 | +vacation outfits | |
| 37 | +running shorts | |
| 38 | +pink sweater aesthetic | |
| 39 | +hiking boots | |
| 40 | +宽松开襟羊毛衫 | |
| 41 | +business casual women | |
| 42 | +a-line dress | |
| 43 | +涤纶短裤 | |
| 44 | +哺乳文胸 | |
| 45 | +Compression Top Spandex | |
| 46 | +skiing trip insulated base layer | |
| 47 | +high waisted jeans | |
| 48 | +无袖夏装 | |
| 49 | +雪纺衬衫 | |
| 50 | +convertible zip-off hiking pants | |
| 44 | 51 | \ No newline at end of file | ... | ... |