From 0e9546aa1aa828c6df8b1cc6dec02601659eac4c Mon Sep 17 00:00:00 2001 From: pangkaicheng <924366729@qq.com> Date: Wed, 10 Dec 2025 17:27:56 +0800 Subject: [PATCH] Enable data auto process for new data --- app/server/ChatbotAgent/agent_server.py | 12 +- .../ChatbotAgent/core/stylist_agent_server.py | 73 +++-- .../ChatbotAgent/core/vector_database.py | 147 ++------- app/taxonomy.py | 62 +++- data_ingestion/README.md | 92 ++++++ data_ingestion/process_item.py | 280 ++++++++++++++++++ data_ingestion/run_ingestion.py | 178 +++++++++++ docs/Edi.docx | Bin 0 -> 16640 bytes docs/LC Recommendation Workflow.drawio | 263 ++++++++++++++++ docs/LC Recommendation Workflow.pdf | Bin 0 -> 116324 bytes docs/LC Stylist Rules 总结.docx | Bin 0 -> 29989 bytes docs/vera.docx | Bin 0 -> 16038 bytes 12 files changed, 936 insertions(+), 171 deletions(-) create mode 100644 data_ingestion/README.md create mode 100644 data_ingestion/process_item.py create mode 100644 data_ingestion/run_ingestion.py create mode 100644 docs/Edi.docx create mode 100644 docs/LC Recommendation Workflow.drawio create mode 100644 docs/LC Recommendation Workflow.pdf create mode 100644 docs/LC Stylist Rules 总结.docx create mode 100644 docs/vera.docx diff --git a/app/server/ChatbotAgent/agent_server.py b/app/server/ChatbotAgent/agent_server.py index 6ca7bfb..cf8224d 100644 --- a/app/server/ChatbotAgent/agent_server.py +++ b/app/server/ChatbotAgent/agent_server.py @@ -51,7 +51,7 @@ class AgentRequestModel(BaseModel): session_id: str num_outfits: int stylist_path: str - batch_source: str + batch_sources: List[str] callback_url: str gender: str max_len: int = 9 @@ -112,8 +112,8 @@ class LCAgent(ls.LitAPI): request_summary=request_summary, occasions=occasions, stylist_name=request.stylist_path, - batch_source=request.batch_source, start_outfit=[], + batch_sources=request.batch_sources, num_outfits=request.num_outfits, user_id=request.user_id, gender=request.gender, @@ -162,7 +162,7 @@ class LCAgent(ls.LitAPI): return str(parsed_result.summary), [occ.value for occ in parsed_result.occasions] async def recommend_outfit( - self, request_summary: str, occasions: List[str], batch_source: str, stylist_name: str, start_outfit=[], + self, request_summary: str, occasions: List[str], stylist_name: str, start_outfit: List = [], batch_sources: List[str] = [], num_outfits: int = 1, user_id: str = "test", gender: str = "male", callback_url: str = None, max_len: int = 9, outfit_ids=None ): @@ -186,9 +186,9 @@ class LCAgent(ls.LitAPI): task = agent.run_styling_process( request_summary=request_summary, occasions=occasions, - batch_source=batch_source, stylist_name=stylist_name, start_outfit=start_outfit, + batch_sources=batch_sources, user_id=user_id, callback_url=callback_url, gender=gender, @@ -227,9 +227,9 @@ class LCAgent(ls.LitAPI): new_task = agent.run_styling_process( request_summary=request_summary, occasions=occasions, - batch_source=batch_source, stylist_name=stylist_name, start_outfit=start_outfit, + batch_sources=batch_sources, user_id=user_id, callback_url=callback_url ) @@ -295,9 +295,9 @@ if __name__ == "__main__": task = agent.run_styling_process( request_summary=request_summary, occasions=occasions, - batch_source="2025_q4", stylist_name=stylist_name, start_outfit=[], + batch_sources=["2025_q4"], user_id=test_content['test_case_id'], callback_url="http://mock-callback.com/result", gender="female", diff --git a/app/server/ChatbotAgent/core/stylist_agent_server.py b/app/server/ChatbotAgent/core/stylist_agent_server.py index d4ab40f..f546f61 100644 --- a/app/server/ChatbotAgent/core/stylist_agent_server.py +++ b/app/server/ChatbotAgent/core/stylist_agent_server.py @@ -16,11 +16,16 @@ from app.server.utils.img_operation import merge_images_to_square from app.server.utils.minio_client import minio_client, oss_upload_image from app.server.utils.request_post import post_request from app.config import settings -from app.taxonomy import CLOTHING_CATEGORY, ACCESSORY_CATEGORY +from app.taxonomy import CATEGORY, ALL_CATEGORY, IGNORE_CATEGORY logger = logging.getLogger(__name__) +IGNORE_CATEGORY = set(IGNORE_CATEGORY) +CLOTHING_CATEGORY = set(CATEGORY['clothing'] + CATEGORY['shoes'] + CATEGORY['bags']) - IGNORE_CATEGORY +ACCESSORY_CATEGORY = set(CATEGORY['accessories']) - IGNORE_CATEGORY + + class AsyncStylistAgent: def __init__(self, local_db, max_len: int, gemini_model_name: str, outfit_id=str): # self.outfit_items: List[Dict[str, str]] = [] @@ -145,7 +150,7 @@ class AsyncStylistAgent: ``` * `action`: Must always be `"recommend_item"` until the outfit is complete. - * `category`: Must be an unused category from the following list: {CLOTHING_CATEGORY} (strictly no repeats, per the Category Uniqueness Mandate). + * `category`: Must be an unused category from the following list: {list(CLOTHING_CATEGORY)} (strictly no repeats, per the Category Uniqueness Mandate). * `description`: This must be an **extremely detailed and precise** description of the item. This description is used for **high-accuracy vector search** in the database and must include: * **Color** (e.g., milk tea, pure white, dark gray) * **Fit/Silhouette** (e.g., Oversize, loose, slim-fit) @@ -193,7 +198,7 @@ class AsyncStylistAgent: --- ## STRICT RULES 1. **Batch Recommendation**: Do NOT recommend items one by one. You must output the **COMPLETE LIST** of accessories (e.g., jewelry, bag, watch, hat) in a single response using the 'recommended_accessories' list. - 2. **Allowed Categories**: Select only from: {ACCESSORY_CATEGORY}. + 2. **Allowed Categories**: Select only from: {list(ACCESSORY_CATEGORY)}. 3. **Harmony & Constraints**: - The accessories must complement the [Current Outfit Base]. - Strictly follow the [Accessories Style Guide] regarding metals (gold/silver), numbers, and prohibited items. @@ -295,40 +300,46 @@ class AsyncStylistAgent: print(f"Raw response: {response_text}") return None - def _get_next_item(self, item_description: str, category: str, occasions: List[str], batch_source: str = "2025_q4", gender: str = "female") -> Optional[Dict[str, str]]: + def _get_next_item(self, item_description: str, category: str, occasions: List[str], batch_sources: List[str] = [], gender: str = "female") -> Optional[Dict[str, str]]: """ 1. 根据描述生成嵌入。 2. 查询本地数据库以找到最佳匹配项。 3. 模拟 Agent 审核匹配项(这里简化为总是通过)。 """ + # 1. 生成查询嵌入 + query_embedding = self.local_db.get_clip_embedding(item_description, is_image=False) + + # 2. 执行查询,并过滤类别 try: - # 1. 生成查询嵌入 - query_embedding = self.local_db.get_clip_embedding(item_description, is_image=False) + results = self.local_db.get_matched_item( + query_embedding, + category, + occasions=occasions, + batch_sources=batch_sources, + gender=gender, + n_results=1 + ) + except ValueError as e: + print(f"检测到无效参数错误:{e}") + results = [] - # 2. 执行查询,并过滤类别 - results = self.local_db.get_matched_item(query_embedding, category, occasions=occasions, batch_source=batch_source, gender=gender, n_results=1) - - if not results: - print(f"❌ 数据库中未找到符合 '{category}' 和描述的单品。") - return None - - # 3. 模拟 Agent 审核(实际应用中,你需要将图片发回给 Agent进行审核) - best_meta = results[0] # 第一个 batch 的第一个 metadata - item_id = best_meta['item_id'].replace("_img", "") - return { - "item_id": item_id, # 从 metadata 字典中安全获取 - "category": best_meta['category'], - "gpt_description": item_description, - 'description': best_meta['description'], - # 假设 'item_path' 存储在 metadata 中,或从 'item_id' 推导 - # 这里假设 item_id 就是文件名的一部分 - "image_path": os.path.join(f"{item_id}.jpg") - } - - except Exception as e: - print(f"An error occurred during item retrieval: {e}") + if not results: + print(f"数据库中未找到符合 '{category}' 和描述的单品。") return None + # 3. 模拟 Agent 审核(实际应用中,你需要将图片发回给 Agent进行审核) + best_meta = results[0] # 第一个 batch 的第一个 metadata + item_id = best_meta['item_id'].replace("_img", "") + return { + "item_id": item_id, # 从 metadata 字典中安全获取 + "category": best_meta['category'], + "gpt_description": item_description, + 'description': best_meta['description'], + # 假设 'item_path' 存储在 metadata 中,或从 'item_id' 推导 + # 这里假设 item_id 就是文件名的一部分 + "image_path": os.path.join(f"{item_id}.jpg") + } + def _build_user_input(self, recommend_acc=False) -> str: """构建发送给 Gemini 的用户输入,包含已选单品信息。""" if not self.outfit_items: @@ -353,7 +364,7 @@ class AsyncStylistAgent: response = post_request(url=callback_url, data=json.dumps(response_data), headers=self.headers) logger.info(f"request data :{response_data} | JAVA callback info -> status:{response.status_code} | message:{response.text}") - async def run_styling_process(self, request_summary, occasions, stylist_name, batch_source="2025_q4", start_outfit=[], user_id="test", callback_url="", gender: str = "male"): + async def run_styling_process(self, request_summary, occasions, stylist_name, start_outfit=[], batch_sources=[], user_id="test", callback_url="", gender: str = "male"): self.outfit_items = start_outfit """主流程控制循环。""" print(f"--- Starting Agent (Outfit ID: {self.outfit_id}) ---") @@ -412,7 +423,7 @@ class AsyncStylistAgent: continue # 4b. 在本地 DB 中查询单品 - new_item = self._get_next_item(description, category, occasions, batch_source, gender) + new_item = self._get_next_item(description, category, occasions, batch_sources, gender) if not new_item or new_item['item_id'] in [x['item_id'] for x in self.outfit_items]: self.post_operation( response_data, @@ -460,7 +471,7 @@ class AsyncStylistAgent: continue # 4b. 在本地 DB 中查询单品 - new_item = self._get_next_item(description, category, occasions, batch_source, gender) + new_item = self._get_next_item(description, category, occasions, batch_sources, gender) if not new_item or new_item['item_id'] in [x['item_id'] for x in self.outfit_items]: continue else: diff --git a/app/server/ChatbotAgent/core/vector_database.py b/app/server/ChatbotAgent/core/vector_database.py index 5ff1c26..998b697 100644 --- a/app/server/ChatbotAgent/core/vector_database.py +++ b/app/server/ChatbotAgent/core/vector_database.py @@ -8,13 +8,12 @@ from PIL import Image from typing import List, Dict, Any from transformers import CLIPProcessor, CLIPModel -from app.taxonomy import CATEGORY, OCCASION +from app.taxonomy import OCCASION, ALL_CATEGORY class VectorDatabase(): def __init__(self, vector_db_dir: str, collection_name: str, embedding_model_name: str): self.client = chromadb.PersistentClient(path=vector_db_dir) - self.collection = self.client.get_or_create_collection( name=collection_name, configuration={ @@ -23,17 +22,9 @@ class VectorDatabase(): } } ) - self.device = "cuda" if torch.cuda.is_available() else "cpu" - self.model = CLIPModel.from_pretrained(embedding_model_name).to(self.device) self.processor = CLIPProcessor.from_pretrained(embedding_model_name) - # self.cache_filtered_ids = self.load_filtered_ids([ - # {"item_group_id": {"$ne": "Clothing"}}, - # {"item_group_id": {"$ne": "Shoes"}}, - # {"modality": "image"} - # ]) - # self.total_count = len(self.cache_filtered_ids) def get_clip_embedding(self, data: str | Image.Image, is_image: bool) -> List[float]: """生成图像或文本的 CLIP 嵌入,并进行 L2 归一化。""" @@ -57,46 +48,32 @@ class VectorDatabase(): features = features / features.norm(p=2, dim=-1, keepdim=True) return features.cpu().numpy().flatten().tolist() - - def query_local_db(self, embedding: List[float], category: str, occasions: List[str] = [], n_results: int = 3) -> List[Dict[str, Any]]: - """ - 基于嵌入向量在本地数据库中查询相似单品。 - 实际应执行 ChromaDB 查询,并根据 category 进行过滤(metadatas)。 - """ - for occasion in occasions: - where_clauses = { - "$and": [ - {"category": category}, - {"modality": "image"}, - {"batch_source": '2025_q4'} - ] - } - if occasion not in OCCASION: - continue - else: - where_clauses['$and'].append({occasion: 1}) - - results = self.collection.query( - query_embeddings=[embedding], - n_results=n_results, - where=where_clauses, - include=['metadatas', 'distances'] - ) - return results - def get_matched_item(self, embedding: List[float], category: str, occasions: List[str] = [], batch_source: str = "2025_q4", gender: str = 'female', n_results: int = 1) -> List[Dict[str, Any]]: + def get_matched_item(self, embedding: List[float], category: str, occasions: List[str] = [], batch_sources: List[str] = [], gender: str = 'female', n_results: int = 1) -> List[Dict[str, Any]]: + if category not in ALL_CATEGORY: + raise ValueError(f"Recommended {category} is not valid.") + + and_conditions = [ + {"category": category}, + {"modality": "image"}, + {"$or": [ + {"gender": gender}, + {"gender": "unisex"}, + ]} + ] + if batch_sources and len(batch_sources) > 0: + source_conditions = [] + for source in batch_sources: + source_conditions.append({"batch_source": source}) + + # 将 Batch Source 的 OR 子句添加到主 AND 条件中 + and_conditions.append({"$or": source_conditions}) + results = self.collection.query( query_embeddings=[embedding], n_results=500, - where={ - "$and": [ - {"category": category}, - {"modality": "image"}, - {"gender": gender}, - {"batch_source": batch_source} - ] - }, - include=['metadatas', 'distances'] + where={"$and": and_conditions}, + include=['metadatas', 'distances'], ) if not results['ids'][0]: return [] @@ -124,7 +101,7 @@ class VectorDatabase(): score_occ = score_occ / count if count else 0.0 - final_score = 0.6 * score_vec + 0.3 * score_occ + final_score = 0.6 * score_vec + 0.4 * score_occ final_scores.append(final_score) scores_arr = np.array(final_scores) @@ -139,79 +116,3 @@ class VectorDatabase(): sampled_index = np.random.choice(a=len(results['ids'][0]), p=probabilities, size=n_results, replace=False) # 不重复采样 sampled_items = [metadatas[i] for i in sampled_index] return sampled_items - - def load_filtered_ids(self, filter_item): - # print("\n--- 初始化阶段:加载所有符合条件的 ID ---") - start_time = time.time() - FILTER_CRITERIA = { - "$and": filter_item - } - MAX_LIMIT = 100000 - - try: - # 获取所有符合条件的 ID - all_ids_results = self.collection.get( - where=FILTER_CRITERIA, - limit=MAX_LIMIT, - include=[] - ) - all_matched_ids = all_ids_results['ids'] - # print(f"🎉 成功加载 {len(all_matched_ids)} 个 ID 到缓存。") - print(time.time() - start_time) - return all_matched_ids - - except Exception as e: - print(f"❌ 初始化失败:获取 ID 列表时发生错误: {e}") - return [] - - def random_get_accessories(self, ids): - # 2. 调用 ChromaDB:只查询这一个 ID 的详细信息 - try: - final_results = self.collection.get( - ids=ids, - include=["metadatas"] # 你只需要元数据 - ) - - # 提取结果 - if final_results['ids']: - return final_results - else: - return None - - except Exception as e: - print(f"❌ 获取最终记录时发生错误: {e}") - return None - - -if __name__ == '__main__': - stylist = { - 'text': "gold necklace", - 'count': 2, - 'category': "Jewelry" - } - - max_len = 5 - local_db = VectorDatabase(vector_db_dir="/workspace/lc_stylist_agent/db", collection_name="lc_clothing_embedding", embedding_model_name="openai/clip-vit-base-patch32") - A = local_db.load_filtered_ids([ - {"item_group_id": {"$ne": "Clothing"}}, - {"item_group_id": {"$ne": "Shoes"}}, - {"modality": "image"} - ]) - # print(db.random_get_accessories()) - start_time = time.time() - X = local_db.random_get_accessories(['ELI699_img']) - print(X) - print(time.time() - start_time) - # query_embedding = local_db.get_clip_embedding(stylist['text'], is_image=False) - # - # results = local_db.query_local_db(query_embedding, stylist['category'], n_results=10) - # # 2. 从结果集中抽 stylist['count'] 个item - # stylist_item = random.choices(results['metadatas'][0], k=stylist['count']) - # stylist_item_ids = [item_id['item_id'] for item_id in stylist_item] - # - # # 3. 从随机库中抽取配饰,总数达到9件 ,需过滤掉已经抽中的item - # accessories_count = 9 - max_len - stylist['count'] - # - # random_single_ids = random.choices(list(set(local_db.cache_filtered_ids) - set([f"{i}_img" for i in stylist_item_ids])), k=accessories_count) - # random_items = local_db.random_get_accessories(random_single_ids)['metadatas'] - # all_items = stylist_item + random_items diff --git a/app/taxonomy.py b/app/taxonomy.py index d8dd259..f73b1e5 100644 --- a/app/taxonomy.py +++ b/app/taxonomy.py @@ -1,15 +1,4 @@ # 这个文件用来储存所有的category和occasion,这是标准文件。 - -CATEGORY = [ - 'shoes', 'bags', 'dresses', 'tops', 'pants', 'skirts', 'outerwear', 'swimwear', 'suits', - 'watches', 'sunglasses', 'belts', 'hats', 'jewelry', 'neckties', 'scarves & shawls' -] -CLOTHING_CATEGORY = [ - 'shoes', 'bags', 'dresses', 'tops', 'pants', 'skirts', 'outerwear', 'swimwear' -] -ACCESSORY_CATEGORY = [ - 'watches', 'sunglasses', 'belts', 'hats', 'jewelry', 'neckties', 'scarves & shawls' -] OCCASION = [ "Casual", "Formal", "Activewear", "Resort", "Evening", "Outdoor", "Business / workwear", "Cocktail / Semi-Formal", "Black Tie / White Tie", @@ -17,3 +6,54 @@ OCCASION = [ "Travel / Transit", "Athleisure", "Beach / Swim", "Ski / Snow / Mountain", "Garden Party / Daytime Event" ] + +CATEGORY = { + 'clothing': [ + 'coats', + 'jackets', + 'blazers', + 'puffer', + 'cardigan', + 'sweater', + 'shirts', + 't-shirts', + 'pullover', + 'polos', + 'bodysuits', + 'dresses', + 'skirts', + 'jeans', + 'shorts', + 'leggings', + 'jumpsuits', + 'swimwear', + ], + 'shoes': [ + 'sneakers', + 'formal shoes', + 'heels', + 'flats', + 'sandals', + 'slides', + 'boots', + ], + 'bags': [ + 'bags' + ], + 'accessories': [ + 'necklaces', + 'bracelets', + 'jewellery', + 'eyewear', + 'scarves', + 'hats', + 'gloves', + 'belts', + 'socks', + 'watches' + 'ties', + ] +} +ALL_CATEGORY = sum(CATEGORY.values(), []) + +IGNORE_CATEGORY = ['socks'] \ No newline at end of file diff --git a/data_ingestion/README.md b/data_ingestion/README.md new file mode 100644 index 0000000..5f68ccf --- /dev/null +++ b/data_ingestion/README.md @@ -0,0 +1,92 @@ +## Steps +1. Prepare products-all.json and image_data (folder) using javascript to download. These files should be saved in `./data/BATCH_SOURCE` which is a new folder. Give a new batch_source id to each new incoming data. +1. Run `process_item.py` to categorize category, gender and occasions for each data. Output to `./data/{BATCH_SOURCE}/metadata_extraction.json`. This should be running on H200 device. +3. Organize all data and then embed them into db locally using `run_ingestion.py` + +## Raw Data Structure +```json +## products-all.json +{ + "id": "BUL808", + "name": "SARAH ZHUANG - 'Click & Link' diamond 18k gold earrings", + "brand": "SARAH ZHUANG", + "category": "Fine Jewellery And Watches", + "subcategory": "General", + "price": 17500, + "currency": "HKD", + "description": "Sarah Zhuang's Click & Link earrings embrace the allure of geometry. Forged into elegant rectangles with one side encrusted with diamonds, this gold pair will certainly elevate your cocktail ensembles.", + "tags": [ + "sarah zhuang", + "fine jewellery and watches", + "in-stock", + "new", + "sarah", + "zhuang", + "'click", + "link'", + "diamond" + ], + "imageUrl": "https://media.lanecrawford.com/B/U/L/BUL808_in_xl.jpg", + "url": "https://www.lanecrawford.com.hk/product/sarah-zhuang/-click-link-diamond-18k-gold-earrings/_/BUL808/product.lc?utm_medium=embed&utm_source=ai-recommended&utm_campaign=2025-christmas_lc_ai-recommended", + "color": "YELLOW GOLD", + "groupName": "Fine Jewellery", + "deptName": "Women's Fine Jewellery", + "onlineBU": "Fine Jewellery", + "stockAvailability": true +} +``` + + +## Example in `metadata_extraction.json` +```json +"EOJ367": { + "category": "shoes", + "gender": "female", + "applicable_occasions": [ + "Casual", + "Outdoor", + "Travel / Transit" + ], + "inappropriate_occasions": [ + "Formal", + "Black Tie / White Tie", + "Bridal / Wedding", + "Business / workwear", + "Cocktail / Semi-Formal" + ] +} +``` + +## Metadata in Vector Database +```json +{ + 'item_id': 'EOJ128', + 'category': 'sunglasses', + 'gender': 'unisex', + 'modality': 'image', + 'brand': 'CELINE', + 'color': 'BROWN', + 'description': "Immerse yourself in the depth of classic style with CELINE\'s Tortoiseshell Logo Sunglasses. Featuring a rich, tortoiseshell acetate frame and adorned with the iconic CELINE logo in gold, these sunglasses are a testament to timeless elegance and luxury. Perfect for those who appreciate a sophisticated aesthetic, they offer optimal UV protection while ensuring you remain at the forefront of fashion.", + 'tags': 'celine,accessories,in-stock,new,maxi,triomphe,acetate,round', + 'price': 4500, + 'url': 'https://www.lanecrawford.com.hk/product/celine/maxi-triomphe-acetate-round-sunglasses/_/EOJ128/product.lc?utm_medium=embed&utm_source=ai-recommended&utm_campaign=2025-christmas_lc_ai-recommended', + 'batch_source': '2025_q4', + 'Outdoor': 0, + 'Ski / Snow / Mountain': 0, + 'Festival / Concert': 0, + 'Activewear': 0, + 'Casual': 1, + 'Cocktail / Semi-Formal': -1, + 'Formal': -1, + 'Party / Clubbing': 0, + 'Evening': 0, + 'Travel / Transit': 0, + 'Beach / Swim': 0, + 'Garden Party / Daytime Event': 1, + 'Black Tie / White Tie': -1, + 'Resort': 1, + 'Athleisure': 0, + 'Business / workwear': -1, + 'Bridal / Wedding': -1, +} +``` \ No newline at end of file diff --git a/data_ingestion/process_item.py b/data_ingestion/process_item.py new file mode 100644 index 0000000..4a26c61 --- /dev/null +++ b/data_ingestion/process_item.py @@ -0,0 +1,280 @@ +import torch +import os +from transformers import AutoProcessor, AutoModelForVision2Seq +from PIL import Image +import json +from tqdm import tqdm + +from app.taxonomy import OCCASION, CATEGORY, ALL_CATEGORY + + +# data config +BATCH_SOURCE = '2025_q4' +RAW_DATA_PATH = f'./data/{BATCH_SOURCE}/products-all.json' +IMAGE_DIR = f'./data/{BATCH_SOURCE}/image_data' + +# MLLM config +MODEL_NAME = "meta-llama/Llama-3.2-11B-Vision-Instruct" +DEVICE = "cuda:0" # 确保设备设置正确,与您的 Traceback 匹配 +BATCH_SIZE = 50 +OUTPUT_FILE = f'./data/{BATCH_SOURCE}/metadata_extraction.json' + + +# Load Model +processor = AutoProcessor.from_pretrained(MODEL_NAME) +if processor.tokenizer.padding_side != 'left': + processor.tokenizer.padding_side = 'left' + print(f"Set tokenizer padding_side to '{processor.tokenizer.padding_side}' for correct generation.") +model = AutoModelForVision2Seq.from_pretrained(MODEL_NAME, torch_dtype=torch.bfloat16).to(DEVICE) +model.eval() + + +# Load Data +with open(RAW_DATA_PATH, 'r', encoding='utf-8') as file: + data = json.load(file) + + +EXAMPLE_1_INFO = """ +Product Name: ARMARIUM - Loren Wool Blend Tube Skirt +Category: Clothing / Bottoms +Color: RED +Description: Cut from cardinal-red virgin wool, Armarium's Loren skirt wields tailoring's exactitude in a column of colour. The low-slung waist and clean tube line are punctuated by a razor back slit—stride from boardroom to candlelit bar with modern hauteur. +Tags: armarium, clothing, in-stock, new, loren, wool, blend, tube +""" +EXAMPLE_1_JSON = json.dumps({ + "category": "skirts", + "gender": "female", + "applicable_occasions": [ + "Business/workwear", "Evening", "Cocktail / Semi-Formal", "Party / Clubbing", "Formal" + ], + "inappropriate_occasions": [ + "Activewear", "Beach / Swim", "Athleisure", "Ski / Snow / Mountain", "Casual" + ] +}, indent=4) + +# 示例 2:胸针 (Pin) +EXAMPLE_2_INFO = """ +Product Name: TATEOSSIAN - Mayfair 18K Yellow Gold Rhodium Plated Sterling Silver Peg Pin +Category: Accessories / Accessories +Color: MULTI +Description: Crafted from 18k yellow gold and rhodium-plated sterling silver, this unique pins has been artfully finished with Tateossian's signature diamond engraving pattern. +Tags: tateossian, accessories, in-stock, new, mayfair, yellow, gold, rhodium +""" +EXAMPLE_2_JSON = json.dumps({ + "category": "jewelry", + "gender": "female", + "applicable_occasions": [ + "Formal", "Black Tie / White Tie", "Bridal / Wedding", "Business/workwear", "Cocktail / Semi-Formal" + ], + "inappropriate_occasions": [ + "Casual", "Activewear", "Beach / Swim", "Outdoor", "Athleisure", "Ski / Snow / Mountain" + ] +}, indent=4) + + +# --- 2. 构造对话格式 Prompt --- +BOS_TOKEN = "<|begin_of_text|>" +EOS_TOKEN = "<|eot_id|>" +SYSTEM_HEADER = "<|start_header_id|>system<|end_header_id|>\n" +USER_HEADER = "<|start_header_id|>user<|end_header_id|>\n" +ASSISTANT_HEADER = "<|start_header_id|>assistant<|end_header_id|>\n" +IMAGE_TOKEN = "<|image|>" + +def format_product_info(product): + tags_str = ", ".join(product.get('tags', [])) + info = ( + f"Product Name: {product.get('name', 'N/A')}\n" + f"Category: {product.get('category', 'N/A')} / {product.get('deptName', 'N/A')}\n" + f"Color: {product.get('color', 'N/A')}\n" + f"Description: {product.get('description', '')}\n" + f"Tags: {tags_str}", + f"groupName: {product.get('groupName', 'N/A')}\n" + f"onlineBU: {product.get('onlineBU', 'N/A')}\n" + ) + return info + + +def generate_full_prompt(product_info, raw_category): + if raw_category == 'Fine Jewellery And Watches': + category = 'accessories' + else: + category = raw_category.lower() + subcategory_list = CATEGORY.get(category) + + SYSTEM_PROMPT = f"""You are an expert fashion AI assistant. Your task is to analyze the provided product image and product details to: + 1. determine the suitable occasions for wearing or using the item. You must choose occasions ONLY from the following strict list: {json.dumps(OCCASION, indent=4)}. Only relevant suitable or inappropriate occasions should be selected. + 2. categorize it into suitable category in strict list: {json.dumps(subcategory_list)}. + 3. categorize it into appropriate gender in ["female", "male", "unisex"] + + Output Format: + Return ONLY a valid JSON object with four keys: "category", "gender", "applicable_occasions" and "inappropriate_occasions". Do not include any analysis or extra text outside of the final JSON object. + """ + + # 组合对话序列 + dialogue_prompt = ( + # 1. System Instruction + f"{BOS_TOKEN}{SYSTEM_HEADER}{SYSTEM_PROMPT}{EOS_TOKEN}" + + # 2. Example 1 (Few-Shot Round 1) + # 格式: <|start_header_id|>user<|end_header_id|>\n<|image|>\n{Text Instruction}<|eot_id|> + f"{USER_HEADER}\n{EXAMPLE_1_INFO}{EOS_TOKEN}" + f"{ASSISTANT_HEADER}{EXAMPLE_1_JSON}{EOS_TOKEN}" + + # 3. Example 2 (Few-Shot Round 2) + f"{USER_HEADER}\n{EXAMPLE_2_INFO}{EOS_TOKEN}" + f"{ASSISTANT_HEADER}{EXAMPLE_2_JSON}{EOS_TOKEN}" + + # 4. Target Item (Target Query) + f"{USER_HEADER}{IMAGE_TOKEN}\nInput Data:\n{product_info}{EOS_TOKEN}" + f"{ASSISTANT_HEADER}" # 最后的 Assistant Header 告诉模型从这里开始生成 + ) + return dialogue_prompt + + +# 2. 加载数据 +products = data['products'] +product_list = [ + product for product in products + if product.get('category') in ['Clothing', 'Accessories', 'Shoes', 'Bags', 'Fine Jewellery And Watches'] + and os.path.exists(os.path.join(IMAGE_DIR, f"{product.get('id')}.jpg")) +] + + +def validate_results(): + if os.path.exists(OUTPUT_FILE): + with open(OUTPUT_FILE, 'r') as f: + final_results = json.load(f) + else: + final_results = {} + + unfinished_ids = [] + for product in product_list: + item_id = product.get('id') + if item_id not in final_results.keys(): + unfinished_ids.append(product) + else: + processed_item = final_results[item_id] + category = processed_item.get("category") + gender = processed_item.get("gender") + + if category not in ALL_CATEGORY: + unfinished_ids.append(product) + + if gender not in ['female', 'male', 'unisex']: + unfinished_ids.append(product) + return unfinished_ids, final_results + +attemps = 0 +while attemps < 3: + attemps += 1 + unfinished_products, final_results = validate_results() + completion_ratio = len(unfinished_products) / len(product_list) + if (completion_ratio > 0.95): + print("valid results surpass 95%. Finish Now.") + break + else: + print(f"Start {attemps} categorization process. Current ratio: {completion_ratio * 100}%") + + try: + # 按照 BATCH_SIZE 进行切片迭代 + for i in tqdm(range(0, len(unfinished_products), BATCH_SIZE)): + batch_samples = unfinished_products[i:i + BATCH_SIZE] + + target_images = [] + target_prompts = [] + target_products_in_batch = [] + + # 准备当前批次的输入数据 + for product in batch_samples: + product_id = product['id'] + raw_category = product.get('category') + image_path = os.path.join(IMAGE_DIR, f"{product_id}.jpg") + + try: + # 收集图片、Prompt 和产品数据 + image = Image.open(image_path).convert("RGB") + product_info = format_product_info(product) + full_prompt = generate_full_prompt(product_info, raw_category) + + target_images.append(image) + target_prompts.append(full_prompt) + target_products_in_batch.append(product) + except Exception as e: + # 跳过任何加载失败的单个样本 + print(f"Skipping product {product_id} due to loading error: {e}") + continue + + if not target_images: + continue # 如果整个批次都没有有效图片,跳过 + + # 4. 批量推理 + print(f"\nProcessing batch {i//BATCH_SIZE + 1}/{int(len(unfinished_products)/BATCH_SIZE)+1} (Size: {len(target_images)})...") + + # 处理器输入:使用嵌套列表 [[img1], [img2], ...] + inputs = processor( + images=[[img] for img in target_images], + text=target_prompts, + return_tensors="pt", + padding=True, + truncation=True + ).to(model.device) + + with torch.no_grad(): + outputs = model.generate( + **inputs, + max_new_tokens=150, + do_sample=False + ) + + # 5. 批量解码和解析结果 + input_lengths = inputs.input_ids.size(1) + + for j in range(len(target_products_in_batch)): + product = target_products_in_batch[j] + product_id = product['id'] + + # 提取当前 item 的生成结果 + # 注意: outputs 是 [batch_size, sequence_length] + newly_generated_tokens = outputs[j, input_lengths:] + generated_text = processor.decode(newly_generated_tokens, skip_special_tokens=True) + + # 清理和解析 + if generated_text.endswith(processor.tokenizer.eos_token): + generated_text = generated_text[:-len(processor.tokenizer.eos_token)] + + try: + start_idx = generated_text.find('{') + end_idx = generated_text.rfind('}') + 1 + + if start_idx == -1 or end_idx == -1: + raise ValueError("JSON start or end delimiter not found.") + + json_str = generated_text[start_idx:end_idx] + result_dict = json.loads(json_str) + + final_results[product_id] = result_dict + + except Exception as e: + print(f"ID {product_id}: FAILED to parse JSON. Raw Output: {generated_text.strip()}") + final_results[product_id] = {"error": str(e), "raw_output": generated_text.strip()} + + # 显存清理(可选,但在长任务中推荐) + del inputs, outputs + torch.cuda.empty_cache() + + with open(OUTPUT_FILE, 'w', encoding='utf-8') as f: + json.dump(final_results, f, indent=4, ensure_ascii=False) + + # 6. 保存最终结果 + print("\n\n=== ALL BATCHES COMPLETE ===") + + # 保存最终结果到 JSON 文件 + with open(OUTPUT_FILE, 'w', encoding='utf-8') as f: + json.dump(final_results, f, indent=4, ensure_ascii=False) + + print(f"Results saved to {OUTPUT_FILE}") + + + except Exception as e: + print(f"\n--- Execution Error ---") + print(f"An unexpected error occurred: {e}") diff --git a/data_ingestion/run_ingestion.py b/data_ingestion/run_ingestion.py new file mode 100644 index 0000000..76d97e3 --- /dev/null +++ b/data_ingestion/run_ingestion.py @@ -0,0 +1,178 @@ + + + +import chromadb +import os +import json +from copy import deepcopy + +import torch +from tqdm import tqdm +from PIL import Image +from transformers import CLIPProcessor, CLIPModel + +from app.taxonomy import CATEGORY, ALL_CATEGORY, OCCASION + + +BATCH_SOURCE = '2025_q4' +DATA_DIR = f'./data/{BATCH_SOURCE}' +IMAGE_DIR = f'./data/{BATCH_SOURCE}/image_data' + +RAW_DATA_PATH = f'{DATA_DIR}/products-all.json' +CATEGORIZED_METADATA_PATH = f'{DATA_DIR}/metadata_extraction.json' + +## Load data +with open(RAW_DATA_PATH, 'r', encoding='utf-8') as file: + raw_data = json.load(file) + +with open(CATEGORIZED_METADATA_PATH, 'r', encoding='utf-8') as file: + categorized_data = json.load(file) + + +# Create Collection +client = chromadb.PersistentClient(path='./data/db') +collection = client.get_or_create_collection( + name="lc_clothing_embedding" +) + +# if you wish to delete some item, uncomment following +# results = collection.delete( +# where={ +# "batch_source": BATCH_SOURCE +# } +# ) + +# Load model +processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32") +model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32") +device = "cuda" if torch.cuda.is_available() else "cpu" +model.to(device) + +def format_product_info(product): + tags_str = ", ".join(product.get('tags', [])) + info = ( + f"Product Name: {product.get('name', 'N/A')}\n" + f"Brand: {product.get('brand', 'N/A')}\n" + f"Category: {product.get('category', 'N/A')} / {product.get('deptName', 'N/A')}\n" + f"Color: {product.get('color', 'N/A')}\n" + f"Description: {product.get('description', '')}\n" + f"Tags: {tags_str}" + f"GroupName: {product.get('groupName', 'N/A')}\n" + f"DetpName: {product.get('deptName', 'N/A')}\n" + f"OnlineBU: {product.get('onlineBU', 'N/A')}\n" + ) + return info + + +# Combine all data together +new_category = {} +valid_count = 0 +all_count = 0 +for raw_item in tqdm(raw_data['products']): + item_id = raw_item.get('id') + if not item_id: + print(f"This item {raw_item} did not have a valid item_id") + continue + + raw_category = raw_item.get("category") + if raw_category not in ['Clothing', 'Accessories', 'Shoes', 'Bags', 'Fine Jewellery And Watches']: + continue + + image_path = os.path.join(IMAGE_DIR, f"{item_id}.jpg") + if not os.path.exists(image_path): + print(f"Image not found: {image_path}") + continue + + # All above is raw data error, it's not our business. + all_count += 1 + + processed_item = categorized_data.get(item_id, {}) + if not processed_item: + print(f"{item_id} has not been categorized. It does not exist in {CATEGORIZED_METADATA_PATH}") + continue + + category = processed_item.get("category") + gender = processed_item.get("gender") + applicable_occasions = processed_item.get("applicable_occasions", []) + inappropriate_occasions = processed_item.get("inappropriate_occasions", []) + + if category not in ALL_CATEGORY: + print(f"{item_id}'s category, {category}, does not valid.") + if category not in new_category: + new_category[category] = [item_id] + else: + new_category[category].append(item_id) + continue + + if gender not in ['female', 'male', 'unisex']: + print(f"{item_id}'s gender is not valid in {['female', 'male', 'unisex']}") + continue + + occasions = applicable_occasions + inappropriate_occasions + if not set(occasions).issubset(set(OCCASION)): + # print(f"{item_id}'s some occasions is not vaild. \n Invalid occasion is {set(occasions).difference(set(OCCASION))}") + applicable_occasions = [o for o in applicable_occasions if o in OCCASION] + inappropriate_occasions = [o for o in inappropriate_occasions if o in OCCASION] + + description = raw_item.get('description', "") + if not description: + f"{item_id}'s description is lost." + continue + + url = raw_item.get('url', '') + if not url: + f"{item_id}'s url is lost." + continue + + valid_count += 1 + # Prepare metadata for db + item_img_metadata = { + "item_id": item_id, + "category": category, + "description": description, + "gender": gender, + 'brand': raw_item.get('brand', ''), + 'color': raw_item.get('color', ''), + 'price': raw_item.get('price', ''), + 'tags': ",".join(raw_item.get('tags', [])), + 'url': url, + "modality": "image", + "batch_source": BATCH_SOURCE + } + for occasion in OCCASION: + item_img_metadata[occasion] = 0 + for occasion in applicable_occasions: + item_img_metadata[occasion] = 1 + for occasion in inappropriate_occasions: + item_img_metadata[occasion] = -1 + + item_txt_metadata = deepcopy(item_img_metadata) + item_txt_metadata["modality"] = "text" + + + # Get image feature + image = Image.open(image_path).convert("RGB") + inputs = processor(images=image, return_tensors="pt").to(device) + with torch.no_grad(): + img_features = model.get_image_features(**inputs) + img_features = img_features / img_features.norm(p=2, dim=-1, keepdim=True) + img_embedding = img_features.cpu().numpy().flatten().tolist() + + # Get text feature + inputs = processor(text=[description], return_tensors="pt", padding=True, truncation=True).to(device) + with torch.no_grad(): + txt_features = model.get_text_features(**inputs) + txt_features = txt_features / txt_features.norm(p=2, dim=-1, keepdim=True) + txt_embedding = txt_features.cpu().numpy().flatten().tolist() + + product_info = format_product_info(raw_item) + # 插入到 ChromaDB + collection.add( + ids=[f'{item_id}_img', f'{item_id}_txt'], + documents=[product_info, product_info], + embeddings=[img_embedding, txt_embedding], + metadatas=[item_img_metadata, item_txt_metadata], + ) + +print(f"Final valid ratio is {valid_count / all_count * 100}%. Total number is {all_count}, Valid number is {valid_count}") +print(f'Found new category for consideration: {new_category}') diff --git a/docs/Edi.docx b/docs/Edi.docx new file mode 100644 index 0000000000000000000000000000000000000000..c2a95f1742e1e0e5cc60d840b2b203d88ac18aff GIT binary patch literal 16640 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

VoPXaWN63kxknb+*@ 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

  • a=Tv9Vu=GDTu?+?h!5(Hgc z0qJJ#(l#<^h=~;@uk~%ta`W$2Tm+FzR}E$>UVAV2qr~bm+R1umOyKF%^wGYP`%&v5 zMauc(tDi1HK)fky2<|Z|xY2MuZ{-te$=g^zWvoX*{-`q(jc&5tv%Pp|%*-Rb>CeLn zs^-^t+OhB;czkP1uV3&-`Y{3WqVG7XZUcs0@I=7=_>aE0N|Ia!_Yca%hrlBKSzrwv z9DbX>|3_Xwg!SXfRFakd$WZGfxg;oG*Ib4o|Jp&w8pL@)R%LTQ>9`Wc8lLdE**~^j zh-zC*?ylkW>IJ!F-JSfo2eGN4q9YT{GenKM$hKirzoNZij5ktJgDk3{WfTGP+S<*l<1NX#dg$a3Uw1qmPArWNNd|XvVE4%`4l-jLj+jAuTX_T z)?+*)0cI+}QFr0!h@Sqc8ic$LF7-(V64awIzopq|5&UA9&|U&#@>v`PXe?Am7&u7| z2oCUKYc3^2&1X2GN^PVdnO#DL1B_WNpv^(=f+7hMdjDDGmcw63d<1Cbd_c99FjMF_ zN#}wk!VD(qeSyt|xuhOp655Eeh+VJ9oMyH0eVgg9n@x;J0k42sw=9g5heb@J4Q-#> zfRfSsY+V~-}@K38+5zS z^O3QE%3SB06P$v9A^(2<|1GRQz;qwB-#@2%|JPshNBIwl-wM)yW$@Qz)IXpAK+cB= z`lr;?zXSiCrS}K4`yy|NS5E+K+hP-{0Ub-u%Dg|L!LI10PQE@9zJ%)9~-$ zzwZhD057rp3;eeo!rwXk-Dv%TgBRPsIQ+$g{X71zYy2N*03ebR0Qip;|L^d>&bWVu e^YZ)&{;&C0K^p8syZ`{$j}Op?gdXwzR{LM$8ZHt5 literal 0 HcmV?d00001 diff --git a/docs/LC Recommendation Workflow.drawio b/docs/LC Recommendation Workflow.drawio new file mode 100644 index 0000000..7d5ca9b --- /dev/null +++ b/docs/LC Recommendation Workflow.drawio @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/LC Recommendation Workflow.pdf b/docs/LC Recommendation Workflow.pdf new file mode 100644 index 0000000000000000000000000000000000000000..95d8272d872db96f161169b430ac25f2abc736e0 GIT binary patch literal 116324 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%0D$5v@TBJRo88ejPt)IN%K7QtZ?Z)cg`1P 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 VuwaSuxX{Fg_z9MSL=KO4{~rzJt9Sqa literal 0 HcmV?d00001 diff --git a/docs/vera.docx b/docs/vera.docx new file mode 100644 index 0000000000000000000000000000000000000000..114ff25fa0cd06d5c41f382e01ec48bd94c3e4a2 GIT binary patch literal 16038 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