修改生成sql的提示词
This commit is contained in:
parent
d74a8fddf8
commit
d88da8668c
@ -709,54 +709,48 @@ class CreatorSQLSearchAPI(APIView):
|
|||||||
return Response({"error": "缺少筛选条件"}, status=400)
|
return Response({"error": "缺少筛选条件"}, status=400)
|
||||||
|
|
||||||
table_schema = '''
|
table_schema = '''
|
||||||
feishu_creators(
|
creator_profiles(
|
||||||
id char(32) 主键,
|
id bigint 主键,
|
||||||
record_id varchar(100) 记录ID,
|
name varchar(255) 达人名称,
|
||||||
contact_person varchar(50) 联系人姓名,
|
avatar_url text 头像URL,
|
||||||
handle longtext 账号/达人昵称,
|
email varchar(255) 电子邮箱,
|
||||||
tiktok_url longtext 抖音主页链接,
|
instagram varchar(255) Instagram账号,
|
||||||
fans_count varchar(50) 粉丝数,
|
tiktok_link varchar(255) TikTok链接,
|
||||||
gmv varchar(100) GMV,
|
location varchar(100) 位置,
|
||||||
email varchar(254) 邮箱,
|
live_schedule varchar(255) 直播时间表,
|
||||||
phone varchar(50) 电话,
|
category varchar(100) 类别,
|
||||||
account_type varchar(50) 账号类型,
|
e_commerce_level int 电商能力等级,
|
||||||
price_quote longtext 报价,
|
exposure_level varchar(10) 曝光等级,
|
||||||
response_speed varchar(50) 响应速度,
|
followers int 粉丝数,
|
||||||
cooperation_intention varchar(50) 合作意向,
|
gmv decimal(12,2) GMV(千美元),
|
||||||
payment_method varchar(50) 支付方式,
|
items_sold decimal(12,2) 售出商品数量,
|
||||||
payment_account varchar(100) 支付账号,
|
avg_video_views int 平均视频浏览量,
|
||||||
address longtext 地址,
|
pricing_min decimal(10,2) 最低个人定价,
|
||||||
has_ooin varchar(10) 是否有OOIN,
|
pricing_max decimal(10,2) 最高个人定价,
|
||||||
source varchar(100) 数据来源,
|
pricing_package varchar(100) 套餐定价,
|
||||||
contact_status varchar(50) 联系状态,
|
collab_count int 合作次数,
|
||||||
cooperation_brands json 合作品牌,
|
latest_collab varchar(100) 最新合作,
|
||||||
system_categories varchar(100) 系统分类,
|
e_commerce_platforms json 电商平台,
|
||||||
actual_categories varchar(100) 实际分类,
|
gmv_by_channel json GMV按渠道分布,
|
||||||
human_categories varchar(100) 人工分类,
|
gmv_by_category json GMV按类别分布,
|
||||||
creator_base varchar(100) 达人基地,
|
mcn varchar(255) MCN机构,
|
||||||
notes longtext 备注,
|
create_time datetime 创建时间,
|
||||||
created_at datetime 创建时间,
|
update_time datetime 更新时间
|
||||||
updated_at datetime 更新时间
|
|
||||||
)
|
)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
prompt = f"""
|
prompt = f"""
|
||||||
你是一个SQL专家。下面是MySQL表feishu_creators的结构:
|
你是一个SQL专家。下面是MySQL表creator_profiles的结构:
|
||||||
{table_schema}
|
{table_schema}
|
||||||
|
|
||||||
以下是我对表中每个字段的解释: 方便你写出正确的sql查询语句
|
以下是我对表中每个字段的解释: 方便你写出正确的sql查询语句
|
||||||
注意: fans_count 字段为字符串,可能为纯数字(如 '1234'),也可能带有 K(千)或 M(百万)后缀(如 '9K', '56.5K', '13.2M')。请在SQL中将其统一转换为数字后再进行比较, K=1000, M=1000000。例如查找粉丝数量大于10000的博主: SELECT * FROM your_table WHERE (CASE WHEN fans_count LIKE '%K' THEN CAST(REPLACE(fans_count, 'K', '') AS DECIMAL(10,2)) * 1000 WHEN fans_count LIKE '%M' THEN CAST(REPLACE(fans_count, 'M', '') AS DECIMAL(10,2)) * 1000000 ELSE CAST(fans_count AS DECIMAL(10,2)) END) > 100000;
|
请根据以下自然语言筛选条件, 生成一条MySQL的SELECT语句, 查询daren_detail.creator_profiles表(注意一定要写数据库名称.表名称), 返回所有字段。不要加任何解释说明, 只输出SQL语句本身。
|
||||||
注意: response_speed 字段有以下几个取值: 1、无回复 2、一般 3、正常 4、积极。请在sql中直接使用上述的某个值就好, 不要进行任何转换。例如: SELECT * FROM daren.feishu_creators WHERE response_speed = '积极'
|
|
||||||
注意: source 字段有以下几个取值: 1. 线下活动 2、TAP后台。请在sql中直接使用上述的某个值就好, 不要进行任何转换。例如: SELECT * FROM daren.feishu_creators WHERE source = 'TAP后台'
|
|
||||||
注意: system_categories 字段是一个varchar类型的值, 是一个列表形式表示的,例如 ['日用百货']、['美妆个护,保健'] 这种。例如查找'美妆个护'的博主: SELECT * FROM daren.feishu_creators WHERE system_categories LIKE '%美妆个护%';
|
|
||||||
注意: gmv 字段是一个varchar类型的值, 例如 $86.89、$8761.98、$15.5K、$12.5M 这种。例如我要查询gmv大于10000美金的达人: SELECT * FROM daren.feishu_creators WHERE gmv NOT LIKE '$0-%' AND (CASE WHEN gmv LIKE '%K' THEN CAST(SUBSTRING(gmv, 2, LENGTH(gmv) - 2) AS DECIMAL(10,2)) * 1000 WHEN gmv LIKE '%M' THEN CAST(SUBSTRING(gmv, 2, LENGTH(gmv) - 2) AS DECIMAL(10,2)) * 1000000 ELSE CAST(SUBSTRING(gmv, 2) AS DECIMAL(10,2)) END) > 10000;
|
|
||||||
请根据以下自然语言筛选条件, 生成一条MySQL的SELECT语句, 查询daren.feishu_creators表(注意一定要写数据库名称.表名称), 返回所有字段。不要加任何解释说明, 只输出SQL语句本身。
|
|
||||||
筛选条件:{criteria}
|
筛选条件:{criteria}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# 2. 让大模型生成SQL
|
# 2. 让大模型生成SQL
|
||||||
response = client.chat(
|
response = client.chat(
|
||||||
model="deepseek-r1:70b",
|
model="qwen2.5:32b",
|
||||||
messages=[{'role': 'user', 'content': prompt}],
|
messages=[{'role': 'user', 'content': prompt}],
|
||||||
)
|
)
|
||||||
sql = self._extract_sql(response['message']['content'])
|
sql = self._extract_sql(response['message']['content'])
|
||||||
|
Loading…
Reference in New Issue
Block a user