2026-03-13 09:40:22.132 INFO 16624 --- [onPool-worker-1] o.s.m.a.i.e.e.ChatCompletionExecutor : SuggestionExecutor - LLM响应: { "suggestions": ["使用柱状图展示各房屋类型的数量分布", "用饼图呈现不同房屋用途的占比情况", "使用折线图分析近三个月房屋登记数量的变化趋势", "使用表格列出各派出所管辖的房屋数量及居住人员总数"] } 2026-03-13 09:40:22.133 INFO 16624 --- [onPool-worker-1] o.s.m.a.i.e.executor.SuggestionExecutor : 建议生成 - 解析到4个建议 2026-03-13 09:40:22.166 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志开始记录, 模型: deepseek-chat 2026-03-13 09:40:22.166 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志原始数据, chatLog -> chatRequest: BladeChatRequest(model=deepseek-chat, messages=[ChatMessage(role=system, content=### 语言要求:使用简体中文回答,直接返回JSON结果,不输出任何思考过程 ### 任务说明: 你是一位数据分析顾问,擅长根据数据库结构和业务场景推荐有价值的分析问题。 你的任务是基于数据库的表结构、用户的历史提问,智能推测用户可能感兴趣的数据分析问题。 ### 推测规则: #### 1. 问题质量要求 - 问题必须与提供的数据库表结构密切相关 - 问题应具有实际分析价值,能够产生有意义的洞察 - 问题应简洁明了,易于理解 - 避免过于简单的问题(如"查询所有数据") - 避免过于复杂或需要多层嵌套查询的问题 #### 2. 图表展示建议 - 如果问题适合可视化展示,应在问题中明确指出 - 支持的图表类型:表格、柱状图、条形图、折线图、饼图、散点图、雷达图、漏斗图 - 示例:"使用柱状图展示各部门的销售额对比"、"用折线图呈现近三个月的增长趋势" #### 3. 历史问题处理 当提供了历史问题列表时,需要综合考虑以下因素: - 深入分析用户的查询上下文和意图延续,准确把握用户的分析思路脉络 - 理解用户在历史问题中体现的关注点、数据维度偏好和分析模式 - 识别用户分析的阶段性特征(初探、深入、对比、总结等) - 推测的问题应该是历史问题的自然延伸,体现分析思路的连贯性 - 严格避免推荐与当前问题或历史问题完全重复的内容 - 可以从以下方向推测新问题: * 时间维度的延伸(如历史问题关注本月,可推荐上月、季度、年度对比) * 数据粒度的深入(如历史问题看总体,可推荐细分类别、区域等) * 不同角度的对比分析(如历史问题看数量,可推荐金额、占比、增长率等) * 相关联指标的横向拓展(如历史问题看销售,可推荐库存、成本、利润等) - 充分利用历史问题中的业务场景、筛选条件、聚合维度等信息作为推测依据 - 保持推荐问题与用户分析意图的高度契合,确保推荐的问题具有实际分析价值 #### 4. 数据库特征分析 - 识别表中的关键字段(时间、金额、数量、状态等) - 发现表之间可能的关联关系 - 关注具有统计意义的字段组合 - 优先推荐能产生有价值洞察的问题 #### 5. 推测策略 - 首次访问:根据表结构推测最常见、最有价值的分析需求 - 继续提问:结合历史问题,推测用户可能的下一步分析方向 - 多维分析:从不同维度(时间、地域、类别等)推测问题 - 对比分析:推测可能的对比分析需求 ### 响应格式: 必须严格按照以下JSON对象格式返回,包含1-4个推测问题: ```json { "suggestions": ["推测问题1", "推测问题2", "推测问题3", "推测问题4"] } ``` 如果无法推测合适的问题,返回空数组: ```json { "suggestions": [] } ``` ### 响应要求: - 严格禁止输出思考过程、分析步骤或任何解释文字 - 直接返回符合规范的JSON对象 - suggestions 字段必须是数组类型 - 问题数量为1到4个之间 - 每个问题独立成句,表述完整 - 问题之间不要有重复或高度相似 - 如果问题涉及图表,使用"使用XX图"或"用XX图"开头 ### 开始任务: 请根据以下数据库信息和历史记录推测用户可能感兴趣的问题。 , name=null, functionCall=null, reasoningContent=null, refusal=null), ChatMessage(role=user, content=### 数据库结构信息: 【数据库】 pasq 【表结构】 - house_list: 房屋静态数据表 字段:house_id(自增主键), id(房屋编码guid), dzbm(地址编码), dzmc(地址名称), dzmc_jc(地址名称简称), fwlxdm(房屋类型代码), fwlxmc(房屋类型名称), fwxzdm(房屋性质代码), fwxzmc(房屋性质名称), fwytdm(房屋用途代码), fwytmc(房屋用途名称), zlztdm(租赁状态), zlztmc(租赁状态名称), fwjs(房屋间数), fwmj(房屋面积), fwcqh(房屋产权号), fzxm(房主姓名), fzzjlxdm(房主证件类型代码), fzzjlxmc(房主证件类型名称), fzgmsfzhm(房主公民身份号码), fzgmsfzhm_sm(房主身份证号国密加密), fzlxdh(房主联系电话), fzsfbqdm(房主身份标签代码), fzsfbqmc(房主身份标签名称), jzrysl(居住人员数量), remark(备注), djptbm(对接平台编码,分局上报数据), djptmc(对接平台名称), xqdm(所属小区代码), xqmc(所属小区名称), pcsdm(派出所名称), pcsmc(派出所名称), fjdm(分局代码), fjmc(分局名称), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 10-一标三实同步), sjjrsj(数据接入时间), is_delete(逻辑删除状态 0未删除 1已删除), djsj(登记时间), djrid(登记人ID), djrjh(登记人警号), djrxm(登记人姓名), gxsj(更新时间), gxrid(更新人ID), gxrjh(更新人警号), gxrxm(更新人姓名), zxsj(注销时间), zxrid(注销人id), zxrjh(注销人警号), zxrxm(注销人姓名), dqsj(打签时间) - person_info: 公安网3.0----静态人员信息表 字段:id(自增主键), person_id(人员guid), xm(姓名), cym(曾用名), zjlxdm(证件类型代码), zjlxmc(证件类型名称), zjhm(证件号码), zjhm_sm(证件号码sm3), xbdm(性别代码), xbmc(性别名称), mzdm(民族代码), mzmc(民族名称), csrq(出生日期), hjdzxz(户籍地详址), hjszssqxdm(户籍地址省市区县代码), hjszssqxmc(户籍所在省市区县名称), lxdh(联系电话), whcddm(文化程度代码), whcdmc(文化程度名称), hyzkdm(婚姻状况代码), hyzkmc(婚姻状况名称), zy(职业), zylbdm(职业类别代码), zylbmc(职业类别名称), byzkdm(兵役状况代码), byzkmc(兵役状况名称), zzmmdm(政治面貌代码), zzmmmc(政治面貌名称), rysfbqdm(人员身份标签代码(重点人)), rysfbqmc(人员身份标签名称(重点人)), sfztry(是否在逃人员1是 0否), remark(备注), ywm(英文名), qfjg(签发机关), zjyxqx(证件有效期), yx(邮箱), gzdw(工作单位), photo_url(照片路径), rxtzxx(人像特征值信息), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 6-任务核查 10-一标三实同步), sjjrsj(数据接入时间), dqsj(打签时间), sfxysh(是否需要审核,》一标三实), create_time(登记时间), create_user_jh(登记人警号), create_user(登记人), update_time(更新时间), update_user_jh(更新人警号), update_user(更新人姓名), face_token(人脸照片特征码), sfytbrlk(是否已同步人脸库 0-未同步 1-已同步 2-同步中 9-图片识别失败), tbrlk_time(同步人脸库时间) , name=null, functionCall=null, reasoningContent=null, refusal=null)], conversationId=null, temperature=0.7, topP=null, maxTokens=2000, stream=false, stop=null, frequencyPenalty=null, presencePenalty=null, functions=null, functionCall=null, responseFormat=ResponseFormat(type=json_object, jsonSchema=null), user=null, ip=, chatClient=null, extraParams={enable_thinking=false}) chatResponse: BladeChatResponse(id=488421eb-91ed-41d2-bd34-674165c887ab, object=chat.completion, created=1773366017, model=deepseek-chat, choices=[ChatChoice(index=0, message=ChatMessage(role=assistant, content={ "suggestions": ["使用柱状图展示各房屋类型的数量分布", "用饼图呈现不同房屋用途的占比情况", "使用折线图分析近三个月房屋登记数量的变化趋势", "使用表格列出各派出所管辖的房屋数量及居住人员总数"] }, name=null, functionCall=null, reasoningContent=null, refusal=null), delta=null, finishReason=stop)], usage=ChatUsage(promptTokens=1811, completionTokens=61, totalTokens=1872), result=ChatResult(done=true, error=null), extra=null) bladeUser: null 2026-03-13 09:40:22.247 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_time, update_time, status , is_deleted) values (2032270510697283586, 'user', 'deepseek-chat', '### 数据库结构信息: 【数据库】 pasq 【表结构】 - house_list: 房屋静态数据表 字段:house_id(自增主键), id(房屋编码guid), dzbm(地址编码), dzmc(地址名称), dzmc_jc(地址名称简称), fwlxdm(房屋类型代码), fwlxmc(房屋类型名称), fwxzdm(房屋性质代码), fwxzmc(房屋性质名称), fwytdm(房屋用途代码), fwytmc(房屋用途名称), zlztdm(租赁状态), zlztmc(租赁状态名称), fwjs(房屋间数), fwmj(房屋面积), fwcqh(房屋产权号), fzxm(房主姓名), fzzjlxdm(房主证件类型代码), fzzjlxmc(房主证件类型名称), fzgmsfzhm(房主公民身份号码), fzgmsfzhm_sm(房主身份证号国密加密), fzlxdh(房主联系电话), fzsfbqdm(房主身份标签代码), fzsfbqmc(房主身份标签名称), jzrysl(居住人员数量), remark(备注), djptbm(对接平台编码,分局上报数据), djptmc(对接平台名称), xqdm(所属小区代码), xqmc(所属小区名称), pcsdm(派出所名称), pcsmc(派出所名称), fjdm(分局代码), fjmc(分局名称), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 10-一标三实同步), sjjrsj(数据接入时间), is_delete(逻辑删除状态 0未删除 1已删除), djsj(登记时间), djrid(登记人ID), djrjh(登记人警号), djrxm(登记人姓名), gxsj(更新时间), gxrid(更新人ID), gxrjh(更新人警号), gxrxm(更新人姓名), zxsj(注销时间), zxrid(注销人id), zxrjh(注销人警号), zxrxm(注销人姓名), dqsj(打签时间) - person_info: 公安网3.0----静态人员信息表 字段:id(自增主键), person_id(人员guid), xm(姓名), cym(曾用名), zjlxdm(证件类型代码), zjlxmc(证件类型名称), zjhm(证件号码), zjhm_sm(证件号码sm3), xbdm(性别代码), xbmc(性别名称), mzdm(民族代码), mzmc(民族名称), csrq(出生日期), hjdzxz(户籍地详址), hjszssqxdm(户籍地址省市区县代码), hjszssqxmc(户籍所在省市区县名称), lxdh(联系电话), whcddm(文化程度代码), whcdmc(文化程度名称), hyzkdm(婚姻状况代码), hyzkmc(婚姻状况名称), zy(职业), zylbdm(职业类别代码), zylbmc(职业类别名称), byzkdm(兵役状况代码), byzkmc(兵役状况名称), zzmmdm(政治面貌代码), zzmmmc(政治面貌名称), rysfbqdm(人员身份标签代码(重点人)), rysfbqmc(人员身份标签名称(重点人)), sfztry(是否在逃人员1是 0否), remark(备注), ywm(英文名), qfjg(签发机关), zjyxqx(证件有效期), yx(邮箱), gzdw(工作单位), photo_url(照片路径), rxtzxx(人像特征值信息), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 6-任务核查 10-一标三实同步), sjjrsj(数据接入时间), dqsj(打签时间), sfxysh(是否需要审核,》一标三实), create_time(登记时间), create_user_jh(登记人警号), create_user(登记人), update_time(更新时间), update_user_jh(更新人警号), update_user(更新人姓名), face_token(人脸照片特征码), sfytbrlk(是否已同步人脸库 0-未同步 1-已同步 2-同步中 9-图片识别失败), tbrlk_time(同步人脸库时间) ', 1811 , 0, 1811, TIMESTAMP '2026-03-13 09:40:22.167', TIMESTAMP '2026-03-13 09:40:22.167', 1 , 0) Execute Time: 74.240ms ============== Sql End ============== 2026-03-13 09:40:22.306 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_time, update_time, status , is_deleted) values (2032270511032827905, 'assistant', 'deepseek-chat', '{ "suggestions": ["使用柱状图展示各房屋类型的数量分布", "用饼图呈现不同房屋用途的占比情况", "使用折线图分析近三个月房屋登记数量的变化趋势", "使用表格列出各派出所管辖的房屋数量及居住人员总数"] }', 0 , 61, 61, TIMESTAMP '2026-03-13 09:40:22.248', TIMESTAMP '2026-03-13 09:40:22.248', 1 , 0) Execute Time: 52.154ms ============== Sql End ============== 2026-03-13 09:40:22.371 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_token (id, message_id, model, prompt_tokens, completion_tokens , total_tokens, amount, ip, create_time, update_time , status, is_deleted) values (2032270511280291841, 2032270511032827905, 'deepseek-chat', 1811, 61 , 1872, 0.0187200000, '', TIMESTAMP '2026-03-13 09:40:22.306', TIMESTAMP '2026-03-13 09:40:22.306' , 1, 0) Execute Time: 59.456ms ============== Sql End ============== 2026-03-13 09:40:24.303 INFO 16624 --- [ XNIO-1 task-5] o.s.core.log.aspect.RequestLogAspect : ================ Request Start ================ ===> POST: /blade-ai/llm/conversation/save ====Body===== {"id":null,"createUser":null,"createDept":null,"createTime":null,"updateUser":null,"updateTime":null,"status":null,"isDeleted":null,"tenantId":null,"appId":"2031978098888335362","type":null,"title":"姓孙的人有几个","model":"deepseek-chat"} ===Headers=== sec-fetch-mode: cors ===Headers=== referer: http://localhost:1188/dataset/2031978098888335362 ===Headers=== content-length: 87 ===Headers=== sec-fetch-site: same-origin ===Headers=== blade-auth: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw ===Headers=== cookie: bladexai-access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw; bladexai-refresh-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJyZWZyZXNoX3Rva2VuIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiZXhwIjoxNzczOTcwNTIxLCJuYmYiOjE3NzMzNjU2NjF9.d8VJ0F2_qBNMDvEqviMbTHHR5LWs5D8T_Qx81UTqbjI ===Headers=== accept-language: zh-cn ===Headers=== origin: http://localhost:1188 ===Headers=== accept: application/json, text/plain, */* ===Headers=== authorization: Basic YmxhZGV4YWk6YmxhZGV4YWlfc2VjcmV0 ===Headers=== sec-ch-ua: "Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146" ===Headers=== sec-ch-ua-mobile: ?0 ===Headers=== sec-ch-ua-platform: "Windows" ===Headers=== host: localhost ===Headers=== connection: close ===Headers=== content-type: application/json ===Headers=== accept-encoding: gzip, deflate, br, zstd ===Headers=== blade-requested-with: BladeHttpRequest ===Headers=== user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 ===Headers=== sec-fetch-dest: empty ================ Request End ================ 2026-03-13 09:40:24.366 INFO 16624 --- [ XNIO-1 task-5] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_conversation (id, app_id, title, model, create_user , create_dept, create_time, update_user, update_time, status , is_deleted, tenant_id) values (2032270519656316930, 2031978098888335362, '姓孙的人有几个', 'deepseek-chat', 1123598821738675201 , 1123598813738675201, TIMESTAMP '2026-03-13 09:40:24.304', 1123598821738675201, TIMESTAMP '2026-03-13 09:40:24.304', 1 , 0, '000000') Execute Time: 54.997ms ============== Sql End ============== 2026-03-13 09:40:24.366 INFO 16624 --- [ XNIO-1 task-5] o.s.core.log.aspect.RequestLogAspect : =============== Response Start ================ ===Result=== {"code":200,"success":true,"data":{"id":"2032270519656316930","createUser":"1123598821738675201","createDept":"1123598813738675201","createTime":"2026-03-13 09:40:24","updateUser":"1123598821738675201","updateTime":"2026-03-13 09:40:24","status":1,"isDeleted":0,"tenantId":null,"appId":"2031978098888335362","type":null,"title":"姓孙的人有几个","model":"deepseek-chat"},"msg":"操作成功"} <=== POST: /blade-ai/llm/conversation/save (62 ms) =============== Response End ================ 2026-03-13 09:40:24.376 INFO 16624 --- [ XNIO-1 task-5] o.s.core.log.aspect.RequestLogAspect : ================ Request Start ================ ===> POST: /blade-ai/data-intelligence/generate-suggestions ====Body===== {"intelligenceId":2031978098888335362,"currentQuestion":"姓孙的人有几个","historyQuestions":[],"suggestionCount":4} ===Headers=== sec-fetch-mode: cors ===Headers=== referer: http://localhost:1188/dataset/2031978098888335362 ===Headers=== content-length: 124 ===Headers=== sec-fetch-site: same-origin ===Headers=== blade-auth: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw ===Headers=== cookie: bladexai-access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw; bladexai-refresh-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJyZWZyZXNoX3Rva2VuIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiZXhwIjoxNzczOTcwNTIxLCJuYmYiOjE3NzMzNjU2NjF9.d8VJ0F2_qBNMDvEqviMbTHHR5LWs5D8T_Qx81UTqbjI ===Headers=== accept-language: zh-cn ===Headers=== origin: http://localhost:1188 ===Headers=== accept: application/json, text/plain, */* ===Headers=== authorization: Basic YmxhZGV4YWk6YmxhZGV4YWlfc2VjcmV0 ===Headers=== sec-ch-ua: "Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146" ===Headers=== sec-ch-ua-mobile: ?0 ===Headers=== sec-ch-ua-platform: "Windows" ===Headers=== host: localhost ===Headers=== connection: close ===Headers=== content-type: application/json ===Headers=== accept-encoding: gzip, deflate, br, zstd ===Headers=== blade-requested-with: BladeHttpRequest ===Headers=== user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 ===Headers=== sec-fetch-dest: empty ================ Request End ================ 2026-03-13 09:40:24.376 INFO 16624 --- [ XNIO-1 task-5] o.s.m.a.i.e.s.i.IntelEngineServiceImpl : 开始生成建议 - intelligenceId: 2031978098888335362 2026-03-13 09:40:24.376 INFO 16624 --- [ XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect : ================ Request Start ================ ===> POST: /blade-ai/data-intelligence/visualize-sql ====Body===== {"intelligenceId":2031978098888335362,"question":"姓孙的人有几个","historyQuestions":[]} ===Headers=== sec-fetch-mode: cors ===Headers=== referer: http://localhost:1188/dataset/2031978098888335362 ===Headers=== content-length: 97 ===Headers=== sec-fetch-site: same-origin ===Headers=== blade-auth: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw ===Headers=== cookie: bladexai-access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw; bladexai-refresh-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJyZWZyZXNoX3Rva2VuIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiZXhwIjoxNzczOTcwNTIxLCJuYmYiOjE3NzMzNjU2NjF9.d8VJ0F2_qBNMDvEqviMbTHHR5LWs5D8T_Qx81UTqbjI ===Headers=== accept-language: zh-cn ===Headers=== origin: http://localhost:1188 ===Headers=== accept: application/json, text/plain, */* ===Headers=== authorization: Basic YmxhZGV4YWk6YmxhZGV4YWlfc2VjcmV0 ===Headers=== sec-ch-ua: "Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146" ===Headers=== sec-ch-ua-mobile: ?0 ===Headers=== sec-ch-ua-platform: "Windows" ===Headers=== host: localhost ===Headers=== connection: close ===Headers=== content-type: application/json ===Headers=== accept-encoding: gzip, deflate, br, zstd ===Headers=== blade-requested-with: BladeHttpRequest ===Headers=== user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 ===Headers=== sec-fetch-dest: empty ================ Request End ================ 2026-03-13 09:40:24.376 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.s.i.IntelEngineServiceImpl : 开始生成SQL - intelligenceId: 2031978098888335362, question: 姓孙的人有几个 2026-03-13 09:40:25.463 ERROR 16624 --- [ XNIO-1 task-3] o.s.core.tool.jackson.JsonUtil : No content to map due to end-of-input at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1] com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1] at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:5008) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4910) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3860) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3828) at org.springblade.core.tool.jackson.JsonUtil.parse(JsonUtil.java:95) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.processTableConnections(IntelEngineServiceImpl.java:375) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.loadDatabaseSchema(IntelEngineServiceImpl.java:323) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.buildContext(IntelEngineServiceImpl.java:279) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeSql(IntelEngineServiceImpl.java:94) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeSql(AiDataIntelligenceEngineController.java:66) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeSql() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:27.069 INFO 16624 --- [ XNIO-1 task-6] o.s.core.log.aspect.RequestLogAspect : ================ Request Start ================ ===> POST: /blade-ai/llm/conversation/update ====Body===== {"id":"2032270519656316930","createUser":null,"createDept":null,"createTime":null,"updateUser":null,"updateTime":null,"status":null,"isDeleted":null,"tenantId":null,"appId":null,"type":null,"title":"孙姓人数","model":null} ===Headers=== sec-fetch-mode: cors ===Headers=== referer: http://localhost:1188/dataset/2031978098888335362 ===Headers=== content-length: 51 ===Headers=== sec-fetch-site: same-origin ===Headers=== blade-auth: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw ===Headers=== cookie: bladexai-access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw; bladexai-refresh-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJyZWZyZXNoX3Rva2VuIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiZXhwIjoxNzczOTcwNTIxLCJuYmYiOjE3NzMzNjU2NjF9.d8VJ0F2_qBNMDvEqviMbTHHR5LWs5D8T_Qx81UTqbjI ===Headers=== accept-language: zh-cn ===Headers=== origin: http://localhost:1188 ===Headers=== accept: application/json, text/plain, */* ===Headers=== authorization: Basic YmxhZGV4YWk6YmxhZGV4YWlfc2VjcmV0 ===Headers=== sec-ch-ua: "Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146" ===Headers=== sec-ch-ua-mobile: ?0 ===Headers=== sec-ch-ua-platform: "Windows" ===Headers=== host: localhost ===Headers=== connection: close ===Headers=== content-type: application/json ===Headers=== accept-encoding: gzip, deflate, br, zstd ===Headers=== blade-requested-with: BladeHttpRequest ===Headers=== user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 ===Headers=== sec-fetch-dest: empty ================ Request End ================ 2026-03-13 09:40:27.076 ERROR 16624 --- [ XNIO-1 task-5] o.s.core.tool.jackson.JsonUtil : No content to map due to end-of-input at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1] com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1] at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:5008) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4910) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3860) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3828) at org.springblade.core.tool.jackson.JsonUtil.parse(JsonUtil.java:95) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.processTableConnections(IntelEngineServiceImpl.java:375) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.loadDatabaseSchema(IntelEngineServiceImpl.java:323) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.buildContext(IntelEngineServiceImpl.java:279) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.generateSuggestions(IntelEngineServiceImpl.java:232) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.generateSuggestions(AiDataIntelligenceEngineController.java:94) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.generateSuggestions() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:27.088 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志开始记录, 模型: deepseek-chat 2026-03-13 09:40:27.088 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志原始数据, chatLog -> chatRequest: BladeChatRequest(model=deepseek-chat, messages=[ChatMessage(role=system, content=你是一个标题生成助手。根据用户的输入内容,生成一个简洁的标题,最多10个字符。只返回标题文字,不要有任何其他内容、标点符号或解释。, name=null, functionCall=null, reasoningContent=null, refusal=null), ChatMessage(role=user, content=请为以下内容生成一个简洁的标题(最多10个字符): 姓孙的人有几个, name=null, functionCall=null, reasoningContent=null, refusal=null)], conversationId=null, temperature=0.7, topP=null, maxTokens=50, stream=false, stop=null, frequencyPenalty=null, presencePenalty=null, functions=null, functionCall=null, responseFormat=null, user=null, ip=0:0:0:0:0:0:0:1, chatClient=null, extraParams=null) chatResponse: BladeChatResponse(id=a1f89ab8-a30c-48d3-b322-82bed894796b, object=chat.completion, created=1773366023, model=deepseek-chat, choices=[ChatChoice(index=0, message=ChatMessage(role=assistant, content=孙姓人数, name=null, functionCall=null, reasoningContent=null, refusal=null), delta=null, finishReason=stop)], usage=ChatUsage(promptTokens=61, completionTokens=3, totalTokens=64), result=ChatResult(done=true, error=null), extra=null) bladeUser: BladeUser(clientId=bladexai, userId=1123598821738675201, account=admin, userName=admin, nickName=管理员, tenantId=000000, oauthId=, deptId=1123598813738675201, postId=1123598817738675201, roleId=1123598816738675201, roleName=administrator, detail={type=web}) 2026-03-13 09:40:27.090 INFO 16624 --- [ XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : select id, db_id, sql_description, sql_template, remark , tenant_id, create_user, create_dept, create_time, update_user , update_time, status, is_deleted from blade_ai_db_template where is_deleted = 0 and db_id = 2031905367211696130 and status = 1 and is_deleted = 0 order by create_time desc Execute Time: 26.468ms ============== Sql End ============== 2026-03-13 09:40:27.121 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.e.ChatCompletionExecutor : SqlGenerationExecutor - 调用LLM: modelName=deepseek-chat, temperature=0.7, maxTokens=2000, hasResponseFormat=true 2026-03-13 09:40:27.133 INFO 16624 --- [ XNIO-1 task-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : update blade_ai_llm_conversation set title = '孙姓人数', update_user = 1123598821738675201, update_time = TIMESTAMP '2026-03-13 09:40:27.070' where id = 2032270519656316930 and is_deleted = 0 Execute Time: 59.125ms ============== Sql End ============== 2026-03-13 09:40:27.133 INFO 16624 --- [ XNIO-1 task-6] o.s.core.log.aspect.RequestLogAspect : =============== Response Start ================ ===Result=== {"code":200,"success":true,"data":null,"msg":"操作成功"} <=== POST: /blade-ai/llm/conversation/update (63 ms) =============== Response End ================ 2026-03-13 09:40:27.144 INFO 16624 --- [ XNIO-1 task-5] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : select id, db_id, sql_description, sql_template, remark , tenant_id, create_user, create_dept, create_time, update_user , update_time, status, is_deleted from blade_ai_db_template where is_deleted = 0 and db_id = 2031905367211696130 and status = 1 and is_deleted = 0 order by create_time desc Execute Time: 26.370ms ============== Sql End ============== 2026-03-13 09:40:27.151 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_user, create_dept, create_time , update_user, update_time, status, is_deleted) values (2032270531341647873, 'user', 'deepseek-chat', '请为以下内容生成一个简洁的标题(最多10个字符): 姓孙的人有几个', 61 , 0, 61, 1123598821738675201, 1123598813738675201, TIMESTAMP '2026-03-13 09:40:27.088' , 1123598821738675201, TIMESTAMP '2026-03-13 09:40:27.088', 1, 0) Execute Time: 56.277ms ============== Sql End ============== 2026-03-13 09:40:27.172 INFO 16624 --- [ XNIO-1 task-5] o.s.m.a.i.e.e.ChatCompletionExecutor : SuggestionExecutor - 调用LLM: modelName=deepseek-chat, temperature=0.7, maxTokens=2000, hasResponseFormat=true 2026-03-13 09:40:27.211 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_user, create_dept, create_time , update_user, update_time, status, is_deleted) values (2032270531597500418, 'assistant', 'deepseek-chat', '孙姓人数', 0 , 3, 3, 1123598821738675201, 1123598813738675201, TIMESTAMP '2026-03-13 09:40:27.151' , 1123598821738675201, TIMESTAMP '2026-03-13 09:40:27.151', 1, 0) Execute Time: 53.530ms ============== Sql End ============== 2026-03-13 09:40:27.279 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_token (id, message_id, model, prompt_tokens, completion_tokens , total_tokens, amount, ip, create_user, create_dept , create_time, update_user, update_time, status, is_deleted) values (2032270531857547266, 2032270531597500418, 'deepseek-chat', 61, 3 , 64, 0.0006400000, '0:0:0:0:0:0:0:1', 1123598821738675201, 1123598813738675201 , TIMESTAMP '2026-03-13 09:40:27.211', 1123598821738675201, TIMESTAMP '2026-03-13 09:40:27.211', 1, 0) Execute Time: 58.874ms ============== Sql End ============== 2026-03-13 09:40:30.306 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.e.ChatCompletionExecutor : SqlGenerationExecutor - LLM响应: { "success": true, "sql": "SELECT COUNT(`id`) AS personCount FROM `person_info` WHERE `xm` LIKE '孙%'", "tables": ["person_info"], "chart-type": "table" } 2026-03-13 09:40:30.306 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.s.i.IntelEngineServiceImpl : SQL生成完成 - sql: oxo3tXVyJ05K/dt4NyYEPS0HauliH6m/3i8GYuZrep3JSx3Y+X2FtBOEcCG2aNd1SPWqQAJrO8s0EahRpkH5bdBuO+VLJL9C4qM6EsMVRL0= 2026-03-13 09:40:30.307 INFO 16624 --- [ XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect : =============== Response Start ================ ===Result=== {"code":200,"success":true,"data":{"sql":"oxo3tXVyJ05K/dt4NyYEPS0HauliH6m/3i8GYuZrep3JSx3Y+X2FtBOEcCG2aNd1SPWqQAJrO8s0EahRpkH5bdBuO+VLJL9C4qM6EsMVRL0=","tables":["person_info"],"chartType":"table"},"msg":"操作成功"} <=== POST: /blade-ai/data-intelligence/visualize-sql (5930 ms) =============== Response End ================ 2026-03-13 09:40:30.324 INFO 16624 --- [ XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect : ================ Request Start ================ ===> POST: /blade-ai/data-intelligence/visualize-data ====Body===== {"intelligenceId":2031978098888335362,"sql":"oxo3tXVyJ05K/dt4NyYEPS0HauliH6m/3i8GYuZrep3JSx3Y+X2FtBOEcCG2aNd1SPWqQAJrO8s0EahRpkH5bdBuO+VLJL9C4qM6EsMVRL0=","question":"姓孙的人有几个","chartType":"table","includeData":false} ===Headers=== sec-fetch-mode: cors ===Headers=== referer: http://localhost:1188/dataset/2031978098888335362 ===Headers=== content-length: 212 ===Headers=== sec-fetch-site: same-origin ===Headers=== blade-auth: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw ===Headers=== cookie: bladexai-access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJjbGllbnRfaWQiOiJibGFkZXhhaSIsInRlbmFudF9pZCI6IjAwMDAwMCIsInVzZXJfaWQiOiIxMTIzNTk4ODIxNzM4Njc1MjAxIiwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJyZWFsX25hbWUiOiLnrqHnkIblkZgiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNzczMzY5MzIxLCJuYmYiOjE3NzMzNjU2NjF9.iPTS2-X3QyWLFRHYmAYcDnQoZbA18A4PnEL6QenpmDw; bladexai-refresh-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJibGFkZXguY24iLCJhdWQiOlsiYmxhZGV4Il0sInRva2VuX3R5cGUiOiJyZWZyZXNoX3Rva2VuIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwiZXhwIjoxNzczOTcwNTIxLCJuYmYiOjE3NzMzNjU2NjF9.d8VJ0F2_qBNMDvEqviMbTHHR5LWs5D8T_Qx81UTqbjI ===Headers=== accept-language: zh-cn ===Headers=== origin: http://localhost:1188 ===Headers=== accept: application/json, text/plain, */* ===Headers=== authorization: Basic YmxhZGV4YWk6YmxhZGV4YWlfc2VjcmV0 ===Headers=== sec-ch-ua: "Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146" ===Headers=== sec-ch-ua-mobile: ?0 ===Headers=== sec-ch-ua-platform: "Windows" ===Headers=== host: localhost ===Headers=== connection: close ===Headers=== content-type: application/json ===Headers=== accept-encoding: gzip, deflate, br, zstd ===Headers=== blade-requested-with: BladeHttpRequest ===Headers=== user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 ===Headers=== sec-fetch-dest: empty ================ Request End ================ 2026-03-13 09:40:30.324 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.s.i.IntelEngineServiceImpl : 开始生成可视化配置 - intelligenceId: 2031978098888335362, sql: oxo3tXVyJ05K/dt4NyYEPS0HauliH6m/3i8GYuZrep3JSx3Y+X2FtBOEcCG2aNd1SPWqQAJrO8s0EahRpkH5bdBuO+VLJL9C4qM6EsMVRL0=, includeData: false 2026-03-13 09:40:30.338 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志开始记录, 模型: deepseek-chat 2026-03-13 09:40:30.338 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志原始数据, chatLog -> chatRequest: BladeChatRequest(model=deepseek-chat, messages=[ChatMessage(role=system, content=### 语言要求:使用简体中文回答,直接返回JSON结果,不输出任何思考过程 ### 任务说明: 你是一位资深的数据分析专家,擅长根据自然语言问题生成精准的SQL查询语句。 你的任务是根据用户提供的问题、数据库结构信息以及相关参考资料,生成符合MySQL数据库规范的标准查询SQL。 ### 核心规则(必须严格遵守): #### 1. SQL生成规范 - 只能生成SELECT查询语句,严禁生成任何增删改(INSERT/UPDATE/DELETE)或数据库操作(DROP/CREATE/ALTER等)语句 - 生成的SQL必须完全符合MySQL数据库的语法规范 - 禁止使用星号(*)选择所有字段,必须明确列出每个字段名称 - 对于聚合函数(如COUNT、SUM、AVG等)生成的字段,必须指定有意义的英文别名 - 字段别名统一使用英文命名,遵循驼峰命名法或下划线命名法 #### 2. 数据库特定规范 **MySQL/MariaDB 规范:** - 字段名和表名使用反引号(`)进行转义 - 使用 LIMIT 子句进行结果集限制 - 日期时间函数优先使用 DATE_FORMAT、STR_TO_DATE - 字符串比较区分大小写时使用 BINARY 关键字 #### 3. 数据处理规范 - 计算百分比时,保留两位小数并添加%符号作为后缀 - 时间字段格式化规则: * 用户询问具体时间时:格式化为 yyyy-MM-dd HH:mm:ss * 用户询问日期时:格式化为 yyyy-MM-dd * 用户询问年月时:格式化为 yyyy-MM * 用户询问年份时:格式化为 yyyy - 排序规则:如未明确指定,时间字段默认升序排列 #### 4. 表结构描述格式 数据库结构采用以下格式描述: ``` 【数据库标识】 数据库名称 【数据库类型】 MySQL 【表结构】 # 表名: table_name (表注释说明) [ (字段名:字段类型, 字段注释说明), (字段名:字段类型, 字段注释说明), ... ] ``` #### 5. 图表类型识别 当用户问题中包含图表展示需求时,需在返回的JSON中添加 "chart-type" 字段。 支持的图表类型包括: - table(表格):适合详细数据展示 - column(柱状图):适合类别对比 - bar(条形图):适合横向对比 - line(折线图):适合趋势展示 - pie(饼图):适合占比展示 - scatter(散点图):适合相关性分析 - radar(雷达图):适合多维度对比 - funnel(漏斗图):适合流程转化分析 #### 6. 历史问题处理 当提供了历史问题列表时,需要综合考虑以下因素: - 分析用户的查询上下文和意图延续,理解用户的分析思路 - 识别当前问题中可能省略的条件(基于历史问题的上下文隐含信息) - 理解用户的关注点和查询模式,把握分析重点 - 当前问题可能是历史问题的延伸、深入分析或不同维度的对比 - 避免生成与历史问题完全重复的SQL查询 - 充分利用历史问题中的时间范围、筛选条件、聚合维度等信息辅助理解当前问题 - 保持查询逻辑的连贯性,确保生成的SQL符合用户的分析脉络 #### 7. 响应格式 必须严格按照以下JSON格式返回结果: **成功响应:** ```json { "success": true, "sql": "生成的SQL查询语句", "tables": ["表名1", "表名2"], "chart-type": "建议的图表类型(可选)" } ``` **失败响应(无法生成SQL):** ```json { "success": false, "message": "无法生成SQL的具体原因说明" } ``` **拒绝响应(违规请求):** ```json { "success": false, "message": "抱歉,我只能帮助您生成数据查询语句,不支持数据修改操作" } ``` ### 响应要求: - 严格禁止输出思考过程、分析步骤或任何解释文字 - 直接返回符合规范的JSON结果 - JSON格式必须严格规范,可被程序直接解析 - SQL语句必须经过验证,确保语法正确 ### 开始任务: 请根据以下提供的数据库信息和用户问题生成SQL查询语句。 , name=null, functionCall=null, reasoningContent=null, refusal=null), ChatMessage(role=user, content=### 数据库结构信息: 【数据库标识】 pasq 【数据库类型】 MySQL 【表结构】 # 表名: house_list (房屋静态数据表) [ (house_id:INT, 自增主键), (id:VARCHAR, 房屋编码guid), (dzbm:VARCHAR, 地址编码), (dzmc:VARCHAR, 地址名称), (dzmc_jc:VARCHAR, 地址名称简称), (fwlxdm:VARCHAR, 房屋类型代码), (fwlxmc:VARCHAR, 房屋类型名称), (fwxzdm:VARCHAR, 房屋性质代码), (fwxzmc:VARCHAR, 房屋性质名称), (fwytdm:VARCHAR, 房屋用途代码), (fwytmc:VARCHAR, 房屋用途名称), (zlztdm:VARCHAR, 租赁状态), (zlztmc:VARCHAR, 租赁状态名称), (fwjs:INT, 房屋间数), (fwmj:INT, 房屋面积), (fwcqh:VARCHAR, 房屋产权号), (fzxm:VARCHAR, 房主姓名), (fzzjlxdm:VARCHAR, 房主证件类型代码), (fzzjlxmc:VARCHAR, 房主证件类型名称), (fzgmsfzhm:VARCHAR, 房主公民身份号码), (fzgmsfzhm_sm:VARCHAR, 房主身份证号国密加密), (fzlxdh:VARCHAR, 房主联系电话), (fzsfbqdm:VARCHAR, 房主身份标签代码), (fzsfbqmc:VARCHAR, 房主身份标签名称), (jzrysl:INT, 居住人员数量), (remark:VARCHAR, 备注), (djptbm:VARCHAR, 对接平台编码,分局上报数据), (djptmc:VARCHAR, 对接平台名称), (xqdm:VARCHAR, 所属小区代码), (xqmc:VARCHAR, 所属小区名称), (pcsdm:VARCHAR, 派出所名称), (pcsmc:VARCHAR, 派出所名称), (fjdm:VARCHAR, 分局代码), (fjmc:VARCHAR, 分局名称), (sjly:INT, 数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 10-一标三实同步), (sjjrsj:DATETIME, 数据接入时间), (is_delete:INT, 逻辑删除状态 0未删除 1已删除), (djsj:DATETIME, 登记时间), (djrid:VARCHAR, 登记人ID), (djrjh:VARCHAR, 登记人警号), (djrxm:VARCHAR, 登记人姓名), (gxsj:DATETIME, 更新时间), (gxrid:VARCHAR, 更新人ID), (gxrjh:VARCHAR, 更新人警号), (gxrxm:VARCHAR, 更新人姓名), (zxsj:DATETIME, 注销时间), (zxrid:VARCHAR, 注销人id), (zxrjh:VARCHAR, 注销人警号), (zxrxm:VARCHAR, 注销人姓名), (dqsj:DATETIME, 打签时间), ] # 表名: person_info (公安网3.0----静态人员信息表) [ (id:INT, 自增主键), (person_id:VARCHAR, 人员guid), (xm:VARCHAR, 姓名), (cym:VARCHAR, 曾用名), (zjlxdm:VARCHAR, 证件类型代码), (zjlxmc:VARCHAR, 证件类型名称), (zjhm:VARCHAR, 证件号码), (zjhm_sm:VARCHAR, 证件号码sm3), (xbdm:VARCHAR, 性别代码), (xbmc:VARCHAR, 性别名称), (mzdm:VARCHAR, 民族代码), (mzmc:VARCHAR, 民族名称), (csrq:DATE, 出生日期), (hjdzxz:VARCHAR, 户籍地详址), (hjszssqxdm:VARCHAR, 户籍地址省市区县代码), (hjszssqxmc:VARCHAR, 户籍所在省市区县名称), (lxdh:VARCHAR, 联系电话), (whcddm:VARCHAR, 文化程度代码), (whcdmc:VARCHAR, 文化程度名称), (hyzkdm:VARCHAR, 婚姻状况代码), (hyzkmc:VARCHAR, 婚姻状况名称), (zy:VARCHAR, 职业), (zylbdm:VARCHAR, 职业类别代码), (zylbmc:VARCHAR, 职业类别名称), (byzkdm:VARCHAR, 兵役状况代码), (byzkmc:VARCHAR, 兵役状况名称), (zzmmdm:VARCHAR, 政治面貌代码), (zzmmmc:VARCHAR, 政治面貌名称), (rysfbqdm:VARCHAR, 人员身份标签代码(重点人)), (rysfbqmc:VARCHAR, 人员身份标签名称(重点人)), (sfztry:INT, 是否在逃人员1是 0否), (remark:VARCHAR, 备注), (ywm:VARCHAR, 英文名), (qfjg:VARCHAR, 签发机关), (zjyxqx:VARCHAR, 证件有效期), (yx:VARCHAR, 邮箱), (gzdw:VARCHAR, 工作单位), (photo_url:VARCHAR, 照片路径), (rxtzxx:VARCHAR, 人像特征值信息), (sjly:INT, 数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 6-任务核查 10-一标三实同步), (sjjrsj:DATETIME, 数据接入时间), (dqsj:DATETIME, 打签时间), (sfxysh:CHAR, 是否需要审核,》一标三实), (create_time:DATETIME, 登记时间), (create_user_jh:VARCHAR, 登记人警号), (create_user:VARCHAR, 登记人), (update_time:DATETIME, 更新时间), (update_user_jh:VARCHAR, 更新人警号), (update_user:VARCHAR, 更新人姓名), (face_token:VARCHAR, 人脸照片特征码), (sfytbrlk:BIT, 是否已同步人脸库 0-未同步 1-已同步 2-同步中 9-图片识别失败), (tbrlk_time:DATETIME, 同步人脸库时间), ] ### 用户问题: 姓孙的人有几个, name=null, functionCall=null, reasoningContent=null, refusal=null)], conversationId=null, temperature=0.7, topP=null, maxTokens=2000, stream=false, stop=null, frequencyPenalty=null, presencePenalty=null, functions=null, functionCall=null, responseFormat=ResponseFormat(type=json_object, jsonSchema=null), user=null, ip=0:0:0:0:0:0:0:1, chatClient=null, extraParams={enable_thinking=false}) chatResponse: BladeChatResponse(id=0a56468a-ed38-412a-938d-cb1084bdea42, object=chat.completion, created=1773366026, model=deepseek-chat, choices=[ChatChoice(index=0, message=ChatMessage(role=assistant, content={ "success": true, "sql": "SELECT COUNT(`id`) AS personCount FROM `person_info` WHERE `xm` LIKE '孙%'", "tables": ["person_info"], "chart-type": "table" }, name=null, functionCall=null, reasoningContent=null, refusal=null), delta=null, finishReason=stop)], usage=ChatUsage(promptTokens=2585, completionTokens=53, totalTokens=2638), result=ChatResult(done=true, error=null), extra=null) bladeUser: BladeUser(clientId=bladexai, userId=1123598821738675201, account=admin, userName=admin, nickName=管理员, tenantId=000000, oauthId=, deptId=1123598813738675201, postId=1123598817738675201, roleId=1123598816738675201, roleName=administrator, detail={type=web}) 2026-03-13 09:40:30.409 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_user, create_dept, create_time , update_user, update_time, status, is_deleted) values (2032270544968941570, 'user', 'deepseek-chat', '### 数据库结构信息: 【数据库标识】 pasq 【数据库类型】 MySQL 【表结构】 # 表名: house_list (房屋静态数据表) [ (house_id:INT, 自增主键), (id:VARCHAR, 房屋编码guid), (dzbm:VARCHAR, 地址编码), (dzmc:VARCHAR, 地址名称), (dzmc_jc:VARCHAR, 地址名称简称), (fwlxdm:VARCHAR, 房屋类型代码), (fwlxmc:VARCHAR, 房屋类型名称), (fwxzdm:VARCHAR, 房屋性质代码), (fwxzmc:VARCHAR, 房屋性质名称), (fwytdm:VARCHAR, 房屋用途代码), (fwytmc:VARCHAR, 房屋用途名称), (zlztdm:VARCHAR, 租赁状态), (zlztmc:VARCHAR, 租赁状态名称), (fwjs:INT, 房屋间数), (fwmj:INT, 房屋面积), (fwcqh:VARCHAR, 房屋产权号), (fzxm:VARCHAR, 房主姓名), (fzzjlxdm:VARCHAR, 房主证件类型代码), (fzzjlxmc:VARCHAR, 房主证件类型名称), (fzgmsfzhm:VARCHAR, 房主公民身份号码), (fzgmsfzhm_sm:VARCHAR, 房主身份证号国密加密), (fzlxdh:VARCHAR, 房主联系电话), (fzsfbqdm:VARCHAR, 房主身份标签代码), (fzsfbqmc:VARCHAR, 房主身份标签名称), (jzrysl:INT, 居住人员数量), (remark:VARCHAR, 备注), (djptbm:VARCHAR, 对接平台编码,分局上报数据), (djptmc:VARCHAR, 对接平台名称), (xqdm:VARCHAR, 所属小区代码), (xqmc:VARCHAR, 所属小区名称), (pcsdm:VARCHAR, 派出所名称), (pcsmc:VARCHAR, 派出所名称), (fjdm:VARCHAR, 分局代码), (fjmc:VARCHAR, 分局名称), (sjly:INT, 数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 10-一标三实同步), (sjjrsj:DATETIME, 数据接入时间), (is_delete:INT, 逻辑删除状态 0未删除 1已删除), (djsj:DATETIME, 登记时间), (djrid:VARCHAR, 登记人ID), (djrjh:VARCHAR, 登记人警号), (djrxm:VARCHAR, 登记人姓名), (gxsj:DATETIME, 更新时间), (gxrid:VARCHAR, 更新人ID), (gxrjh:VARCHAR, 更新人警号), (gxrxm:VARCHAR, 更新人姓名), (zxsj:DATETIME, 注销时间), (zxrid:VARCHAR, 注销人id), (zxrjh:VARCHAR, 注销人警号), (zxrxm:VARCHAR, 注销人姓名), (dqsj:DATETIME, 打签时间), ] # 表名: person_info (公安网3.0----静态人员信息表) [ (id:INT, 自增主键), (person_id:VARCHAR, 人员guid), (xm:VARCHAR, 姓名), (cym:VARCHAR, 曾用名), (zjlxdm:VARCHAR, 证件类型代码), (zjlxmc:VARCHAR, 证件类型名称), (zjhm:VARCHAR, 证件号码), (zjhm_sm:VARCHAR, 证件号码sm3), (xbdm:VARCHAR, 性别代码), (xbmc:VARCHAR, 性别名称), (mzdm:VARCHAR, 民族代码), (mzmc:VARCHAR, 民族名称), (csrq:DATE, 出生日期), (hjdzxz:VARCHAR, 户籍地详址), (hjszssqxdm:VARCHAR, 户籍地址省市区县代码), (hjszssqxmc:VARCHAR, 户籍所在省市区县名称), (lxdh:VARCHAR, 联系电话), (whcddm:VARCHAR, 文化程度代码), (whcdmc:VARCHAR, 文化程度名称), (hyzkdm:VARCHAR, 婚姻状况代码), (hyzkmc:VARCHAR, 婚姻状况名称), (zy:VARCHAR, 职业), (zylbdm:VARCHAR, 职业类别代码), (zylbmc:VARCHAR, 职业类别名称), (byzkdm:VARCHAR, 兵役状况代码), (byzkmc:VARCHAR, 兵役状况名称), (zzmmdm:VARCHAR, 政治面貌代码), (zzmmmc:VARCHAR, 政治面貌名称), (rysfbqdm:VARCHAR, 人员身份标签代码(重点人)), (rysfbqmc:VARCHAR, 人员身份标签名称(重点人)), (sfztry:INT, 是否在逃人员1是 0否), (remark:VARCHAR, 备注), (ywm:VARCHAR, 英文名), (qfjg:VARCHAR, 签发机关), (zjyxqx:VARCHAR, 证件有效期), (yx:VARCHAR, 邮箱), (gzdw:VARCHAR, 工作单位), (photo_url:VARCHAR, 照片路径), (rxtzxx:VARCHAR, 人像特征值信息), (sjly:INT, 数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 6-任务核查 10-一标三实同步), (sjjrsj:DATETIME, 数据接入时间), (dqsj:DATETIME, 打签时间), (sfxysh:CHAR, 是否需要审核,》一标三实), (create_time:DATETIME, 登记时间), (create_user_jh:VARCHAR, 登记人警号), (create_user:VARCHAR, 登记人), (update_time:DATETIME, 更新时间), (update_user_jh:VARCHAR, 更新人警号), (update_user:VARCHAR, 更新人姓名), (face_token:VARCHAR, 人脸照片特征码), (sfytbrlk:BIT, 是否已同步人脸库 0-未同步 1-已同步 2-同步中 9-图片识别失败), (tbrlk_time:DATETIME, 同步人脸库时间), ] ### 用户问题: 姓孙的人有几个', 2585 , 0, 2585, 1123598821738675201, 1123598813738675201, TIMESTAMP '2026-03-13 09:40:30.339' , 1123598821738675201, TIMESTAMP '2026-03-13 09:40:30.339', 1, 0) Execute Time: 63.426ms ============== Sql End ============== 2026-03-13 09:40:30.470 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_user, create_dept, create_time , update_user, update_time, status, is_deleted) values (2032270545266737153, 'assistant', 'deepseek-chat', '{ "success": true, "sql": "SELECT COUNT(`id`) AS personCount FROM `person_info` WHERE `xm` LIKE ''孙%''", "tables": ["person_info"], "chart-type": "table" }', 0 , 53, 53, 1123598821738675201, 1123598813738675201, TIMESTAMP '2026-03-13 09:40:30.409' , 1123598821738675201, TIMESTAMP '2026-03-13 09:40:30.409', 1, 0) Execute Time: 54.369ms ============== Sql End ============== 2026-03-13 09:40:30.530 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_token (id, message_id, model, prompt_tokens, completion_tokens , total_tokens, amount, ip, create_user, create_dept , create_time, update_user, update_time, status, is_deleted) values (2032270545522589697, 2032270545266737153, 'deepseek-chat', 2585, 53 , 2638, 0.0263800000, '0:0:0:0:0:0:0:1', 1123598821738675201, 1123598813738675201 , TIMESTAMP '2026-03-13 09:40:30.470', 1123598821738675201, TIMESTAMP '2026-03-13 09:40:30.470', 1, 0) Execute Time: 53.124ms ============== Sql End ============== 2026-03-13 09:40:31.527 INFO 16624 --- [ XNIO-1 task-5] o.s.m.a.i.e.e.ChatCompletionExecutor : SuggestionExecutor - LLM响应: { "suggestions": ["使用柱状图展示不同房屋类型的数量分布", "用饼图呈现各派出所管辖房屋数量的占比情况", "分析居住人员数量与房屋面积的关系,使用散点图展示", "统计不同数据来源(平台录入、APP、对接等)的房屋数量,用条形图对比"] } 2026-03-13 09:40:31.527 INFO 16624 --- [ XNIO-1 task-5] o.s.m.a.i.e.executor.SuggestionExecutor : 建议生成 - 解析到4个建议 2026-03-13 09:40:31.527 INFO 16624 --- [ XNIO-1 task-5] o.s.m.a.i.e.s.i.IntelEngineServiceImpl : 建议生成完成 - count: 4 2026-03-13 09:40:31.527 INFO 16624 --- [ XNIO-1 task-5] o.s.core.log.aspect.RequestLogAspect : =============== Response Start ================ ===Result=== {"code":200,"success":true,"data":{"suggestions":["使用柱状图展示不同房屋类型的数量分布","用饼图呈现各派出所管辖房屋数量的占比情况","分析居住人员数量与房屋面积的关系,使用散点图展示","统计不同数据来源(平台录入、APP、对接等)的房屋数量,用条形图对比"]},"msg":"操作成功"} <=== POST: /blade-ai/data-intelligence/generate-suggestions (7150 ms) =============== Response End ================ 2026-03-13 09:40:31.541 ERROR 16624 --- [ XNIO-1 task-3] o.s.core.tool.jackson.JsonUtil : No content to map due to end-of-input at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1] com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1] at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:5008) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4910) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3860) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3828) at org.springblade.core.tool.jackson.JsonUtil.parse(JsonUtil.java:95) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.processTableConnections(IntelEngineServiceImpl.java:375) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.loadDatabaseSchema(IntelEngineServiceImpl.java:323) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.buildContext(IntelEngineServiceImpl.java:279) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:145) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:31.553 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志开始记录, 模型: deepseek-chat 2026-03-13 09:40:31.553 INFO 16624 --- [onPool-worker-6] o.s.m.a.l.e.process.BladeLlmLogRecorder : 聊天日志原始数据, chatLog -> chatRequest: BladeChatRequest(model=deepseek-chat, messages=[ChatMessage(role=system, content=### 语言要求:使用简体中文回答,直接返回JSON结果,不输出任何思考过程 ### 任务说明: 你是一位数据分析顾问,擅长根据数据库结构和业务场景推荐有价值的分析问题。 你的任务是基于数据库的表结构、用户的历史提问,智能推测用户可能感兴趣的数据分析问题。 ### 推测规则: #### 1. 问题质量要求 - 问题必须与提供的数据库表结构密切相关 - 问题应具有实际分析价值,能够产生有意义的洞察 - 问题应简洁明了,易于理解 - 避免过于简单的问题(如"查询所有数据") - 避免过于复杂或需要多层嵌套查询的问题 #### 2. 图表展示建议 - 如果问题适合可视化展示,应在问题中明确指出 - 支持的图表类型:表格、柱状图、条形图、折线图、饼图、散点图、雷达图、漏斗图 - 示例:"使用柱状图展示各部门的销售额对比"、"用折线图呈现近三个月的增长趋势" #### 3. 历史问题处理 当提供了历史问题列表时,需要综合考虑以下因素: - 深入分析用户的查询上下文和意图延续,准确把握用户的分析思路脉络 - 理解用户在历史问题中体现的关注点、数据维度偏好和分析模式 - 识别用户分析的阶段性特征(初探、深入、对比、总结等) - 推测的问题应该是历史问题的自然延伸,体现分析思路的连贯性 - 严格避免推荐与当前问题或历史问题完全重复的内容 - 可以从以下方向推测新问题: * 时间维度的延伸(如历史问题关注本月,可推荐上月、季度、年度对比) * 数据粒度的深入(如历史问题看总体,可推荐细分类别、区域等) * 不同角度的对比分析(如历史问题看数量,可推荐金额、占比、增长率等) * 相关联指标的横向拓展(如历史问题看销售,可推荐库存、成本、利润等) - 充分利用历史问题中的业务场景、筛选条件、聚合维度等信息作为推测依据 - 保持推荐问题与用户分析意图的高度契合,确保推荐的问题具有实际分析价值 #### 4. 数据库特征分析 - 识别表中的关键字段(时间、金额、数量、状态等) - 发现表之间可能的关联关系 - 关注具有统计意义的字段组合 - 优先推荐能产生有价值洞察的问题 #### 5. 推测策略 - 首次访问:根据表结构推测最常见、最有价值的分析需求 - 继续提问:结合历史问题,推测用户可能的下一步分析方向 - 多维分析:从不同维度(时间、地域、类别等)推测问题 - 对比分析:推测可能的对比分析需求 ### 响应格式: 必须严格按照以下JSON对象格式返回,包含1-4个推测问题: ```json { "suggestions": ["推测问题1", "推测问题2", "推测问题3", "推测问题4"] } ``` 如果无法推测合适的问题,返回空数组: ```json { "suggestions": [] } ``` ### 响应要求: - 严格禁止输出思考过程、分析步骤或任何解释文字 - 直接返回符合规范的JSON对象 - suggestions 字段必须是数组类型 - 问题数量为1到4个之间 - 每个问题独立成句,表述完整 - 问题之间不要有重复或高度相似 - 如果问题涉及图表,使用"使用XX图"或"用XX图"开头 ### 开始任务: 请根据以下数据库信息和历史记录推测用户可能感兴趣的问题。 , name=null, functionCall=null, reasoningContent=null, refusal=null), ChatMessage(role=user, content=### 数据库结构信息: 【数据库】 pasq 【表结构】 - house_list: 房屋静态数据表 字段:house_id(自增主键), id(房屋编码guid), dzbm(地址编码), dzmc(地址名称), dzmc_jc(地址名称简称), fwlxdm(房屋类型代码), fwlxmc(房屋类型名称), fwxzdm(房屋性质代码), fwxzmc(房屋性质名称), fwytdm(房屋用途代码), fwytmc(房屋用途名称), zlztdm(租赁状态), zlztmc(租赁状态名称), fwjs(房屋间数), fwmj(房屋面积), fwcqh(房屋产权号), fzxm(房主姓名), fzzjlxdm(房主证件类型代码), fzzjlxmc(房主证件类型名称), fzgmsfzhm(房主公民身份号码), fzgmsfzhm_sm(房主身份证号国密加密), fzlxdh(房主联系电话), fzsfbqdm(房主身份标签代码), fzsfbqmc(房主身份标签名称), jzrysl(居住人员数量), remark(备注), djptbm(对接平台编码,分局上报数据), djptmc(对接平台名称), xqdm(所属小区代码), xqmc(所属小区名称), pcsdm(派出所名称), pcsmc(派出所名称), fjdm(分局代码), fjmc(分局名称), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 10-一标三实同步), sjjrsj(数据接入时间), is_delete(逻辑删除状态 0未删除 1已删除), djsj(登记时间), djrid(登记人ID), djrjh(登记人警号), djrxm(登记人姓名), gxsj(更新时间), gxrid(更新人ID), gxrjh(更新人警号), gxrxm(更新人姓名), zxsj(注销时间), zxrid(注销人id), zxrjh(注销人警号), zxrxm(注销人姓名), dqsj(打签时间) - person_info: 公安网3.0----静态人员信息表 字段:id(自增主键), person_id(人员guid), xm(姓名), cym(曾用名), zjlxdm(证件类型代码), zjlxmc(证件类型名称), zjhm(证件号码), zjhm_sm(证件号码sm3), xbdm(性别代码), xbmc(性别名称), mzdm(民族代码), mzmc(民族名称), csrq(出生日期), hjdzxz(户籍地详址), hjszssqxdm(户籍地址省市区县代码), hjszssqxmc(户籍所在省市区县名称), lxdh(联系电话), whcddm(文化程度代码), whcdmc(文化程度名称), hyzkdm(婚姻状况代码), hyzkmc(婚姻状况名称), zy(职业), zylbdm(职业类别代码), zylbmc(职业类别名称), byzkdm(兵役状况代码), byzkmc(兵役状况名称), zzmmdm(政治面貌代码), zzmmmc(政治面貌名称), rysfbqdm(人员身份标签代码(重点人)), rysfbqmc(人员身份标签名称(重点人)), sfztry(是否在逃人员1是 0否), remark(备注), ywm(英文名), qfjg(签发机关), zjyxqx(证件有效期), yx(邮箱), gzdw(工作单位), photo_url(照片路径), rxtzxx(人像特征值信息), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 6-任务核查 10-一标三实同步), sjjrsj(数据接入时间), dqsj(打签时间), sfxysh(是否需要审核,》一标三实), create_time(登记时间), create_user_jh(登记人警号), create_user(登记人), update_time(更新时间), update_user_jh(更新人警号), update_user(更新人姓名), face_token(人脸照片特征码), sfytbrlk(是否已同步人脸库 0-未同步 1-已同步 2-同步中 9-图片识别失败), tbrlk_time(同步人脸库时间) ### 当前用户问题: 姓孙的人有几个 (推测的问题不要与此问题重复), name=null, functionCall=null, reasoningContent=null, refusal=null)], conversationId=null, temperature=0.7, topP=null, maxTokens=2000, stream=false, stop=null, frequencyPenalty=null, presencePenalty=null, functions=null, functionCall=null, responseFormat=ResponseFormat(type=json_object, jsonSchema=null), user=null, ip=0:0:0:0:0:0:0:1, chatClient=null, extraParams={enable_thinking=false}) chatResponse: BladeChatResponse(id=afb30417-1652-4ebe-965e-e09fc33456bd, object=chat.completion, created=1773366026, model=deepseek-chat, choices=[ChatChoice(index=0, message=ChatMessage(role=assistant, content={ "suggestions": ["使用柱状图展示不同房屋类型的数量分布", "用饼图呈现各派出所管辖房屋数量的占比情况", "分析居住人员数量与房屋面积的关系,使用散点图展示", "统计不同数据来源(平台录入、APP、对接等)的房屋数量,用条形图对比"] }, name=null, functionCall=null, reasoningContent=null, refusal=null), delta=null, finishReason=stop)], usage=ChatUsage(promptTokens=1830, completionTokens=72, totalTokens=1902), result=ChatResult(done=true, error=null), extra=null) bladeUser: BladeUser(clientId=bladexai, userId=1123598821738675201, account=admin, userName=admin, nickName=管理员, tenantId=000000, oauthId=, deptId=1123598813738675201, postId=1123598817738675201, roleId=1123598816738675201, roleName=administrator, detail={type=web}) 2026-03-13 09:40:31.607 INFO 16624 --- [ XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : select id, db_id, sql_description, sql_template, remark , tenant_id, create_user, create_dept, create_time, update_user , update_time, status, is_deleted from blade_ai_db_template where is_deleted = 0 and db_id = 2031905367211696130 and status = 1 and is_deleted = 0 order by create_time desc Execute Time: 27.736ms ============== Sql End ============== 2026-03-13 09:40:31.608 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.e.SqlExecutionExecutor : 开始执行SQL查询 - dbId: 2031905367211696130, sql: SELECT COUNT(`id`) AS personCount FROM `person_info` WHERE `xm` LIKE '孙%' 2026-03-13 09:40:31.623 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_user, create_dept, create_time , update_user, update_time, status, is_deleted) values (2032270550065020930, 'user', 'deepseek-chat', '### 数据库结构信息: 【数据库】 pasq 【表结构】 - house_list: 房屋静态数据表 字段:house_id(自增主键), id(房屋编码guid), dzbm(地址编码), dzmc(地址名称), dzmc_jc(地址名称简称), fwlxdm(房屋类型代码), fwlxmc(房屋类型名称), fwxzdm(房屋性质代码), fwxzmc(房屋性质名称), fwytdm(房屋用途代码), fwytmc(房屋用途名称), zlztdm(租赁状态), zlztmc(租赁状态名称), fwjs(房屋间数), fwmj(房屋面积), fwcqh(房屋产权号), fzxm(房主姓名), fzzjlxdm(房主证件类型代码), fzzjlxmc(房主证件类型名称), fzgmsfzhm(房主公民身份号码), fzgmsfzhm_sm(房主身份证号国密加密), fzlxdh(房主联系电话), fzsfbqdm(房主身份标签代码), fzsfbqmc(房主身份标签名称), jzrysl(居住人员数量), remark(备注), djptbm(对接平台编码,分局上报数据), djptmc(对接平台名称), xqdm(所属小区代码), xqmc(所属小区名称), pcsdm(派出所名称), pcsmc(派出所名称), fjdm(分局代码), fjmc(分局名称), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 10-一标三实同步), sjjrsj(数据接入时间), is_delete(逻辑删除状态 0未删除 1已删除), djsj(登记时间), djrid(登记人ID), djrjh(登记人警号), djrxm(登记人姓名), gxsj(更新时间), gxrid(更新人ID), gxrjh(更新人警号), gxrxm(更新人姓名), zxsj(注销时间), zxrid(注销人id), zxrjh(注销人警号), zxrxm(注销人姓名), dqsj(打签时间) - person_info: 公安网3.0----静态人员信息表 字段:id(自增主键), person_id(人员guid), xm(姓名), cym(曾用名), zjlxdm(证件类型代码), zjlxmc(证件类型名称), zjhm(证件号码), zjhm_sm(证件号码sm3), xbdm(性别代码), xbmc(性别名称), mzdm(民族代码), mzmc(民族名称), csrq(出生日期), hjdzxz(户籍地详址), hjszssqxdm(户籍地址省市区县代码), hjszssqxmc(户籍所在省市区县名称), lxdh(联系电话), whcddm(文化程度代码), whcdmc(文化程度名称), hyzkdm(婚姻状况代码), hyzkmc(婚姻状况名称), zy(职业), zylbdm(职业类别代码), zylbmc(职业类别名称), byzkdm(兵役状况代码), byzkmc(兵役状况名称), zzmmdm(政治面貌代码), zzmmmc(政治面貌名称), rysfbqdm(人员身份标签代码(重点人)), rysfbqmc(人员身份标签名称(重点人)), sfztry(是否在逃人员1是 0否), remark(备注), ywm(英文名), qfjg(签发机关), zjyxqx(证件有效期), yx(邮箱), gzdw(工作单位), photo_url(照片路径), rxtzxx(人像特征值信息), sjly(数据来源 1-平台录入 2-APP 3-对接 4-导入 5-基础信息采集 6-任务核查 10-一标三实同步), sjjrsj(数据接入时间), dqsj(打签时间), sfxysh(是否需要审核,》一标三实), create_time(登记时间), create_user_jh(登记人警号), create_user(登记人), update_time(更新时间), update_user_jh(更新人警号), update_user(更新人姓名), face_token(人脸照片特征码), sfytbrlk(是否已同步人脸库 0-未同步 1-已同步 2-同步中 9-图片识别失败), tbrlk_time(同步人脸库时间) ### 当前用户问题: 姓孙的人有几个 (推测的问题不要与此问题重复)', 1830 , 0, 1830, 1123598821738675201, 1123598813738675201, TIMESTAMP '2026-03-13 09:40:31.553' , 1123598821738675201, TIMESTAMP '2026-03-13 09:40:31.553', 1, 0) Execute Time: 62.909ms ============== Sql End ============== 2026-03-13 09:40:31.682 INFO 16624 --- [ XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : select count(`id`) as personCount from `person_info` where `xm` like '孙%' Execute Time: 35.346ms ============== Sql End ============== 2026-03-13 09:40:31.682 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_message (id, role, model, content, prompt_tokens , completion_tokens, total_tokens, create_user, create_dept, create_time , update_user, update_time, status, is_deleted) values (2032270550358622209, 'assistant', 'deepseek-chat', '{ "suggestions": ["使用柱状图展示不同房屋类型的数量分布", "用饼图呈现各派出所管辖房屋数量的占比情况", "分析居住人员数量与房屋面积的关系,使用散点图展示", "统计不同数据来源(平台录入、APP、对接等)的房屋数量,用条形图对比"] }', 0 , 72, 72, 1123598821738675201, 1123598813738675201, TIMESTAMP '2026-03-13 09:40:31.623' , 1123598821738675201, TIMESTAMP '2026-03-13 09:40:31.623', 1, 0) Execute Time: 53.376ms ============== Sql End ============== 2026-03-13 09:40:31.683 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.e.SqlExecutionExecutor : SQL执行成功 - 返回1行数据, 耗时75ms 2026-03-13 09:40:31.711 INFO 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.e.ChatCompletionExecutor : VisualizationExecutor - 调用LLM: modelName=deepseek-chat, temperature=0.7, maxTokens=2000, hasResponseFormat=true 2026-03-13 09:40:31.745 INFO 16624 --- [onPool-worker-6] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_ai_llm_token (id, message_id, model, prompt_tokens, completion_tokens , total_tokens, amount, ip, create_user, create_dept , create_time, update_user, update_time, status, is_deleted) values (2032270550606086146, 2032270550358622209, 'deepseek-chat', 1830, 72 , 1902, 0.0190200000, '0:0:0:0:0:0:0:1', 1123598821738675201, 1123598813738675201 , TIMESTAMP '2026-03-13 09:40:31.683', 1123598821738675201, TIMESTAMP '2026-03-13 09:40:31.683', 1, 0) Execute Time: 55.262ms ============== Sql End ============== 2026-03-13 09:40:31.751 ERROR 16624 --- [ XNIO-1 task-3] o.s.m.a.l.e.p.AbstractLlmTemplate : DeepSeek API调用异常: org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:103) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:186) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:147) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:953) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:902) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:801) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:683) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.doChatRequest(AbstractLlmTemplate.java:153) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.lambda$chat$0(AbstractLlmTemplate.java:128) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:357) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:230) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.chat(AbstractLlmTemplate.java:126) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl.chat(ChatServiceImpl.java:94) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:724) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl$$SpringCGLIB$$0.chat() at org.springblade.modules.aigc.intel.engine.executor.ChatCompletionExecutor.execute(ChatCompletionExecutor.java:126) at org.springblade.modules.aigc.intel.engine.executor.VisualizationExecutor.execute(VisualizationExecutor.java:60) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:156) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:32.799 ERROR 16624 --- [ XNIO-1 task-3] o.s.m.a.l.e.p.AbstractLlmTemplate : DeepSeek API调用异常: org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:103) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:186) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:147) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:953) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:902) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:801) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:683) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.doChatRequest(AbstractLlmTemplate.java:153) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.lambda$chat$0(AbstractLlmTemplate.java:128) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:357) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:230) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.chat(AbstractLlmTemplate.java:126) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl.chat(ChatServiceImpl.java:94) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:724) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl$$SpringCGLIB$$0.chat() at org.springblade.modules.aigc.intel.engine.executor.ChatCompletionExecutor.execute(ChatCompletionExecutor.java:126) at org.springblade.modules.aigc.intel.engine.executor.VisualizationExecutor.execute(VisualizationExecutor.java:60) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:156) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:34.845 ERROR 16624 --- [ XNIO-1 task-3] o.s.m.a.l.e.p.AbstractLlmTemplate : DeepSeek API调用异常: org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:103) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:186) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:147) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:953) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:902) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:801) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:683) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.doChatRequest(AbstractLlmTemplate.java:153) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.lambda$chat$0(AbstractLlmTemplate.java:128) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:357) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:230) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.chat(AbstractLlmTemplate.java:126) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl.chat(ChatServiceImpl.java:94) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:724) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl$$SpringCGLIB$$0.chat() at org.springblade.modules.aigc.intel.engine.executor.ChatCompletionExecutor.execute(ChatCompletionExecutor.java:126) at org.springblade.modules.aigc.intel.engine.executor.VisualizationExecutor.execute(VisualizationExecutor.java:60) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:156) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:34.845 ERROR 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.e.ChatCompletionExecutor : VisualizationExecutor - 执行失败 org.springblade.modules.aigc.llm.engine.exception.LlmException: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}" at org.springblade.modules.aigc.llm.engine.exception.LlmException.apiError(LlmException.java:71) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.doChatRequest(AbstractLlmTemplate.java:170) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.lambda$chat$0(AbstractLlmTemplate.java:128) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:357) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:230) at org.springblade.modules.aigc.llm.engine.provider.AbstractLlmTemplate.chat(AbstractLlmTemplate.java:126) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl.chat(ChatServiceImpl.java:94) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:724) at org.springblade.modules.aigc.llm.engine.service.impl.ChatServiceImpl$$SpringCGLIB$$0.chat() at org.springblade.modules.aigc.intel.engine.executor.ChatCompletionExecutor.execute(ChatCompletionExecutor.java:126) at org.springblade.modules.aigc.intel.engine.executor.VisualizationExecutor.execute(VisualizationExecutor.java:60) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:156) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:34.846 ERROR 16624 --- [ XNIO-1 task-3] o.s.m.a.i.e.s.i.IntelEngineServiceImpl : 可视化配置生成失败 org.springblade.modules.aigc.intel.engine.exception.BladeIntelException: 大模型调用失败: LLM调用失败: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}" at org.springblade.modules.aigc.intel.engine.exception.BladeIntelException.llmError(BladeIntelException.java:124) at org.springblade.modules.aigc.intel.engine.executor.ChatCompletionExecutor.execute(ChatCompletionExecutor.java:141) at org.springblade.modules.aigc.intel.engine.executor.VisualizationExecutor.execute(VisualizationExecutor.java:60) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:156) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:34.846 INFO 16624 --- [ XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect : =============== Response Start ================ <=== POST: /blade-ai/data-intelligence/visualize-data (4522 ms) =============== Response End ================ 2026-03-13 09:40:34.848 ERROR 16624 --- [ XNIO-1 task-3] o.s.c.l.e.BladeRestExceptionTranslator : 服务器异常 org.springblade.modules.aigc.intel.engine.exception.BladeIntelException: 大模型调用失败: LLM调用失败: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}" at org.springblade.modules.aigc.intel.engine.exception.BladeIntelException.llmError(BladeIntelException.java:124) at org.springblade.modules.aigc.intel.engine.executor.ChatCompletionExecutor.execute(ChatCompletionExecutor.java:141) at org.springblade.modules.aigc.intel.engine.executor.VisualizationExecutor.execute(VisualizationExecutor.java:60) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:156) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) 2026-03-13 09:40:34.950 INFO 16624 --- [ XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor : ============== Sql Start ============== Execute SQL : insert into blade_log_error (id, stack_trace, exception_name, message, file_name , line_number, tenant_id, service_id, server_ip, server_host , env, remote_ip, user_agent, request_uri, method , method_class, method_name, params, create_by, create_time) values (2032270563885252610, 'org.springblade.modules.aigc.intel.engine.exception.BladeIntelException: 大模型调用失败: LLM调用失败: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}" at org.springblade.modules.aigc.intel.engine.exception.BladeIntelException.llmError(BladeIntelException.java:124) at org.springblade.modules.aigc.intel.engine.executor.ChatCompletionExecutor.execute(ChatCompletionExecutor.java:141) at org.springblade.modules.aigc.intel.engine.executor.VisualizationExecutor.execute(VisualizationExecutor.java:60) at org.springblade.modules.aigc.intel.engine.service.impl.IntelEngineServiceImpl.visualizeData(IntelEngineServiceImpl.java:156) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController.visualizeData(AiDataIntelligenceEngineController.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128) at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at org.springblade.modules.aigc.intel.business.controller.AiDataIntelligenceEngineController$$SpringCGLIB$$0.visualizeData() at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142) at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:900) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Thread.java:842) ', 'org.springblade.modules.aigc.intel.engine.exception.BladeIntelException', '大模型调用失败: LLM调用失败: 400 Bad Request on POST request for "https://api.deepseek.com/v1/chat/completions": "{"error":{"message":"This response_format type is unavailable now","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}"', 'BladeIntelException.java' , 124, '000000', 'blade-ai', '192.168.3.70:80', 'DESKTOP-OII0AC3' , 'dev', '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36', '/blade-ai/data-intelligence/visualize-data', 'POST' , 'org.springblade.modules.aigc.intel.engine.exception.BladeIntelException', 'llmError', '{"intelligenceId":"2031978098888335362","sql":"oxo3tXVyJ05K/dt4NyYEPS0HauliH6m/3i8GYuZrep3JSx3Y+X2FtBOEcCG2aNd1SPWqQAJrO8s0EahRpkH5bdBuO+VLJL9C4qM6EsMVRL0=","question":"姓孙的人有几个","chartType":"table"}', 'admin', TIMESTAMP '2026-03-13 09:40:34.849') Execute Time: 92.089ms ============== Sql End ==============