Commit 51481a24 authored by Yaowentong's avatar Yaowentong

美团30遍截图

分享链接
来源source字段
parent 82720788
......@@ -205,35 +205,11 @@ if __name__ == '__main__':
'XHSA:geo:batch:list',
'geo:task_commit:list']
redis5 = init_redis()
# delete(redis_key)
def init_redis4():
try:
redis_client = redis.Redis(
host="172.16.0.24",
port=6379,
db=4,
password="aiyingli@@123",
socket_timeout=5,
decode_responses=True
)
return redis_client
except Exception as e:
return None
# aa = list(aa)
# for a in aa:
# sec_uid = get_sec_id(a)
# get_user_info(sec_uid)
# print(t.scard('third_hx_user_id'))
# while 1:
# for k in key_list:
# print(f"{k}----{t.llen(k)}")
# time.sleep(10)
#
# print(len(t.smembers(key)))
print(redis5.delete('mt:snipaste_v3:only_content'))
print(redis5.delete('mt:snipaste_v3:with_share'))
......
......@@ -348,6 +348,8 @@ def qian_report():
req_time_map[req_id] = created_at
req_brand_map[req_id] = b
if not req_ids:
return fail("未查询到请求记录")
req_id_sql = ",".join([f"'{req_id}'" for req_id in req_ids])
if platform:
platform_list = ",".join([f"'{p}'" for p in platform])
......
import traceback
import uuid
import time
import json
import secrets
from datetime import datetime
import loguru
from flask import request, jsonify, Flask,Blueprint
from aidso_geo.config.base_config import init_redis8, PlatformType
......@@ -213,7 +216,8 @@ def parse_allow_platforms(raw_value):
if not isinstance(arr, list):
return set()
return {str(x).strip() for x in arr if str(x).strip()}
except Exception:
except Exception as e:
traceback.print_exc()
return set()
return set()
......
......@@ -159,6 +159,54 @@ def yuanbao_android_process_jd_eco(data,eco_list):
return eco_result
def yuanbao_process_jd_eco(data,eco_list):
eco_result = []
task_id = data.get('taskId')
platform = data.get('platform')
req_id = data.get('reqId')
prompt = data.get('prompt')
for index, item in enumerate(eco_list):
raw_data = {
"eco_id": item.get('sku', ''),
"eco_url": item.get('pc_url', '') ,
"eco_title": item.get('sku_name', ''),
"eco_index": index+1,
"eco_pic": item.get('image_url', ''),
"eco_price": item.get('price', ''),
"eco_source": 'jdeco',
"platform": platform,
"task_id": task_id,
"req_id": req_id,
"prompt": prompt
}
eco_result.append(raw_data)
return eco_result
def yuanbao_process_txmap_eco(data,eco_list):
eco_result = []
task_id = data.get('taskId')
platform = data.get('platform')
req_id = data.get('reqId')
prompt = data.get('prompt')
for index, item in enumerate(eco_list):
raw_data = {
"eco_id": item.get('poiId', ''),
"eco_url": item.get('jumpUrl', '') ,
"eco_title": item.get('title', ''),
"eco_index": index+1,
"eco_pic": item.get('image_url', 'https://tcdn.aidso.com/dso/pc/aiDialoguePng/112_112.jpg?v=2'),
"eco_price": item.get('avgPrice', ''),
"eco_source": 'txmap',
"platform": platform,
"task_id": task_id,
"req_id": req_id,
"prompt": prompt
}
eco_result.append(raw_data)
return eco_result
def yuanbao_android_process_txmap_eco(data,eco_list):
eco_result = []
task_id = data.get('taskId')
......@@ -205,7 +253,11 @@ def save_eco_data_to_bh(data,eco_type,eco_list):
eco_result =yuanbao_android_process_jd_eco(data,eco_list)
if eco_type == 'txmap':
eco_result = yuanbao_android_process_txmap_eco(data,eco_list)
if platform == 'TXYB':
if eco_type == 'jdeco':
eco_result =yuanbao_process_jd_eco(data,eco_list)
if eco_type == 'txmap':
eco_result = yuanbao_process_txmap_eco(data,eco_list)
bh_utils.insert_data('geo_eco_data',eco_result)
......
......@@ -1860,12 +1860,16 @@ def process_call_back(task_data, result):
platform = task_data.get('platform')
req_id = task_data.get('reqId')
spider_data = result.get('data')
share_url_data = result.get('share_url','')
if spider_data == 400:
scheduler(task_data)
else:
logger.success(f"{req_id}--{platform}-------CALL_BACK_START")
put_string_to_tos(f'geo/{task_id}/{platform}/original.text', spider_data)
put_string_to_tos(f'geo/{task_id}/{platform}/spider_result.text', result)
if share_url_data:
put_string_to_tos(f'geo/{task_id}/{platform}/share_url.text', share_url_data)
req_check = bh_utils.query_data(f"select status from geo_commit_task where reqId ='{req_id}'")
req_status = ""
if req_check and len(req_check) > 0:
......@@ -2014,7 +2018,7 @@ if __name__ == '__main__':
# data_list = bh_utils.query_data("select * from geo_commit_task where platform = 'DP' and thinking_enabled = 1 and insertime > 1777564800 and type!='success' order by insertime asc")
data_list = bh_utils.query_data("select * from geo_commit_task where status != 'SUCCESS' and prompt like '%附近美食推荐%'")
data_list = bh_utils.query_data("select * from geo_commit_task where status = 'ING'")
# data_list = bh_utils.query_data("select * from geo_commit_task where prompt = '飞鹤和君乐宝奶粉的异同点对比' and platform = 'DB'")
# data_list = bh_utils.query_data("select * from geo_commit_task where pt = '20260720' and platform = 'TYQW' and type = 'success' ")
......
......@@ -29,13 +29,46 @@ def qianwen_android_process_original_data(task_data):
original_content = get_string_from_tos(file_path)
try:
sse_json_data = json.loads(original_content)
# sse_json_data = json.loads(json_original.get('sse'))
response_content = sse_json_data.get('reply_text','')
think_content = sse_json_data.get('deepthink_text','')
paa_answer = sse_json_data.get('paa_answer','')
bar_sources = sse_json_data.get('bar_sources')
# amap_pois = sse_json_data.get('amap_pois')
amap_pois = sse_json_data.get('amap_pois')
gaode_list = []
if amap_pois:
for key,value in amap_pois.items():
for v in value:
modelInput = v.get('future_data').get('modelInput')
biz_ext = v.get('biz_ext')
poi_summary = v.get('summary1')
photos = v.get('photos')
distance_formatted = v.get('distance')
cost = biz_ext.get('cost')
poi_id = modelInput.get('poi_id')
name = modelInput.get('name')
distance_address = modelInput.get('address')
gaode_result = {
"url": f"https://www.amap.com/place/{poi_id}",
"source_seq": key,
"name": name,
"poi_id": poi_id,
"cost": cost,
"poi_summary": poi_summary,
"distance_formatted": distance_formatted,
"photos": photos[0].get("url", "") if isinstance(photos,
list) and photos and isinstance(
photos[0], dict) else "",
"address": distance_address,
}
gaode_list.append(gaode_result)
gaode_data_list.extend(gaode_list)
if gaode_list:
for g in gaode_list:
response_content += 'render_ecom_card_widget_gaode_start:'
gaode_str = json.dumps([g], ensure_ascii=False)
response_content += gaode_str
response_content += 'render_ecom_card_widget_gaode_end:\n'
source_content = {}
if bar_sources:
source_content =next(
......@@ -99,6 +132,8 @@ def qianwen_android_process_original_data(task_data):
paa_json = json.loads(paa_answer)
for paa in paa_json:
suggestions.append(paa.get('paa_query'))
if gaode_data_list:
save_eco_data_to_bh(task_data, 'gaode', gaode_data_list)
except Exception as e:
content_list = original_content.split("\n")
......@@ -448,7 +483,7 @@ if __name__ == '__main__':
# fb8de08c16484143a7299c06ba20c90d 老版本
# e09e1b7db91f4d0382e86458d8462147 新版本
# data_list = bh_utils.query_data(f"select * from geo_commit_task where taskId = '0001e01d-a8ea-405e-acef-93e4f55abbff' and platform = 'TYQWA'")
data_list = bh_utils.query_data(f"select * from geo_commit_task where taskId = '09385d1a412b48859543254410c56cc8' and platform = 'TYQWA'")
data_list = bh_utils.query_data(f"select * from geo_commit_task where taskId = '53f0d16d0fa64d3e89c4b9af7aae86e8' and platform = 'TYQWA'")
def handle_item(i):
......
import json
import re
from aidso_geo.models.eco_data_process import save_eco_data_to_bh
from aidso_geo.utils import robot_utils, bh_utils
from aidso_geo.utils.ai_interface import get_parse_sse_result
from aidso_geo.utils.tos_utils import get_string_from_tos
from aidso_geo.models import spider_save_tos
def process_price(ori_price):
def yuanbao_process_original_data(data):
file_path = f'geo/{data["taskId"]}/{data["platform"]}/original.text'
price_match = re.search(
r"\d+(?:\.\d+)?",
str(ori_price).replace(",", "")
)
if price_match:
price_number = float(price_match.group())
price = int(price_number) if price_number.is_integer() else price_number
else:
price = 0
return price
def yuanbao_process_original_data(task_data):
file_path = f'geo/{task_data["taskId"]}/{task_data["platform"]}/original.text'
url_list = []
think_content = ""
response_process = ""
......@@ -19,6 +35,8 @@ def yuanbao_process_original_data(data):
think_bool = False
response_bool = False
rich_media_block =[]
jd_goods = []
tx_goods = []
try:
original_content = get_string_from_tos(file_path)
content_list = original_content.split("\n\n")
......@@ -49,9 +67,83 @@ def yuanbao_process_original_data(data):
if json_data.get('type') == 'image':
response_content = "生成了图片"
if json_data.get('type') == 'replace':
replace_data = json_data.get("replace") or {}
if json_data.get('replace').get('display') =='videoBoxV2':
rich_media_block.extend(json_data.get('replace').get('multimedias'))
if replace_data.get("display") == "goods":
replace_media_id = replace_data.get('id')
for media in replace_data.get("multimedias") or []:
if not isinstance(media, dict):
continue
goods_content = media.get("goodsContent") or {}
goods = goods_content.get("goods") or {}
# 没有真实商品数据,说明只是占位/加载事件
if not isinstance(goods, dict):
continue
sku_id = goods.get("skuId")
sku_name = goods.get("skuName")
# 有商品 ID 和商品名才认为是有效商品
if not sku_id or not sku_name:
continue
raw_content = {}
try:
raw_content = json.loads(goods.get("rawContent") or "{}")
except (TypeError, json.JSONDecodeError):
raw_content = {}
endpoint_url = goods_content.get("endpointUrl") or {}
shop_id = goods.get("shopId") or raw_content.get("shopId", "")
goods_data = {
"replace_media_id": replace_media_id,
"sku": str(sku_id),
"sku_name": sku_name,
"query": goods.get("query", ""),
"image_url": (
goods.get("imagePath")
or raw_content.get("whiteImage")
or raw_content.get("imgPath")
or ""
),
"price": process_price(goods.get("purchasePrice", "")),
"shop_name": goods.get("shopName", ""),
"shop_id": shop_id,
"source": goods.get("source", ""),
"pc_url": endpoint_url.get("pcUrl", "")
}
jd_goods.append(goods_data)
if json_data.get('replace').get('display') == 'surroundingsV3':
for media in replace_data.get("multimedias") or []:
if not isinstance(media, dict):
continue
tx_data = {
"title": media.get('title'),
"address": media.get('address'),
"jumpUrl": media.get('jumpUrl'),
"poiId": media.get('poiId'),
"distance": media.get('distance'),
"avgPrice": media.get('avgPrice'),
"starLevel": media.get('starLevel')
}
tx_goods.append(tx_data)
if jd_goods:
response_content += '\n\nrender_ecom_card_widget_jd_start:\n\n'
jd_goods_str = json.dumps(jd_goods, ensure_ascii=False)
response_content += jd_goods_str
response_content += '\n\nrender_ecom_card_widget_jd_end:'
save_eco_data_to_bh(task_data,'jdeco',jd_goods)
if tx_goods:
response_content += '\n\nrender_ecom_card_widget_txmap_start:\n\n'
tx_goods_str = json.dumps(tx_goods, ensure_ascii=False)
response_content += tx_goods_str
response_content += '\n\nrender_ecom_card_widget_txmap_end:'
save_eco_data_to_bh(task_data,'txmap',tx_goods)
spider_save_tos.process_and_save_files(file_path, search_keyword, url_list, think_content, response_content,
suggestions,rich_media_block)
return (file_path, search_keyword, url_list, think_content, response_content, suggestions)
......@@ -79,7 +171,7 @@ def yuanbao_process_original_data(data):
return (file_path, search_keyword, url_list, think_content, response_content, suggestions)
if __name__ == '__main__':
data_list = bh_utils.query_data(f"select * from geo_commit_task where taskId = '9dfd84a4-f551-4d74-b1ee-9367aed53a8c' and platform = 'TXYB'")
data_list = bh_utils.query_data(f"select * from geo_commit_task where taskId = 'b081fc33-0993-4186-a109-a59160200ffb' and platform = 'TXYB'")
# # #
# # #
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment