扣子平台支持结构化数据库与非结构化知识库的混合检索。需确保数据库启用多用户模式并授权,知识库pdf完成ocr处理且文件名无特殊符号;bot提示词须强调“按顺序执行”逻辑,并返回严格json格式结果。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在扣子平台中同时检索结构化数据库里的用户档案和非结构化知识库中的合同扫描件,让一次提问就能跨类型命中答案——比如“查张伟去年签的那份含‘不可抗力’条款的采购合同”。
准备结构化与非结构化数据源
先确保两类数据已就位:结构化数据存入扣子数据库表(如users、contracts),字段名用英文小写、无空格;非结构化文件上传至知识库,【文件名不能含中文括号、斜杠、星号等特殊符号】,否则后续联合检索时无法关联路径。
上传PDF合同后,点击“立即处理”,等右上角出现绿色对勾图标再进行下一步——未完成OCR切片的知识库条目不会参与检索。
数据库表需启用“多用户模式”或设置对应Bot的读取权限,否则Bot调用时会因权限不足返回空结果。
配置混合检索Bot
新建Bot → 选择“自定义Bot” → 在提示词区粘贴以下指令:
你是一个混合检索助手。用户问题可能涉及结构化数据(数据库)或非结构化数据(知识库)。请按顺序执行:①识别问题是否含明确数据库字段(如“用户ID”“签约日期”),若有则优先查数据库;②若含条款关键词(如“违约责任”“保密期”)、文件特征(如“扫描件”“盖章页”)或未指明结构,则触发知识库全文检索;③将两类结果统一整合为JSON,字段为:db_result(数组,每项含id、name、date)、kb_result(数组,每项含title、page_num、snippet);④不输出任何解释性文字,只返回纯JSON。
这一步漏掉“按顺序执行”会导致Bot随机选择路径,有时跳过数据库直查知识库,错过精确匹配的结构化记录。
构造可联动的查询语句
方法一:自然语言提问 → 直接输入“张伟在2025年6月签的采购合同里有没有不可抗力条款” → Bot自动拆解为:数据库查users表找张伟ID → 关联contracts表筛选2025-06签约记录 → 提取合同编号 → 知识库中用该编号+“不可抗力”做二次检索。
方法二:带标识符的精准触发 → 输入“【DB】SELECT * FROM contracts WHERE buyer_name = '张伟' AND sign_date LIKE '2025-06%'” → Bot强制走数据库路径,返回原始行数据;输入“【KB】不可抗力 条款 采购合同” → 强制走知识库全文检索,返回匹配段落及页码。
【必须用【DB】或【KB】开头才能绕过自动判断逻辑,否则Bot可能误判检索路径】
验证联合结果的字段一致性
第一步:检查返回JSON中db_result和kb_result是否均为数组格式,空结果也需保留[]而非null——下游系统解析时会因类型不一致报错。
第二步:比对db_result里的contract_id字段值,是否能在kb_result的title字段中找到完全一致的字符串(如“采购合同_20250618_v2.pdf”)。
第三步:打开知识库对应文件,定位kb_result给出的page_num页,确认snippet中确实包含“不可抗力”原文——若页面偏移±1页,说明OCR切片错位,需重新上传该PDF并等待绿色对勾再次出现。











