当前位置: 首页 > news >正文

金融监管制度问答助手项目学习笔记(三)----RAFT微调

1、数据集制作

基于 RAG 生成的回答和上下文,构造一个可用于 SFT(Supervised Fine-Tuning)微调的训练数据集


一、读取预测和原始数据

predictA = open('./testB-8446.json','r').readlines()
print(len(predictA))
data = open('./testB.json','r').readlines()
sft_data = open('./testB_ditll_qwen_answer.json','w')
  • predictA:RAG 模型已经生成的预测结果,每行是一个 JSON,包含 contextanswer

  • data:原始测试集,每行是一个 JSON,包含 category, question, content

  • sft_data:写入的微调数据集文件,最终每行是一个 JSON,包括模型输入(question)和输出(answer)

原始数据:

{"id":0,"category":"选择题","question":"登记机构应当在收到产品登记材料后多长时间内出具结果?","content":"   A. 3个工作日\n   B. 5个工作日\n   C. 7个自然日\n   D. 10个工作日"}
{"id":1,"category":"选择题","question":"在金融统计的工作中,统计人员的岗位变动需要在多少个工作日内完成报备?","content":"   A. 3日  \n   B. 5日  \n   C. 7日  \n   D. 10日  "}
{"id":2,"category":"选择题","question":"如果主办企业未能按时开立国内资金主账户,备案通知书何时自动失效?","content":"   A. 备案提交后半年  \n   B. 颁发满一年当日  \n   C. 首次业务办理失败次日  \n   D. 合作银行提出异议后一周  "}
{"id":3,"category":"选择题","question":"下列哪些属于异地经营性非持牌机构的典型特征?","content":"   A. 区域审批中心的日常运作  \n   B. 事业部下属的分部实际开展市场营销  \n   C. 软件研发中心的技术支持活动  \n   D. 驻外办事处的信贷合同签署  "}
{"id":4,"category":"问答题","question":"如果投资者已经在银行间市场有债券账户,还能否通过柜台另开账户?","content":null}

预测数据:

{"id": 0, "answer": ["B"], "context": ["|知识点1|主要包括:一是明确产品登记流程。明确资产支持计划实行初次申报核准、后续登记制度,首单产品由银保监会核准,后续产品由保险资产管理机构设立,并向中保保险资产登记交易系统有限公司进行登记。保险私募基金由保险资产管理机构下属机构设立,并向中国保险资产管理业协会进行登记。二是严格登记时限要求。要求登记机构收到产品登记材料之日起5个工作日内出具登记结果。三是压实机构登记职责。要求保险资产管理机构承担设立产品的合规风控主体责任,强化产品登记内部控制、质量管理和信息安全保护。要求登记机构对产品登记材料完备性、合规性进行查验,加强产品登记工作管理和质量把关。完善登记系统建设,加强登记信息运用。四是提出相关监管要求。明确产品登记制改革后,仍由银保监会对产品实施监管,并加强对登记机构的工作指导和监督,发现未按规定和程序履行相应职责的,将依法采取监管措施,不断完善事中事后监管手段。\n五、《通知》发布后,如何加强事中事后监管?", "|知识点2|771--中国银保监会办公厅关于资产支持计划和保险私募基金登记有关事项的通知 \n银保监办发〔2021〕103号\n各保险资产管理机构:\n为持续深入落实国务院“放管服”工作部署,进一步深化保险资金运用市场化改革,提高服务实体经济质效,银保监会决定将资产支持计划和保险私募基金由注册制改为登记制。现就有关事项通知如下:\n一、保险资产管理机构发起设立资产支持计划,实行初次申报核准、后续产品登记。初次申报核准由银保监会依据相关规定办理,后续产品登记由中保保险资产登记交易系统有限公司依据监管规定和登记规则办理。\n二、保险资产管理机构的下属机构发起设立保险私募基金,由中国保险资产管理业协会依据监管规定和登记规则办理登记。\n三、中保保险资产登记交易系统有限公司和中国保险资产管理业协会(以下统称登记机构)应当于保险资产管理机构或其下属机构提交资产支持计划或保险私募基金(以下统称产品)登记材料之日起5个工作日内出具登记结果。", "|知识点3|《债权投资计划实施细则》共十八条,主要内容包括:一是明确登记时限。保险资产管理机构应于产品发行前5个工作日进行登记。二是统一基础设施和非基础设施类不动产债权投资计划的资质条件及业务管理要求。三是适当拓宽债权投资计划资金用途。明确在还款保障措施完善的前提下,基础设施债权投资计划可以使用不超过40%的募集资金用于补充融资主体营运资金,满足更多实体企业特别是制造业融资需求。四是完善信用增级等交易结构。明确保证担保的条件,取消产品发行规模和担保人净资产挂钩的要求。五是完善风险管理机制。一方面指导注册机构持续做好相关工作,完善风险监测机制;另一方面压实受托人职责,要求其持续加强对融资主体资质和项目运营情况的评估。\n(三)《股权投资计划实施细则》主要内容。《股权投资计划实施细则》共十七条,主要内容包括:一是明确登记时限。保险资产管理机构应于产品发行前5个工作日进行登记。", "|知识点4|第八条  保险资产管理机构设立债权投资计划,应当开展尽职调查和可行性研究,科学设定交易结构,充分评估相关风险,严格履行各项程序,独立开展评审和决策,并聘请具备相应资质的专业服务机构对设立债权投资计划的合法合规性、信用级别等作出明确判断和结论。\n第九条  保险资产管理机构应当于债权投资计划发行前5个工作日在中国保险资产管理业协会等银保监会认可的注册机构(以下简称注册机构)进行产品登记。保险资产管理机构应当按照监管规定以及登记要求报送登记材料,报送的登记材料应当真实、完备、规范。\n注册机构仅对登记材料的完备性和合规性进行查验,不对产品的投资价值和风险作实质性判断。\n注册机构应当按照监管规定和经备案的登记规则办理债权投资计划登记工作,建立风险监测和报告机制,并接受银保监会的业务指导和监督。", "|知识点5|二、各银行业金融机构专门面向机构客户和私人银行客户发行的专属理财产品,须在理财产品发行结束后5个工作日内完成发行登记并上传产品说明书,在理财系统上登记的产品将获得系统自动赋予的具有唯一性的登记编码;产品终止后7个工作日内完成终止登记。未能及时按照以上要求进行产品登记的银行业金融机构,将不再提供数据补录,并按没有上报处理。\n三、各银行业金融机构应高度重视理财产品电子化报告和信息登记工作,根据相关监管要求加强自我检查,及时整改存在的问题。尚未完成与中央结算公司专线直接联网和理财产品(包括一般个人理财产品、私人银行和机构客户专属理财产品)历史数据信息补录工作的银行业金融机构,务必于2013年9月30日前完成上述两项工作。\n四、各银行业金融机构须补录的理财产品历史数据包括于2011年1月1日起成功发行,以及在2011年1月1日前发行且目前尚未到期结束的面向一般个人客户、私人银行客户和机构客户发行的所有理财产品。", "|知识点6|保险资金投资的股权投资计划,其投资运作还应当符合保险资金运用的相关规定。\n第五条  股权投资计划投资基金的,基金的分级比例(优先级份额/劣后级份额,中间级份额计入优先级份额)不得超过1:1;股权投资计划所投金额不得超过该基金当前实际募集金额的80%。股权投资计划投资于未上市企业股权等权益类资产的比例不低于80%。\n股权投资计划不得投资劣后级基金份额。分级股权投资计划不得投资分级的基金。\n第六条  股权投资计划应当为封闭式产品,并在投资合同、募集说明书等法律文件中对标的资产的退出机制作出相应安排。标的资产的退出日不得晚于股权投资计划的到期日。\n第七条  保险资产管理机构应当于股权投资计划发行前5个工作日在中国保险资产管理业协会等银保监会认可的注册机构(以下简称注册机构)进行产品登记。保险资产管理机构应当按照监管规定以及登记要求报送登记材料,报送的登记材料应当真实、完备、规范。", "|知识点7|第八条  保险资产管理机构应当于组合类产品设立前2个工作日在中保保险资产登记交易系统有限公司等银保监会认可的资产登记交易平台(以下简称登记交易平台)进行产品登记,取得登记编码。\n登记交易平台仅对登记材料的完备性和合规性进行查验,不对产品的投资价值和风险作实质性判断。\n第九条  保险资产管理机构应当按月向登记交易平台报送组合类产品的基本信息、投资明细、产品资产负债表和投资者信息,并按要求定期报送产品募集信息、分红信息、终止信息、风险准备金计提和使用情况等。\n第十条  保险资产管理机构应当于每年4月30日前向银保监会提交上一年度组合类产品业务管理报告,内容包括产品规模与投资明细、发行与清算、收益分配、费用收支、投资经理履职及任免、公平交易制度执行和异常交易行为等情况。", "|知识点8|七、银行业金融机构面向一般个人发行的理财产品,其总行应当在理财产品销售前10个工作日,通过系统向中国银监会或属地银监局进行电子化报告(外国银行分行参照执行)。报告材料同《商业银行理财产品销售管理办法》第六十九条的相关要求。\n八、理财产品电子化报告与纸质化报告同时进行。完全符合电子化报告要求的银行业金融机构,经中国银监会或属地银监局同意后,可以取消纸质报告。\n九、银行业金融机构应按照理财系统的内容和格式,逐只报告理财产品,确保每只理财产品的报告文件内容齐全、分类清楚、信息准确。\n十、自本通知印发之日起,监管部门或属地银监局可通过理财系统审阅银行业金融机构于理财产品发售前10日提交的报告文件。\n十一、银行业金融机构应根据理财系统填报要求,及时完成理财产品相关要素的注册、登记和更新。\n十二、银行业金融机构应定期进行理财业务从业人员的信息登记,并认真做好登记信息的动态维护。", "|知识点9|第十条 信托机构应当在集合资金信托计划发行日五个工作日前或者在单一资金信托和财产权信托成立日两个工作日前申请办理信托产品预登记(简称信托预登记),并在信托登记公司取得唯一产品编码。\n申请办理信托预登记的,应当提交下列文件:\n(一)信托预登记申请书,包括信托产品名称、信托类别、拟发行或者成立时间、预计存续期限、拟发行或者成立信托规模、信托财产来源、信托财产管理或者运用方向和方式、交易对手、交易结构、风险提示、风控措施、清算方式、异地推介信息、关联交易信息、保管人信息等内容;\n(二)法律、行政法规、国务院银行业监督管理机构要求的其他文件。\n信托产品在信托预登记后六个月内未成立或者未生效的,或者信托机构未按照本办法办理信托初始登记的,信托机构已办理的信托预登记自动注销,无需办理终止登记。\n信托机构办理信托预登记后,信托登记信息发生重大变动的,应当重新申请办理信托预登记。", "|知识点10|信托登记公司与信托机构应当建立专用网络,实现系统对接,确保信托登记信息和相关文件报送安全、高效。\n第十八条 信托机构提交的登记申请文件齐全且符合规定的形式要求的,信托登记公司在收到登记申请文件时应当出具受理凭证,该受理凭证的出具日为受理日。\n信托机构提交的登记申请文件不齐全或者不符合规定的形式要求的,信托登记公司应当书面告知补正要求,并在收到完整的登记申请文件时出具受理凭证,该受理凭证的出具日为受理日。\n第十九条 信托登记公司对信托机构提供的信托登记信息及相关文件进行形式审查。\n信托登记和本办法第三十八条规定的信息公示不构成对信托产品持续合规情况、投资价值及投资风险的判断或者保证。\n第二十条 对于符合登记条件的,信托登记公司应当自受理之日起两个工作日内完成审查,并准予办理信托登记。对于不符合登记条件的,信托登记公司应当自收到登记申请文件之日起两个工作日内一次性告知信托机构需要补正的全部内容,并自收到完整补正材料之日起两个工作日内完成审查。"]}
{"id": 1, "answer": ["D"], "context": ["|知识点1|(五)统计制度落实和业务变动情况报备时,应提供相关文件、会计或信贷业务对统计对照关系表、系统上线升级改造等业务变动有关资料;通过核销、剥离、置换等方式集中处置不良贷款,应提供有关文件资料;应外部要求进行数据调整时,应提供外部机构检查结果的相关文件资料。\n四、报备方式及时间要求\n(一)事前报备。对于预期将对统计工作和统计数据造成重大影响的有关业务活动,应尽早进行事前报备,并提交相应解决预案。\n(二)定期报备。对人民银行下发的金融统计制度落实情况,应在制度落实时限之前的至少15个工作日内报备。\n对统计数据出现的较大变动,应在有关统计数据上报时限内报备。\n对各报备单位所属分支机构和所辖中小金融机构发生的机构变动,在有关统计数据上报时限内报备。\n(三)实时报备。各报备单位的统计分管领导、统计部门负责人、统计负责人等发生调动、离岗等变动时,应在变动发生后10个工作日内报备。\n应人民银行总行要求报备的其他统计事项,应按照要求及时报备。", "|知识点2|153--中国人民银行关于印发《金融统计事项报备制度》的通知\n(银发〔2010〕336号)\n人民银行上海总部,各分行、营业管理部,各省会(首府)城市中心支行,国家开发银行,各政策性银行、国有商业银行、股份制商业银行,中国邮政储蓄银行,各金融资产管理公司:\n为加强金融统计的规范化和制度化,切实提高金融统计管理效率和数据质量,为宏观经济金融决策提供及时、准确的信息支持,人民银行决定建立金融统计事项报备制度。现将《金融统计事项报备制度》印发给你们,请遵照执行。\n各机构要认真做好金融统计事项报备的协调和管理工作,严格执行制度有关要求,及时、准确、完整地向人民银行总行报备有关事项。人民银行将定期对各机构的制度执行情况进行通报。\n请各机构填写本单位“统计人员基本情况报备表”(见附件中的附表)并确定金融统计事项报备联系人,于2010年12月29日前通过金融统计监测管理信息系统上报程序中的“系统信息”模块和传真方式报送人民银行总行。", "|知识点3|统计人员包括各报备单位的统计工作分管领导、统计部门负责人、统计负责人等人员。\n三、报备具体要求\n(一)所有报备情况均应填写“金融统计事项报备表”(见附表1),引起统计数据较大变动的重要情况应同时附报详细情况说明;统计人员及变动情况还应填写“统计人员基本情况报备表”(见附表2)。\n(二)各报备单位应严格按照报备内容填写报备资料,采取电子文档与纸质资料相结合方式向人民银行总行报备。各报备单位在报送报备资料电子文档的同时,须将纸质资料经报备单位统计部门负责人签字并加盖部门公章后报备。对统计工作或统计数据具有特别重大影响的事项应经报备单位负责人签字并加盖公章后报备。\n(三)所有纸质报备资料均要求一式两份,其中一份报备,另一份由报备单位留存,以备查阅。\n(四)机构变动情况报备时,应提供有关的文件资料以及金融统计数据生产系统中必备的合法性关系、校验关系等参照信息情况。", "|知识点4|银行保险法人机构各相关部门应承担与监管统计报送有关的业务规则确认、数据填报和审核、源头数据质量治理等工作职责。\n银行保险机构省级、地市级分支机构应明确统计工作部门,地市级以下分支机构应至少指定统计工作团队,负责组织开展本级机构的监管统计工作。\n第二十条  银行保险法人机构归口管理部门及其省级分支机构统计工作部门应设置监管统计专职岗位。地市级及以下分支机构可视实际情况设置监管统计专职或兼职岗位。相关岗位均应设立A、B角,人员数量、专业能力和激励机制应满足监管统计工作需要。\n银行保险法人机构或其县级及以上分支机构应在指定或者变更监管统计负责人、归口管理部门(或统计工作部门、团队)负责人后10个工作日内,向银保监会或其派出机构备案。\n第二十一条  银行保险机构应及时制定并更新满足监管要求的监管统计内部管理制度和业务制度,在制度制定或发生重大修订后10个工作日内向银保监会或其派出机构备案。", "|知识点5|应人民银行总行要求报备的其他统计事项,应按照要求及时报备。\n五、其他\n(一)各单位报备情况将纳入金融统计工作考评,不按规定报备的,视为统计漏报,造成重大后果的,依法予以处理。\n(二)各报备单位可根据本制度,对所管理及所属单位制定相关制度。\n(三)本制度由中国人民银行总行负责解释。\n(四)本制度自发布之日起执行。\n\n\n附表1 金融统计事项报备表\n\n\n\n附表2 \n  统计人员基本情况报备表", "|知识点6|2.对金融统计数据具有较大影响的业务变动情况:会计、信贷及其他业务变动。包括会计制度改革、会计科目名称及核算内容变更;信贷业务调账及系统上线、升级、改造等和其他业务核算变动情况。\n统计业务变动。包括会计账户或业务系统与统计指标的对照关系变更、统计系统改造升级、统计归属变更、统计数据清理、调整及其他统计业务变动情况。\n其他变动。包括通过核销、剥离、置换等方式集中处置不良贷款、开展金融创新业务或开办新业务品种、省际或地区间业务划转、应外部机构(如人民银行、银监会、财税、审计部门等)检查和要求而进行的全国性、区域性数据调整;其他引起统计数据较大变动的业务变动情况等。\n以上三项业务具体报备内容包括业务变动的原因、变动内容、对统计工作和数据的影响、采取的应对方案及与业务变动有关的文件及其他重要事项和资料等。\n(三)统计人员及变动情况。\n各报备单位的统计人员基本情况及调动、离岗等变动情况。统计人员包括各报备单位的统计工作分管领导、统计部门负责人、统计负责人等人员。", "|知识点7|(八)领导、组织本系统开展统计法规和统计质量检查,培训统计人员。\n第五章  统计人员的配备与职责\n第二十七条  统计人员的配备应符合以下要求:\n(一)统计人员要具备良好的职业道德,具有必要的统计专业基础知识和一定的计算机操作技能。\n(二)统计人员必须实行岗位培训,未经岗前培训或培训不合格者不得上岗。经考核不适宜担任统计工作的人员,应及时进行调整。\n第二十八条  中国人民银行分支行统计部门主要负责人的调动,要征得上一级中国人民银行主管部门的同意;各金融机构分支行(公司、局)统计负责人的调动,应当征得其上级主管部门同意并向中国人民银行当地统计部门备案;统计人员调动工作或者离职,应当有符合规定条件的人接管,并须办理交接手续。、,\n第二十九条  中国人民银行分支行、各金融机构及其分支机构,应当根据国家有关规定和工作需要,设置和聘任统计专业技术职务。"]}
{"id": 2, "answer": ["B"], "context": ["|知识点1|分局应在收到完整的变更申请材料之日起二十个工作日内完成备案手续,并通过主办企业所在地外汇局出具备案通知书。\n(一)合作银行变更的,应提交以下材料:\n1.变更合作银行申请(包括拟选择的合作银行,原账户余额的处理方式等);\n2.加盖银行业务公章的原账户余额对账单;\n3.主办企业与变更后合作银行签署的《跨国公司跨境资金集中运营业务办理确认书》;\n4.原备案通知书复印件。\n(二)主办企业变更、成员企业新增或退出、外债和境外放款额度变更、业务种类变更的,除参照第七条提交材料外,还应提交原备案通知书复印件。\n第十一条  主办企业、成员企业发生名称变更、分立、合并的,主办企业应在事项发生之日起一个月内报所在地外汇局,同时提交原备案通知书复印件、变更所涉企业的相关情况说明、涉及变更事项的证明材料(如变更后的营业执照等)。\n第十二条  主办企业应在取得跨国公司备案通知书后一年内开立国内资金主账户并实际办理跨境资金集中运营相关业务,否则备案通知书自颁发满一年之日起失效。", "|知识点2|二、大幅简化外债和境外放款登记。主办企业所在地国家外汇管理局分支局(以下简称所在地外汇局)向主办企业出具备案通知书时,根据经备案集中的额度为其办理一次性外债登记和(或)境外放款登记,主办企业无需分币种、分债权人(或债务人)逐笔办理外债(或境外放款)登记;银行和企业无需报送36号文规定的3张手工报表。\n三、实行资本项目外汇收入结汇支付便利化。跨国公司主办企业在办理国内资金主账户内资本项目外汇收入支付使用时,无需事前向合作银行逐笔提供真实性证明材料;合作银行应按照展业原则进行真实合规性审核。\n四、完善准入退出机制。主办企业应在取得跨国公司备案通知书后一年内开立国内资金主账户,并实际办理跨境资金集中运营相关业务,否则备案通知书自颁发满一年之日起失效。跨国公司可在经外汇局备案后,停止办理跨国公司跨境资金集中运营业务。\n五、调整优化账户功能。", "|知识点3|申报单号码由发生实际收付款的银行编制,交易编码按照实际交易性质填报。境内银行应将还原数据的“银行业务编号”填写为所对应的实际收付款数据的申报号码,以便建立集中收付数据与还原数据间的对应关系。境内银行应为主办企业提供申报渠道等基础条件,并负责将还原数据的基础信息和申报信息传送到外汇局。\n第六章  账户管理\n第二十七条  跨国公司的主办企业可持备案通知书,在经备案的合作银行直接开立国内资金主账户,办理跨境资金集中运营相关业务。\n跨国公司可以根据经营需要,选择一家境外成员企业,在经备案的合作银行开立NRA账户,集中运营管理境外成员企业资金。\n第二十八条  国内资金主账户可以是多币种(含人民币)账户,开户数量不予限制,但应符合审慎监管要求;国内资金主账户允许日间及隔夜透支;透支资金只能用于对外支付,收到资金后应优先偿还透支款。", "|知识点4|但外债的借入和偿还应通过主办企业的国内资金主账户进行。\n第十八条  主办企业所在地外汇局在为其出具备案通知书时,应在国家外汇管理局相关信息系统中按照经备案的外债集中额度为主办企业办理一次性外债登记。主办企业通过国内资金主账户融入和偿还外债资金时,应按照现行规定办理国际收支申报,无需再到所在地外汇局逐笔办理外债签约登记。\n第四章  境外放款额度集中管理\n第十九条  跨国公司可根据宏观审慎原则,集中境内成员企业的境外放款额度,并在所集中的额度内遵循商业惯例自行开展境外放款业务。\n第二十条  跨国公司主办企业可以按照以下公式集中境内成员企业全部境外放款额度。\n跨国公司境外放款集中额度≤Σ主办企业及参与集中的境内成员企业上年末经审计的所有者权益*境外放款杠杆率*宏观审慎调节参数。\n初始时期,境外放款杠杆率为0.3,宏观审慎调节参数为1。", "|知识点5|初始时期,境外放款杠杆率为0.3,宏观审慎调节参数为1。国家外汇管理局可根据整体境外放款情况、期限结构、币种结构等对境外放款杠杆率和宏观审慎调节参数进行调节。\n第二十一条  参与跨国公司跨境资金集中运营业务并被集中境外放款额度的成员企业,自主办企业递交申请之日起,原则上不得自行开展境外放款业务。在主办企业递交申请之前,成员企业已经自行开展境外放款业务的,在其境外放款全部收回之前,原则上不得作为成员企业参与境外放款额度集中。\n第二十二条  主办企业可以自身为实际放款人进行境外放款,也可以成员企业为实际放款人代理其进行境外放款。境外放款资金的融出和收回应通过主办企业的国内资金主账户进行。\n第二十三条  主办企业所在地外汇局在为其出具备案通知书时,应在国家外汇管理局相关信息系统中按照经备案的境外放款集中额度为主办企业办理一次性境外放款额度登记。", "|知识点6|合作银行应及时关闭主办企业据此开立的国内资金主账户;主办企业所在地外汇局也应在相关信息系统中及时维护额度等有关信息。\n第十三条  跨国公司需要停止办理跨境资金集中运营业务的,主办企业处理完毕相关债权债务、关闭国内资金主账户后,应通过所在地外汇局向分局备案,提交备案申请,包括跨国公司跨境资金集中运营的外债额度及境外放款额度集中、跨境收支及结售汇、国内资金主账户的关闭等相关情况。\n跨国公司仅停止办理经常项目资金集中收付和轧差净额结算业务的,无需办理备案手续,但主办企业应在停止办理后二十个工作日内向所在地外汇局书面报告。\n分局应在收到完整的跨国公司跨境资金集中运营备案申请材料之日起二十个工作日内完成备案手续,并通过主办企业所在地外汇局收回原备案通知书原件。\n第三章  外债额度集中管理\n第十四条  跨国公司可根据宏观审慎原则,集中境内成员企业外债额度,并在所集中的额度内遵循商业惯例自行开展外债业务。", "|知识点7|在特定情况下,非金融企业或非银行金融机构可直接向国家外汇管理局提出申请。\n国家外汇管理局在收到中国外汇交易中心的备案申请材料后,应在15个工作日之内对备案材料予以审核并出具《银行间即期外汇市场会员资格备案通知书》(以下简称《通知书》)。《通知书》一式四份,一份送交申请人,一份送交中国外汇交易中心,一份送交所在地分局(外汇管理部),一份存档备查。对于不符合条件而不予以备案的,通知书中同时注明原因。\n三、申请材料\n(一)非金融企业申请银行间即期外汇市场会员资格时,须提交以下备案申请材料:\n1.申请报告,并在报告中说明申请目的、人员配备和交易系统等情况。\n2.上年度经常项目跨境外汇收支和货物贸易进出口总额等有关情况的报告,包括贸易方式、主要贸易产品、主要进出口市场等。\n3.上年度外汇收支和结售汇业务情况,包括月度和年度外汇收支情况和结售汇情况。\n4.", "|知识点8|未落实之前,银监会不再核准除补充挂钩地点之外的村镇银行设立计划。\n(五)主发起行应按照“先西部、后东部,先欠发达县域、后发达县城”原则,积极开展已批准地点的村镇银行筹建工作。在主发起行未完成已批准地点的村镇银行开业前,银监会不再核准其新的村镇银行设立计划。\n(六)如主发起行资质变化不符合有关准入条件,以及存在对主发起行产生重大负面影响的情形,会内机构监管部门在会签合作部并报会领导批准后,备案终止其主发起行资格,相应取消其已获核准但尚未筹建的村镇银行设立计划。"]}
{"id": 3, "answer": ["B", "D"], "context": ["|知识点1|三、《指导意见》主要规范要求是什么? \n答:根据实质重于形式原则,按照是否实质性开展经营活动,《指导意见》将异地非持牌机构划分为异地经营性非持牌机构(以下简称“经营性机构”)与异地非经营性非持牌机构(以下简称“非经营性机构”),并根据风险外溢程度与风险管理需求的不同分别提出规范要求。\n对于经营性机构,《指导意见》要求银行业金融机构按照《中资商业银行专营机构监管指引》(银监发〔2012〕59号)相关要求,根据实质重于形式原则,对符合持牌要求的,按照行政许可程序申领专营机构或专营机构分支机构金融许可证;对不符合持牌要求的,将其并入当地分支行管理或予以撤销。在坚守定位、风险为本的原则下,《指导意见》规定除经国务院银行业监督管理机构批准外,银行业金融机构不得在当地无分支机构的地区设立专营机构及其分支机构。", "|知识点2|异地非持牌机构包括异地经营性非持牌机构与异地非经营性非持牌机构(以下简称“经营性机构”与“非经营性机构”)。\n经营性机构指银行业金融机构在异地设立的,按照实质重于形式原则,面向公众或交易对手开展经营活动,可能产生以下影响的机构:\n(一)给银行业金融机构带来信用风险、市场风险、流动性风险、操作风险、声誉风险、法律风险、国别风险、战略风险等相关风险;\n(二)对存款人和其他客户的合法权益构成损害;\n(三)引发系统性区域性金融风险;\n(四)对金融安全和金融稳定产生其他影响。\n经营性机构包括但不限于银行业金融机构在异地设立且实质从事业务经营、产品营销、市场拓展、项目调查、风险评估等相关经营活动的事业部及其分部、业务部、管理部、代表处、办事处、业务中心、经营团队等。\n非经营性机构指银行业金融机构在异地设立的不开展经营活动,仅为相关业务提供后台服务的机构。", "|知识点3|对于境内非经营性机构,《指导意见》要求银行业金融机构至少提前2个月向法人监管机构及拟设立非经营性机构的所在地监管机构报告,并定期向法人监管机构报告境内非经营性机构相关情况。除对部分特殊情况豁免外,不得在境内无分支机构的地区设立非经营性机构,不得在异地集中设立多个非经营性机构。严禁以非经营性机构之名,实质对外开展经营活动。\n四、《指导意见》对监管职责是如何划分的?\n答:《指导意见》强调银行开展各类经营活动,必须持有金融许可证。异地非持牌机构清理规范后,对于异地持牌机构,《指导意见》重申所在地监管机构的主体监管责任,法人监管机构在法人监管整体框架内对其依法监管。对于非经营性机构,明确法人监管机构的主体监管责任,同时赋予所在地监管机构监管约谈、下达监管意见书、监管通报、现场检查、行政处罚等监管权力。\n五、《指导意见》的过渡期是如何安排的?", "|知识点4|非经营性机构指银行业金融机构在异地设立的不开展经营活动,仅为相关业务提供后台服务的机构。包括但不限于银行业金融机构在异地设立的区域审批中心、审计中心、灾备中心、软件开发中心、账务处理中心等。\n四、银行业金融机构应当按照《中资商业银行专营机构监管指引》(银监发〔2012〕59号,以下简称《指引》)要求,根据实质重于形式原则,对符合持牌要求的经营性机构,按照行政许可程序申领专营机构或专营机构分支机构金融许可证;对不符合持牌要求的,将其并入当地分支行管理或予以撤销。\n银行业金融机构应当结合本行发展战略、风险管理水平、内部控制能力,以及异地非持牌机构业务开展情况规范经营性机构。对于申领专营机构或其分支机构金融许可证的,应当严格按照《指引》要求加强管理,确保其风险管理和内控体系健全有效。", "|知识点5|监管机构应当各司其职,避免监管空白与监管重叠。\n(三)分类施策。监管机构应当根据不同类型银行业金融机构特点,对异地非持牌机构进行分类指导,精准施策。按照实质重于形式原则,区分经营性机构与非经营性机构,并根据风险外溢程度与风险管理需求的不同提出针对性规范要求。\n(四)新老划断。银行业金融机构当前存续的异地非持牌机构应当在过渡期内有计划整改。新设异地持牌机构应当严格履行行政审批程序,新设异地非经营性机构应当严格履行报告义务。\n二、本指导意见所称银行业金融机构是指在中华人民共和国境内设立的商业银行、农村信用合作社等吸收存款的金融机构以及国家开发银行、政策性银行。\n三、异地非持牌机构是指未经银行业监督管理机构批准,银行业金融机构在异地拥有固定营业场所或配备专门人员,实质开展经营性业务或为相关业务提供后台服务的机构。", "|知识点6|银行业金融机构应当建立健全对非经营性机构的管理机制,包括风险管理、内部控制、考核机制、人员管理等。银行业金融机构应当确保非经营性机构严格遵守其业务范围规定。严禁以非经营性机构之名,实质对外开展经营活动。\n银行业金融机构应当定期向法人监管机构报告境内非经营性机构相关情况,报告频率不得低于每年一次。\n银行业金融机构应当根据本行发展战略和内控管理水平,审慎设立异地非经营性机构,并合理确定机构数量。银行业金融机构不得在境内无分支机构的地区设立非经营性机构,不得在异地集中设立多个非经营性机构;发起设立专司村镇银行管理和服务的除外。\n银行业金融机构在境外设立非经营性机构的相关监管要求另行规定。\n七、除经国务院银行业监督管理机构批准外,银行业金融机构原则上不得设立异地管理总部。", "|知识点7|第二条至第七条明确了《指导意见》规范的范围,异地非持牌机构的定义、分类,并按照实质重于形式原则,根据风险外溢程度与风险管理需求的不同对异地经营性非持牌机构与异地非经营性非持牌机构分别提出规范要求。第八条至第十条明确了整改完成后所在地监管机构承担异地持牌机构的主体监管责任,法人监管机构承担非经营性机构的监管职责,并要求监管机构加强监管联动。第十一条至第十三条对过渡期的监管要求进行了规定。\n\n《指导意见》的发布和实施有利于银行业金融机构专注主业、回归本源、坚守定位,提升服务实体经济的质效。同时,增强银行业金融机构防控风险的主体意识、主体责任,提升全面风险管理水平,促进银行业安全稳健运行。", "|知识点8|当前,银行业异地无序展业问题已得到初步遏制,但整治过程中也存在各地区做法不一、监管标准不同等问题,亟需制定统一的规范要求和监管标准。\n二、《指导意见》制定的原则和主要考虑是什么?\n答:《指导意见》要求按照“坚守定位、风险为本、分类施策及新老划断”的原则对异地非持牌机构进行稳妥有序的清理规范。一是要求银行业金融机构专注主业、回归本源,坚守市场定位,着力提升服务实体经济的质效,避免盲目扩张。二是要求银行业金融机构加强对异地机构的管理,根据本行发展战略,完善公司治理,提高风险管理水平和内部控制能力。三是按照实质重于形式原则,将异地非持牌机构分为经营性机构与非经营性机构,分别提出针对性规范要求。四是充分考虑不同类型机构差异,对异地非持牌机构的规范不搞“一刀切”,给予充分的过渡期,允许银行业金融机构在过渡期内有计划、分步骤整改。\n三、《指导意见》主要规范要求是什么?"]}
{"id": 4, "answer": "可以,投资者已在银行间市场开立债券账户的,无需中国人民银行同意,仍可通过柜台业务开办机构开立债券账户。", "context": ["|知识点1|采纳情况:未予采纳。意见与柜台业务开办机构应加强内控管理的政策导向不符。\n\n七、建议柜台业务开办机构应对在其柜台开户的资产管理产品实施穿透式管理。\n采纳情况:未予采纳。穿透式管理为资产管理机构的职责。此外,柜台债券业务作为银行间债券市场的延伸,柜台业务开办机构对债券的托管职责应与银行间债券市场基础设施保持一致。\n\n八、建议对投资者在银行间债券市场和柜台市场同时开户做出限制。\n采纳情况:未予采纳。给予投资者多元化选择,通过一定的竞争提高市场运行效率。\n\n\n感谢社会各界对推动银行间债券市场柜台业务发展工作的关心和支持!\n\n\n中国人民银行\n2024年2月29日", "|知识点2|投资者可以在不同开办机构开立债券账户,并可以在已开立的债券账户之间申请债券的转托管。\n未经中国人民银行同意,已在债券登记托管结算机构开户的机构投资者,不能在开办机构开立债券账户。债券登记托管结算机构应当为开办机构查询开户情况提供便利。\n第十六条 开办机构应当在债券登记托管结算机构开立代理总账户,记载由其托管、属于柜台业务投资者的债券总额。\n开办机构应当严格区分自有债券和投资者托管的债券,不得挪用投资者的债券。开办机构应当每日及时向债券登记托管结算机构发送结算指令和柜台业务托管明细数据。\n第十七条 债券登记托管结算机构应当建立柜台债券账务复核查询系统,方便投资者查询债券账户余额。\n债券登记托管结算机构应当根据开办机构发送的有关数据及结算指令,每日及时完成开办机构自营账户与代理总账户之间的债券结算。", "|知识点3|本通知所称投资者是指符合《全国银行间债券市场柜台业务管理办法》第九条  规定的投资者,包括个人投资者、企业和金融机构。\n第二条  本通知所称柜台业务开办机构是指符合《全国银行间债券市场柜台业务管理办法》第四条规定的金融机构。\n第三条  投资者可通过柜台业务开办机构投资国债、地方政府债券、金融债券、公司信用类债券等银行间债券市场债券品种,投资者适当性应当符合《全国银行间债券市场柜台业务管理办法》的规定。\n已在银行间债券市场交易流通的各类债券品种通过柜台投资交易,不需要经发行人认可。\n第四条  柜台业务开办机构应当为投资者开立债券账户和办理债券登记、托管、结算等业务。已在银行间债券市场登记托管结算机构开立债券账户的投资者,在柜台业务开办机构开立债券账户,不需要经中国人民银行同意。获准进入银行间债券市场的境外投资者,可通过柜台业务开办机构和境内托管银行开立债券账户。", "|知识点4|开办机构可以代理投资者与全国银行间债券市场其他投资者开展债券交易,开办机构应当采用适当风险防范机制,防范代理交易模式下的相关风险。\n第十三条 开办机构及投资者的债券交易行为应当遵守全国银行间债券市场及其机构监管部门关于关联交易的规定。\n第十四条 开办机构应当及时将柜台业务投资者信息及报价成交信息传至全国银行间同业拆借中心进行备案。开办机构与投资者达成债券交易后,应当及时采用券款对付的方式为投资者办理资金清算和债券结算。\n全国银行间同业拆借中心应当及时将柜台业务成交信息传输至债券登记托管结算机构。\n第十五条 投资者应当在开办机构开立债券账户,用于记载所持有债券的品种、数量及相关权利。开户时,投资者应当向开办机构提交真实、准确、完整的开户材料。\n投资者可以在不同开办机构开立债券账户,并可以在已开立的债券账户之间申请债券的转托管。", "|知识点5|柜台业务开办机构为金融机构提供柜台债券业务服务的,应当在银行间债券市场债券投资、交易量均居前列,且具备健全的内控机制和良好的金融资产登记托管、结算、资金清算能力。\n第八条  柜台业务开办机构应当制定柜台业务规则,建立合理的投资者适当性管理制度,向投资者提供与其风险承受能力相匹配的债券品种与交易品种。\n第九条  柜台业务开办机构应当加强柜台业务内控管理和系统建设,做好交易服务全程留痕,严格规范柜台债券交易流转、托管结算、信息安全等相关操作流程,切实防范柜台业务风险。\n柜台业务开办机构应当明确与投资者之间的风险权责关系,充分揭示风险,完善纠纷处理机制,有效保障投资者合法权益。"]}

二、统计初始化

correct_count=0
choose_count=0
error_count=0
  • correct_count → 成功构造的 SFT 样本数量

  • choose_count → 选择题答对数量

  • error_count → 无法生成有效答案的数量


三、循环处理每条预测 + 数据

for pred,data in tqdm(zip(predictA,data)):pred = json.loads(pred)data = json.loads(data)category= data['category']question = data['question']content = data['content']context_list = pred['context']answer_list = pred['answer']
  • 对应每一条测试数据:

    • context_list:RAG 提供的相关知识点

    • answer_list:RAG 的回答列表(选择题可能包含 A/B/C 等多个选项)


构造 RAG 生成答案字符串

qwen3_8b_answer = "、".join(answer_list)
context_str = "\n".join(context_list)
  • answer_list 用中文顿号 拼接成字符串

  • 将上下文列表拼接成一段完整文本 context_str,用于后续模型输入


四、构造模型输入 Prompt

if category=="选择题":input_data = category+'\n'+question+'\n'+content
else:input_data = category+'\n'+question
  • 如果是选择题,将类别、问题和正文内容拼接

  • 如果是非选择题,只拼接类别和问题

  • 这作为 模型输入(query),用于 SFT 模型训练


五、调用 Qwen 模型做 CoT(Chain-of-Thought)评分或生成

CONTEXT_ANSWER_SCORE_input = CONTEXT_ANSWER_SCORE.format(query_str=input_data,context_str=context_str)
result = qwen_chat(CONTEXT_ANSWER_SCORE_input)
  • CONTEXT_ANSWER_SCORE_input → 使用模板生成输入 Prompt

  • qwen_chat() → 调用 Qwen LLM 获取生成结果

  • 目的是:

    1. 让模型结合上下文重新生成答案

    2. 得到 相关知识点引用 + 答案

  • 模板通常包含:

    基于以下知识点回答问题:
    {context_str}
    问题:{query_str}
    答案:
    

六、解析模型返回结果

if '无法根据检索上下文推导出答案' not in result:cot_answer = result.split('答案:')[0].split('相关知识点引用:')[1].strip()cot_answer = ','.join(["知识点"+str(item) for item in cot_answer.split(',')])answer = result.split('答案:')[1].strip()
  • 判断模型是否生成有效答案

  • 从生成结果中拆分出:

    • cot_answer → 模型使用的知识点编号

    • answer → 模型生成的答案文本

  • 对知识点编号进行统一格式化 "知识点X"


七、选择题答案处理

choose_list=[]
if category=="选择题":for choose_item in ['A','B','C','D','E','F']:if choose_item in answer:choose_list.append(choose_item)answer_str = "、".join(choose_list)if qwen3_8b_answer==answer_str:choose_count+=1
else:answer_str = answer
  • 如果是选择题:

    • 从答案文本提取 A/B/C/D 等选项

    • 用顿号拼接

    • 对比原始 RAG 结果 qwen3_8b_answer,更新统计 choose_count

  • 如果是非选择题,直接使用生成的文本


八、构造最终微调样本

final_answer = '相关知识点引用:'+cot_answer+'\n'+ '答案:'+answer_str
question = QA_TEMPLATE_NO_THINK_COT.format(query_str=input_data,context_str=context_str)
sft_data.write(json.dumps({'question':question,'answer':final_answer},ensure_ascii=False)+'\n')
correct_count+=1
  • final_answer → SFT 输出,包含:

    1. 相关知识点引用(CoT)

    2. 答案文本

  • question → SFT 输入,包含:

    1. 上下文 context_str

    2. 问题 input_data

  • 写入文件,每行 JSON 包含 questionanswer

  • 更新成功计数

微调数据集:

{"question": "##角色定义##\n你是一个金融监管制度智能问答专家,你需要准确理解检索的金融文档知识来回复用户问题。\n\n##指导规则##\n1、你需要精准理解用户问题,利用检索的金融文档知识来回复用户问题。\n2、用户问题包括选择题和问答题:\n    * 选择题(单选或者多选),你需要结合检索的金融文档知识,准确理解后给出正确选项,你只需要输出正确的选项即可。\n    * 问答题,你需要结合检索的金融文档知识,利用相关信息来回复用户问题,答案需要尽可能简洁且准确,你只需要输出答案即可。\n3、下面是输出格式,你需要按照以下格式输出:\n    相关知识点引用:你需要思考那些知识点是与用户问题相关的,有助于生成准确答案,在这里写入相关知识点。\n    答案:在这里写入回复用户问题的回复,用户问题是选择题时你只需要给出正确的答案选项,用户问题是问答题时你只需要给出精简的回复。\n\n##输入##\n检索的金融文档知识:\n|知识点1|主要包括:一是明确产品登记流程。明确资产支持计划实行初次申报核准、后续登记制度,首单产品由银保监会核准,后续产品由保险资产管理机构设立,并向中保保险资产登记交易系统有限公司进行登记。保险私募基金由保险资产管理机构下属机构设立,并向中国保险资产管理业协会进行登记。二是严格登记时限要求。要求登记机构收到产品登记材料之日起5个工作日内出具登记结果。三是压实机构登记职责。要求保险资产管理机构承担设立产品的合规风控主体责任,强化产品登记内部控制、质量管理和信息安全保护。要求登记机构对产品登记材料完备性、合规性进行查验,加强产品登记工作管理和质量把关。完善登记系统建设,加强登记信息运用。四是提出相关监管要求。明确产品登记制改革后,仍由银保监会对产品实施监管,并加强对登记机构的工作指导和监督,发现未按规定和程序履行相应职责的,将依法采取监管措施,不断完善事中事后监管手段。\n五、《通知》发布后,如何加强事中事后监管?\n|知识点2|771--中国银保监会办公厅关于资产支持计划和保险私募基金登记有关事项的通知 \n银保监办发〔2021〕103号\n各保险资产管理机构:\n为持续深入落实国务院“放管服”工作部署,进一步深化保险资金运用市场化改革,提高服务实体经济质效,银保监会决定将资产支持计划和保险私募基金由注册制改为登记制。现就有关事项通知如下:\n一、保险资产管理机构发起设立资产支持计划,实行初次申报核准、后续产品登记。初次申报核准由银保监会依据相关规定办理,后续产品登记由中保保险资产登记交易系统有限公司依据监管规定和登记规则办理。\n二、保险资产管理机构的下属机构发起设立保险私募基金,由中国保险资产管理业协会依据监管规定和登记规则办理登记。\n三、中保保险资产登记交易系统有限公司和中国保险资产管理业协会(以下统称登记机构)应当于保险资产管理机构或其下属机构提交资产支持计划或保险私募基金(以下统称产品)登记材料之日起5个工作日内出具登记结果。\n|知识点3|《债权投资计划实施细则》共十八条,主要内容包括:一是明确登记时限。保险资产管理机构应于产品发行前5个工作日进行登记。二是统一基础设施和非基础设施类不动产债权投资计划的资质条件及业务管理要求。三是适当拓宽债权投资计划资金用途。明确在还款保障措施完善的前提下,基础设施债权投资计划可以使用不超过40%的募集资金用于补充融资主体营运资金,满足更多实体企业特别是制造业融资需求。四是完善信用增级等交易结构。明确保证担保的条件,取消产品发行规模和担保人净资产挂钩的要求。五是完善风险管理机制。一方面指导注册机构持续做好相关工作,完善风险监测机制;另一方面压实受托人职责,要求其持续加强对融资主体资质和项目运营情况的评估。\n(三)《股权投资计划实施细则》主要内容。《股权投资计划实施细则》共十七条,主要内容包括:一是明确登记时限。保险资产管理机构应于产品发行前5个工作日进行登记。\n|知识点4|第八条  保险资产管理机构设立债权投资计划,应当开展尽职调查和可行性研究,科学设定交易结构,充分评估相关风险,严格履行各项程序,独立开展评审和决策,并聘请具备相应资质的专业服务机构对设立债权投资计划的合法合规性、信用级别等作出明确判断和结论。\n第九条  保险资产管理机构应当于债权投资计划发行前5个工作日在中国保险资产管理业协会等银保监会认可的注册机构(以下简称注册机构)进行产品登记。保险资产管理机构应当按照监管规定以及登记要求报送登记材料,报送的登记材料应当真实、完备、规范。\n注册机构仅对登记材料的完备性和合规性进行查验,不对产品的投资价值和风险作实质性判断。\n注册机构应当按照监管规定和经备案的登记规则办理债权投资计划登记工作,建立风险监测和报告机制,并接受银保监会的业务指导和监督。\n|知识点5|二、各银行业金融机构专门面向机构客户和私人银行客户发行的专属理财产品,须在理财产品发行结束后5个工作日内完成发行登记并上传产品说明书,在理财系统上登记的产品将获得系统自动赋予的具有唯一性的登记编码;产品终止后7个工作日内完成终止登记。未能及时按照以上要求进行产品登记的银行业金融机构,将不再提供数据补录,并按没有上报处理。\n三、各银行业金融机构应高度重视理财产品电子化报告和信息登记工作,根据相关监管要求加强自我检查,及时整改存在的问题。尚未完成与中央结算公司专线直接联网和理财产品(包括一般个人理财产品、私人银行和机构客户专属理财产品)历史数据信息补录工作的银行业金融机构,务必于2013年9月30日前完成上述两项工作。\n四、各银行业金融机构须补录的理财产品历史数据包括于2011年1月1日起成功发行,以及在2011年1月1日前发行且目前尚未到期结束的面向一般个人客户、私人银行客户和机构客户发行的所有理财产品。\n|知识点6|保险资金投资的股权投资计划,其投资运作还应当符合保险资金运用的相关规定。\n第五条  股权投资计划投资基金的,基金的分级比例(优先级份额/劣后级份额,中间级份额计入优先级份额)不得超过1:1;股权投资计划所投金额不得超过该基金当前实际募集金额的80%。股权投资计划投资于未上市企业股权等权益类资产的比例不低于80%。\n股权投资计划不得投资劣后级基金份额。分级股权投资计划不得投资分级的基金。\n第六条  股权投资计划应当为封闭式产品,并在投资合同、募集说明书等法律文件中对标的资产的退出机制作出相应安排。标的资产的退出日不得晚于股权投资计划的到期日。\n第七条  保险资产管理机构应当于股权投资计划发行前5个工作日在中国保险资产管理业协会等银保监会认可的注册机构(以下简称注册机构)进行产品登记。保险资产管理机构应当按照监管规定以及登记要求报送登记材料,报送的登记材料应当真实、完备、规范。\n|知识点7|第八条  保险资产管理机构应当于组合类产品设立前2个工作日在中保保险资产登记交易系统有限公司等银保监会认可的资产登记交易平台(以下简称登记交易平台)进行产品登记,取得登记编码。\n登记交易平台仅对登记材料的完备性和合规性进行查验,不对产品的投资价值和风险作实质性判断。\n第九条  保险资产管理机构应当按月向登记交易平台报送组合类产品的基本信息、投资明细、产品资产负债表和投资者信息,并按要求定期报送产品募集信息、分红信息、终止信息、风险准备金计提和使用情况等。\n第十条  保险资产管理机构应当于每年4月30日前向银保监会提交上一年度组合类产品业务管理报告,内容包括产品规模与投资明细、发行与清算、收益分配、费用收支、投资经理履职及任免、公平交易制度执行和异常交易行为等情况。\n|知识点8|七、银行业金融机构面向一般个人发行的理财产品,其总行应当在理财产品销售前10个工作日,通过系统向中国银监会或属地银监局进行电子化报告(外国银行分行参照执行)。报告材料同《商业银行理财产品销售管理办法》第六十九条的相关要求。\n八、理财产品电子化报告与纸质化报告同时进行。完全符合电子化报告要求的银行业金融机构,经中国银监会或属地银监局同意后,可以取消纸质报告。\n九、银行业金融机构应按照理财系统的内容和格式,逐只报告理财产品,确保每只理财产品的报告文件内容齐全、分类清楚、信息准确。\n十、自本通知印发之日起,监管部门或属地银监局可通过理财系统审阅银行业金融机构于理财产品发售前10日提交的报告文件。\n十一、银行业金融机构应根据理财系统填报要求,及时完成理财产品相关要素的注册、登记和更新。\n十二、银行业金融机构应定期进行理财业务从业人员的信息登记,并认真做好登记信息的动态维护。\n|知识点9|第十条 信托机构应当在集合资金信托计划发行日五个工作日前或者在单一资金信托和财产权信托成立日两个工作日前申请办理信托产品预登记(简称信托预登记),并在信托登记公司取得唯一产品编码。\n申请办理信托预登记的,应当提交下列文件:\n(一)信托预登记申请书,包括信托产品名称、信托类别、拟发行或者成立时间、预计存续期限、拟发行或者成立信托规模、信托财产来源、信托财产管理或者运用方向和方式、交易对手、交易结构、风险提示、风控措施、清算方式、异地推介信息、关联交易信息、保管人信息等内容;\n(二)法律、行政法规、国务院银行业监督管理机构要求的其他文件。\n信托产品在信托预登记后六个月内未成立或者未生效的,或者信托机构未按照本办法办理信托初始登记的,信托机构已办理的信托预登记自动注销,无需办理终止登记。\n信托机构办理信托预登记后,信托登记信息发生重大变动的,应当重新申请办理信托预登记。\n|知识点10|信托登记公司与信托机构应当建立专用网络,实现系统对接,确保信托登记信息和相关文件报送安全、高效。\n第十八条 信托机构提交的登记申请文件齐全且符合规定的形式要求的,信托登记公司在收到登记申请文件时应当出具受理凭证,该受理凭证的出具日为受理日。\n信托机构提交的登记申请文件不齐全或者不符合规定的形式要求的,信托登记公司应当书面告知补正要求,并在收到完整的登记申请文件时出具受理凭证,该受理凭证的出具日为受理日。\n第十九条 信托登记公司对信托机构提供的信托登记信息及相关文件进行形式审查。\n信托登记和本办法第三十八条规定的信息公示不构成对信托产品持续合规情况、投资价值及投资风险的判断或者保证。\n第二十条 对于符合登记条件的,信托登记公司应当自受理之日起两个工作日内完成审查,并准予办理信托登记。对于不符合登记条件的,信托登记公司应当自收到登记申请文件之日起两个工作日内一次性告知信托机构需要补正的全部内容,并自收到完整补正材料之日起两个工作日内完成审查。\n\n用户问题:\n选择题\n登记机构应当在收到产品登记材料后多长时间内出具结果?\n   A. 3个工作日\n   B. 5个工作日\n   C. 7个自然日\n   D. 10个工作日", "answer": "相关知识点引用:知识点1,知识点2\n答案:B"}
{"question": "##角色定义##\n你是一个金融监管制度智能问答专家,你需要准确理解检索的金融文档知识来回复用户问题。\n\n##指导规则##\n1、你需要精准理解用户问题,利用检索的金融文档知识来回复用户问题。\n2、用户问题包括选择题和问答题:\n    * 选择题(单选或者多选),你需要结合检索的金融文档知识,准确理解后给出正确选项,你只需要输出正确的选项即可。\n    * 问答题,你需要结合检索的金融文档知识,利用相关信息来回复用户问题,答案需要尽可能简洁且准确,你只需要输出答案即可。\n3、下面是输出格式,你需要按照以下格式输出:\n    相关知识点引用:你需要思考那些知识点是与用户问题相关的,有助于生成准确答案,在这里写入相关知识点。\n    答案:在这里写入回复用户问题的回复,用户问题是选择题时你只需要给出正确的答案选项,用户问题是问答题时你只需要给出精简的回复。\n\n##输入##\n检索的金融文档知识:\n|知识点1|(五)统计制度落实和业务变动情况报备时,应提供相关文件、会计或信贷业务对统计对照关系表、系统上线升级改造等业务变动有关资料;通过核销、剥离、置换等方式集中处置不良贷款,应提供有关文件资料;应外部要求进行数据调整时,应提供外部机构检查结果的相关文件资料。\n四、报备方式及时间要求\n(一)事前报备。对于预期将对统计工作和统计数据造成重大影响的有关业务活动,应尽早进行事前报备,并提交相应解决预案。\n(二)定期报备。对人民银行下发的金融统计制度落实情况,应在制度落实时限之前的至少15个工作日内报备。\n对统计数据出现的较大变动,应在有关统计数据上报时限内报备。\n对各报备单位所属分支机构和所辖中小金融机构发生的机构变动,在有关统计数据上报时限内报备。\n(三)实时报备。各报备单位的统计分管领导、统计部门负责人、统计负责人等发生调动、离岗等变动时,应在变动发生后10个工作日内报备。\n应人民银行总行要求报备的其他统计事项,应按照要求及时报备。\n|知识点2|153--中国人民银行关于印发《金融统计事项报备制度》的通知\n(银发〔2010〕336号)\n人民银行上海总部,各分行、营业管理部,各省会(首府)城市中心支行,国家开发银行,各政策性银行、国有商业银行、股份制商业银行,中国邮政储蓄银行,各金融资产管理公司:\n为加强金融统计的规范化和制度化,切实提高金融统计管理效率和数据质量,为宏观经济金融决策提供及时、准确的信息支持,人民银行决定建立金融统计事项报备制度。现将《金融统计事项报备制度》印发给你们,请遵照执行。\n各机构要认真做好金融统计事项报备的协调和管理工作,严格执行制度有关要求,及时、准确、完整地向人民银行总行报备有关事项。人民银行将定期对各机构的制度执行情况进行通报。\n请各机构填写本单位“统计人员基本情况报备表”(见附件中的附表)并确定金融统计事项报备联系人,于2010年12月29日前通过金融统计监测管理信息系统上报程序中的“系统信息”模块和传真方式报送人民银行总行。\n|知识点3|统计人员包括各报备单位的统计工作分管领导、统计部门负责人、统计负责人等人员。\n三、报备具体要求\n(一)所有报备情况均应填写“金融统计事项报备表”(见附表1),引起统计数据较大变动的重要情况应同时附报详细情况说明;统计人员及变动情况还应填写“统计人员基本情况报备表”(见附表2)。\n(二)各报备单位应严格按照报备内容填写报备资料,采取电子文档与纸质资料相结合方式向人民银行总行报备。各报备单位在报送报备资料电子文档的同时,须将纸质资料经报备单位统计部门负责人签字并加盖部门公章后报备。对统计工作或统计数据具有特别重大影响的事项应经报备单位负责人签字并加盖公章后报备。\n(三)所有纸质报备资料均要求一式两份,其中一份报备,另一份由报备单位留存,以备查阅。\n(四)机构变动情况报备时,应提供有关的文件资料以及金融统计数据生产系统中必备的合法性关系、校验关系等参照信息情况。\n|知识点4|银行保险法人机构各相关部门应承担与监管统计报送有关的业务规则确认、数据填报和审核、源头数据质量治理等工作职责。\n银行保险机构省级、地市级分支机构应明确统计工作部门,地市级以下分支机构应至少指定统计工作团队,负责组织开展本级机构的监管统计工作。\n第二十条  银行保险法人机构归口管理部门及其省级分支机构统计工作部门应设置监管统计专职岗位。地市级及以下分支机构可视实际情况设置监管统计专职或兼职岗位。相关岗位均应设立A、B角,人员数量、专业能力和激励机制应满足监管统计工作需要。\n银行保险法人机构或其县级及以上分支机构应在指定或者变更监管统计负责人、归口管理部门(或统计工作部门、团队)负责人后10个工作日内,向银保监会或其派出机构备案。\n第二十一条  银行保险机构应及时制定并更新满足监管要求的监管统计内部管理制度和业务制度,在制度制定或发生重大修订后10个工作日内向银保监会或其派出机构备案。\n|知识点5|应人民银行总行要求报备的其他统计事项,应按照要求及时报备。\n五、其他\n(一)各单位报备情况将纳入金融统计工作考评,不按规定报备的,视为统计漏报,造成重大后果的,依法予以处理。\n(二)各报备单位可根据本制度,对所管理及所属单位制定相关制度。\n(三)本制度由中国人民银行总行负责解释。\n(四)本制度自发布之日起执行。\n\n\n附表1 金融统计事项报备表\n\n\n\n附表2 \n  统计人员基本情况报备表\n|知识点6|2.对金融统计数据具有较大影响的业务变动情况:会计、信贷及其他业务变动。包括会计制度改革、会计科目名称及核算内容变更;信贷业务调账及系统上线、升级、改造等和其他业务核算变动情况。\n统计业务变动。包括会计账户或业务系统与统计指标的对照关系变更、统计系统改造升级、统计归属变更、统计数据清理、调整及其他统计业务变动情况。\n其他变动。包括通过核销、剥离、置换等方式集中处置不良贷款、开展金融创新业务或开办新业务品种、省际或地区间业务划转、应外部机构(如人民银行、银监会、财税、审计部门等)检查和要求而进行的全国性、区域性数据调整;其他引起统计数据较大变动的业务变动情况等。\n以上三项业务具体报备内容包括业务变动的原因、变动内容、对统计工作和数据的影响、采取的应对方案及与业务变动有关的文件及其他重要事项和资料等。\n(三)统计人员及变动情况。\n各报备单位的统计人员基本情况及调动、离岗等变动情况。统计人员包括各报备单位的统计工作分管领导、统计部门负责人、统计负责人等人员。\n|知识点7|(八)领导、组织本系统开展统计法规和统计质量检查,培训统计人员。\n第五章  统计人员的配备与职责\n第二十七条  统计人员的配备应符合以下要求:\n(一)统计人员要具备良好的职业道德,具有必要的统计专业基础知识和一定的计算机操作技能。\n(二)统计人员必须实行岗位培训,未经岗前培训或培训不合格者不得上岗。经考核不适宜担任统计工作的人员,应及时进行调整。\n第二十八条  中国人民银行分支行统计部门主要负责人的调动,要征得上一级中国人民银行主管部门的同意;各金融机构分支行(公司、局)统计负责人的调动,应当征得其上级主管部门同意并向中国人民银行当地统计部门备案;统计人员调动工作或者离职,应当有符合规定条件的人接管,并须办理交接手续。、,\n第二十九条  中国人民银行分支行、各金融机构及其分支机构,应当根据国家有关规定和工作需要,设置和聘任统计专业技术职务。\n\n用户问题:\n选择题\n在金融统计的工作中,统计人员的岗位变动需要在多少个工作日内完成报备?\n   A. 3日  \n   B. 5日  \n   C. 7日  \n   D. 10日  ", "answer": "相关知识点引用:知识点知识点1、知识点6\n答案:D"}
{"question": "##角色定义##\n你是一个金融监管制度智能问答专家,你需要准确理解检索的金融文档知识来回复用户问题。\n\n##指导规则##\n1、你需要精准理解用户问题,利用检索的金融文档知识来回复用户问题。\n2、用户问题包括选择题和问答题:\n    * 选择题(单选或者多选),你需要结合检索的金融文档知识,准确理解后给出正确选项,你只需要输出正确的选项即可。\n    * 问答题,你需要结合检索的金融文档知识,利用相关信息来回复用户问题,答案需要尽可能简洁且准确,你只需要输出答案即可。\n3、下面是输出格式,你需要按照以下格式输出:\n    相关知识点引用:你需要思考那些知识点是与用户问题相关的,有助于生成准确答案,在这里写入相关知识点。\n    答案:在这里写入回复用户问题的回复,用户问题是选择题时你只需要给出正确的答案选项,用户问题是问答题时你只需要给出精简的回复。\n\n##输入##\n检索的金融文档知识:\n|知识点1|分局应在收到完整的变更申请材料之日起二十个工作日内完成备案手续,并通过主办企业所在地外汇局出具备案通知书。\n(一)合作银行变更的,应提交以下材料:\n1.变更合作银行申请(包括拟选择的合作银行,原账户余额的处理方式等);\n2.加盖银行业务公章的原账户余额对账单;\n3.主办企业与变更后合作银行签署的《跨国公司跨境资金集中运营业务办理确认书》;\n4.原备案通知书复印件。\n(二)主办企业变更、成员企业新增或退出、外债和境外放款额度变更、业务种类变更的,除参照第七条提交材料外,还应提交原备案通知书复印件。\n第十一条  主办企业、成员企业发生名称变更、分立、合并的,主办企业应在事项发生之日起一个月内报所在地外汇局,同时提交原备案通知书复印件、变更所涉企业的相关情况说明、涉及变更事项的证明材料(如变更后的营业执照等)。\n第十二条  主办企业应在取得跨国公司备案通知书后一年内开立国内资金主账户并实际办理跨境资金集中运营相关业务,否则备案通知书自颁发满一年之日起失效。\n|知识点2|二、大幅简化外债和境外放款登记。主办企业所在地国家外汇管理局分支局(以下简称所在地外汇局)向主办企业出具备案通知书时,根据经备案集中的额度为其办理一次性外债登记和(或)境外放款登记,主办企业无需分币种、分债权人(或债务人)逐笔办理外债(或境外放款)登记;银行和企业无需报送36号文规定的3张手工报表。\n三、实行资本项目外汇收入结汇支付便利化。跨国公司主办企业在办理国内资金主账户内资本项目外汇收入支付使用时,无需事前向合作银行逐笔提供真实性证明材料;合作银行应按照展业原则进行真实合规性审核。\n四、完善准入退出机制。主办企业应在取得跨国公司备案通知书后一年内开立国内资金主账户,并实际办理跨境资金集中运营相关业务,否则备案通知书自颁发满一年之日起失效。跨国公司可在经外汇局备案后,停止办理跨国公司跨境资金集中运营业务。\n五、调整优化账户功能。\n|知识点3|申报单号码由发生实际收付款的银行编制,交易编码按照实际交易性质填报。境内银行应将还原数据的“银行业务编号”填写为所对应的实际收付款数据的申报号码,以便建立集中收付数据与还原数据间的对应关系。境内银行应为主办企业提供申报渠道等基础条件,并负责将还原数据的基础信息和申报信息传送到外汇局。\n第六章  账户管理\n第二十七条  跨国公司的主办企业可持备案通知书,在经备案的合作银行直接开立国内资金主账户,办理跨境资金集中运营相关业务。\n跨国公司可以根据经营需要,选择一家境外成员企业,在经备案的合作银行开立NRA账户,集中运营管理境外成员企业资金。\n第二十八条  国内资金主账户可以是多币种(含人民币)账户,开户数量不予限制,但应符合审慎监管要求;国内资金主账户允许日间及隔夜透支;透支资金只能用于对外支付,收到资金后应优先偿还透支款。\n|知识点4|但外债的借入和偿还应通过主办企业的国内资金主账户进行。\n第十八条  主办企业所在地外汇局在为其出具备案通知书时,应在国家外汇管理局相关信息系统中按照经备案的外债集中额度为主办企业办理一次性外债登记。主办企业通过国内资金主账户融入和偿还外债资金时,应按照现行规定办理国际收支申报,无需再到所在地外汇局逐笔办理外债签约登记。\n第四章  境外放款额度集中管理\n第十九条  跨国公司可根据宏观审慎原则,集中境内成员企业的境外放款额度,并在所集中的额度内遵循商业惯例自行开展境外放款业务。\n第二十条  跨国公司主办企业可以按照以下公式集中境内成员企业全部境外放款额度。\n跨国公司境外放款集中额度≤Σ主办企业及参与集中的境内成员企业上年末经审计的所有者权益*境外放款杠杆率*宏观审慎调节参数。\n初始时期,境外放款杠杆率为0.3,宏观审慎调节参数为1。\n|知识点5|初始时期,境外放款杠杆率为0.3,宏观审慎调节参数为1。国家外汇管理局可根据整体境外放款情况、期限结构、币种结构等对境外放款杠杆率和宏观审慎调节参数进行调节。\n第二十一条  参与跨国公司跨境资金集中运营业务并被集中境外放款额度的成员企业,自主办企业递交申请之日起,原则上不得自行开展境外放款业务。在主办企业递交申请之前,成员企业已经自行开展境外放款业务的,在其境外放款全部收回之前,原则上不得作为成员企业参与境外放款额度集中。\n第二十二条  主办企业可以自身为实际放款人进行境外放款,也可以成员企业为实际放款人代理其进行境外放款。境外放款资金的融出和收回应通过主办企业的国内资金主账户进行。\n第二十三条  主办企业所在地外汇局在为其出具备案通知书时,应在国家外汇管理局相关信息系统中按照经备案的境外放款集中额度为主办企业办理一次性境外放款额度登记。\n|知识点6|合作银行应及时关闭主办企业据此开立的国内资金主账户;主办企业所在地外汇局也应在相关信息系统中及时维护额度等有关信息。\n第十三条  跨国公司需要停止办理跨境资金集中运营业务的,主办企业处理完毕相关债权债务、关闭国内资金主账户后,应通过所在地外汇局向分局备案,提交备案申请,包括跨国公司跨境资金集中运营的外债额度及境外放款额度集中、跨境收支及结售汇、国内资金主账户的关闭等相关情况。\n跨国公司仅停止办理经常项目资金集中收付和轧差净额结算业务的,无需办理备案手续,但主办企业应在停止办理后二十个工作日内向所在地外汇局书面报告。\n分局应在收到完整的跨国公司跨境资金集中运营备案申请材料之日起二十个工作日内完成备案手续,并通过主办企业所在地外汇局收回原备案通知书原件。\n第三章  外债额度集中管理\n第十四条  跨国公司可根据宏观审慎原则,集中境内成员企业外债额度,并在所集中的额度内遵循商业惯例自行开展外债业务。\n|知识点7|在特定情况下,非金融企业或非银行金融机构可直接向国家外汇管理局提出申请。\n国家外汇管理局在收到中国外汇交易中心的备案申请材料后,应在15个工作日之内对备案材料予以审核并出具《银行间即期外汇市场会员资格备案通知书》(以下简称《通知书》)。《通知书》一式四份,一份送交申请人,一份送交中国外汇交易中心,一份送交所在地分局(外汇管理部),一份存档备查。对于不符合条件而不予以备案的,通知书中同时注明原因。\n三、申请材料\n(一)非金融企业申请银行间即期外汇市场会员资格时,须提交以下备案申请材料:\n1.申请报告,并在报告中说明申请目的、人员配备和交易系统等情况。\n2.上年度经常项目跨境外汇收支和货物贸易进出口总额等有关情况的报告,包括贸易方式、主要贸易产品、主要进出口市场等。\n3.上年度外汇收支和结售汇业务情况,包括月度和年度外汇收支情况和结售汇情况。\n4.\n|知识点8|未落实之前,银监会不再核准除补充挂钩地点之外的村镇银行设立计划。\n(五)主发起行应按照“先西部、后东部,先欠发达县域、后发达县城”原则,积极开展已批准地点的村镇银行筹建工作。在主发起行未完成已批准地点的村镇银行开业前,银监会不再核准其新的村镇银行设立计划。\n(六)如主发起行资质变化不符合有关准入条件,以及存在对主发起行产生重大负面影响的情形,会内机构监管部门在会签合作部并报会领导批准后,备案终止其主发起行资格,相应取消其已获核准但尚未筹建的村镇银行设立计划。\n\n用户问题:\n选择题\n如果主办企业未能按时开立国内资金主账户,备案通知书何时自动失效?\n   A. 备案提交后半年  \n   B. 颁发满一年当日  \n   C. 首次业务办理失败次日  \n   D. 合作银行提出异议后一周  ", "answer": "相关知识点引用:知识点1,知识点2\n答案:B"}
{"question": "##角色定义##\n你是一个金融监管制度智能问答专家,你需要准确理解检索的金融文档知识来回复用户问题。\n\n##指导规则##\n1、你需要精准理解用户问题,利用检索的金融文档知识来回复用户问题。\n2、用户问题包括选择题和问答题:\n    * 选择题(单选或者多选),你需要结合检索的金融文档知识,准确理解后给出正确选项,你只需要输出正确的选项即可。\n    * 问答题,你需要结合检索的金融文档知识,利用相关信息来回复用户问题,答案需要尽可能简洁且准确,你只需要输出答案即可。\n3、下面是输出格式,你需要按照以下格式输出:\n    相关知识点引用:你需要思考那些知识点是与用户问题相关的,有助于生成准确答案,在这里写入相关知识点。\n    答案:在这里写入回复用户问题的回复,用户问题是选择题时你只需要给出正确的答案选项,用户问题是问答题时你只需要给出精简的回复。\n\n##输入##\n检索的金融文档知识:\n|知识点1|三、《指导意见》主要规范要求是什么? \n答:根据实质重于形式原则,按照是否实质性开展经营活动,《指导意见》将异地非持牌机构划分为异地经营性非持牌机构(以下简称“经营性机构”)与异地非经营性非持牌机构(以下简称“非经营性机构”),并根据风险外溢程度与风险管理需求的不同分别提出规范要求。\n对于经营性机构,《指导意见》要求银行业金融机构按照《中资商业银行专营机构监管指引》(银监发〔2012〕59号)相关要求,根据实质重于形式原则,对符合持牌要求的,按照行政许可程序申领专营机构或专营机构分支机构金融许可证;对不符合持牌要求的,将其并入当地分支行管理或予以撤销。在坚守定位、风险为本的原则下,《指导意见》规定除经国务院银行业监督管理机构批准外,银行业金融机构不得在当地无分支机构的地区设立专营机构及其分支机构。\n|知识点2|异地非持牌机构包括异地经营性非持牌机构与异地非经营性非持牌机构(以下简称“经营性机构”与“非经营性机构”)。\n经营性机构指银行业金融机构在异地设立的,按照实质重于形式原则,面向公众或交易对手开展经营活动,可能产生以下影响的机构:\n(一)给银行业金融机构带来信用风险、市场风险、流动性风险、操作风险、声誉风险、法律风险、国别风险、战略风险等相关风险;\n(二)对存款人和其他客户的合法权益构成损害;\n(三)引发系统性区域性金融风险;\n(四)对金融安全和金融稳定产生其他影响。\n经营性机构包括但不限于银行业金融机构在异地设立且实质从事业务经营、产品营销、市场拓展、项目调查、风险评估等相关经营活动的事业部及其分部、业务部、管理部、代表处、办事处、业务中心、经营团队等。\n非经营性机构指银行业金融机构在异地设立的不开展经营活动,仅为相关业务提供后台服务的机构。\n|知识点3|对于境内非经营性机构,《指导意见》要求银行业金融机构至少提前2个月向法人监管机构及拟设立非经营性机构的所在地监管机构报告,并定期向法人监管机构报告境内非经营性机构相关情况。除对部分特殊情况豁免外,不得在境内无分支机构的地区设立非经营性机构,不得在异地集中设立多个非经营性机构。严禁以非经营性机构之名,实质对外开展经营活动。\n四、《指导意见》对监管职责是如何划分的?\n答:《指导意见》强调银行开展各类经营活动,必须持有金融许可证。异地非持牌机构清理规范后,对于异地持牌机构,《指导意见》重申所在地监管机构的主体监管责任,法人监管机构在法人监管整体框架内对其依法监管。对于非经营性机构,明确法人监管机构的主体监管责任,同时赋予所在地监管机构监管约谈、下达监管意见书、监管通报、现场检查、行政处罚等监管权力。\n五、《指导意见》的过渡期是如何安排的?\n|知识点4|非经营性机构指银行业金融机构在异地设立的不开展经营活动,仅为相关业务提供后台服务的机构。包括但不限于银行业金融机构在异地设立的区域审批中心、审计中心、灾备中心、软件开发中心、账务处理中心等。\n四、银行业金融机构应当按照《中资商业银行专营机构监管指引》(银监发〔2012〕59号,以下简称《指引》)要求,根据实质重于形式原则,对符合持牌要求的经营性机构,按照行政许可程序申领专营机构或专营机构分支机构金融许可证;对不符合持牌要求的,将其并入当地分支行管理或予以撤销。\n银行业金融机构应当结合本行发展战略、风险管理水平、内部控制能力,以及异地非持牌机构业务开展情况规范经营性机构。对于申领专营机构或其分支机构金融许可证的,应当严格按照《指引》要求加强管理,确保其风险管理和内控体系健全有效。\n|知识点5|监管机构应当各司其职,避免监管空白与监管重叠。\n(三)分类施策。监管机构应当根据不同类型银行业金融机构特点,对异地非持牌机构进行分类指导,精准施策。按照实质重于形式原则,区分经营性机构与非经营性机构,并根据风险外溢程度与风险管理需求的不同提出针对性规范要求。\n(四)新老划断。银行业金融机构当前存续的异地非持牌机构应当在过渡期内有计划整改。新设异地持牌机构应当严格履行行政审批程序,新设异地非经营性机构应当严格履行报告义务。\n二、本指导意见所称银行业金融机构是指在中华人民共和国境内设立的商业银行、农村信用合作社等吸收存款的金融机构以及国家开发银行、政策性银行。\n三、异地非持牌机构是指未经银行业监督管理机构批准,银行业金融机构在异地拥有固定营业场所或配备专门人员,实质开展经营性业务或为相关业务提供后台服务的机构。\n|知识点6|银行业金融机构应当建立健全对非经营性机构的管理机制,包括风险管理、内部控制、考核机制、人员管理等。银行业金融机构应当确保非经营性机构严格遵守其业务范围规定。严禁以非经营性机构之名,实质对外开展经营活动。\n银行业金融机构应当定期向法人监管机构报告境内非经营性机构相关情况,报告频率不得低于每年一次。\n银行业金融机构应当根据本行发展战略和内控管理水平,审慎设立异地非经营性机构,并合理确定机构数量。银行业金融机构不得在境内无分支机构的地区设立非经营性机构,不得在异地集中设立多个非经营性机构;发起设立专司村镇银行管理和服务的除外。\n银行业金融机构在境外设立非经营性机构的相关监管要求另行规定。\n七、除经国务院银行业监督管理机构批准外,银行业金融机构原则上不得设立异地管理总部。\n|知识点7|第二条至第七条明确了《指导意见》规范的范围,异地非持牌机构的定义、分类,并按照实质重于形式原则,根据风险外溢程度与风险管理需求的不同对异地经营性非持牌机构与异地非经营性非持牌机构分别提出规范要求。第八条至第十条明确了整改完成后所在地监管机构承担异地持牌机构的主体监管责任,法人监管机构承担非经营性机构的监管职责,并要求监管机构加强监管联动。第十一条至第十三条对过渡期的监管要求进行了规定。\n\n《指导意见》的发布和实施有利于银行业金融机构专注主业、回归本源、坚守定位,提升服务实体经济的质效。同时,增强银行业金融机构防控风险的主体意识、主体责任,提升全面风险管理水平,促进银行业安全稳健运行。\n|知识点8|当前,银行业异地无序展业问题已得到初步遏制,但整治过程中也存在各地区做法不一、监管标准不同等问题,亟需制定统一的规范要求和监管标准。\n二、《指导意见》制定的原则和主要考虑是什么?\n答:《指导意见》要求按照“坚守定位、风险为本、分类施策及新老划断”的原则对异地非持牌机构进行稳妥有序的清理规范。一是要求银行业金融机构专注主业、回归本源,坚守市场定位,着力提升服务实体经济的质效,避免盲目扩张。二是要求银行业金融机构加强对异地机构的管理,根据本行发展战略,完善公司治理,提高风险管理水平和内部控制能力。三是按照实质重于形式原则,将异地非持牌机构分为经营性机构与非经营性机构,分别提出针对性规范要求。四是充分考虑不同类型机构差异,对异地非持牌机构的规范不搞“一刀切”,给予充分的过渡期,允许银行业金融机构在过渡期内有计划、分步骤整改。\n三、《指导意见》主要规范要求是什么?\n\n用户问题:\n选择题\n下列哪些属于异地经营性非持牌机构的典型特征?\n   A. 区域审批中心的日常运作  \n   B. 事业部下属的分部实际开展市场营销  \n   C. 软件研发中心的技术支持活动  \n   D. 驻外办事处的信贷合同签署  ", "answer": "相关知识点引用:知识点1,知识点2,知识点4\n答案:B、D"}
{"question": "##角色定义##\n你是一个金融监管制度智能问答专家,你需要准确理解检索的金融文档知识来回复用户问题。\n\n##指导规则##\n1、你需要精准理解用户问题,利用检索的金融文档知识来回复用户问题。\n2、用户问题包括选择题和问答题:\n    * 选择题(单选或者多选),你需要结合检索的金融文档知识,准确理解后给出正确选项,你只需要输出正确的选项即可。\n    * 问答题,你需要结合检索的金融文档知识,利用相关信息来回复用户问题,答案需要尽可能简洁且准确,你只需要输出答案即可。\n3、下面是输出格式,你需要按照以下格式输出:\n    相关知识点引用:你需要思考那些知识点是与用户问题相关的,有助于生成准确答案,在这里写入相关知识点。\n    答案:在这里写入回复用户问题的回复,用户问题是选择题时你只需要给出正确的答案选项,用户问题是问答题时你只需要给出精简的回复。\n\n##输入##\n检索的金融文档知识:\n|知识点1|采纳情况:未予采纳。意见与柜台业务开办机构应加强内控管理的政策导向不符。\n\n七、建议柜台业务开办机构应对在其柜台开户的资产管理产品实施穿透式管理。\n采纳情况:未予采纳。穿透式管理为资产管理机构的职责。此外,柜台债券业务作为银行间债券市场的延伸,柜台业务开办机构对债券的托管职责应与银行间债券市场基础设施保持一致。\n\n八、建议对投资者在银行间债券市场和柜台市场同时开户做出限制。\n采纳情况:未予采纳。给予投资者多元化选择,通过一定的竞争提高市场运行效率。\n\n\n感谢社会各界对推动银行间债券市场柜台业务发展工作的关心和支持!\n\n\n中国人民银行\n2024年2月29日\n|知识点2|投资者可以在不同开办机构开立债券账户,并可以在已开立的债券账户之间申请债券的转托管。\n未经中国人民银行同意,已在债券登记托管结算机构开户的机构投资者,不能在开办机构开立债券账户。债券登记托管结算机构应当为开办机构查询开户情况提供便利。\n第十六条 开办机构应当在债券登记托管结算机构开立代理总账户,记载由其托管、属于柜台业务投资者的债券总额。\n开办机构应当严格区分自有债券和投资者托管的债券,不得挪用投资者的债券。开办机构应当每日及时向债券登记托管结算机构发送结算指令和柜台业务托管明细数据。\n第十七条 债券登记托管结算机构应当建立柜台债券账务复核查询系统,方便投资者查询债券账户余额。\n债券登记托管结算机构应当根据开办机构发送的有关数据及结算指令,每日及时完成开办机构自营账户与代理总账户之间的债券结算。\n|知识点3|本通知所称投资者是指符合《全国银行间债券市场柜台业务管理办法》第九条  规定的投资者,包括个人投资者、企业和金融机构。\n第二条  本通知所称柜台业务开办机构是指符合《全国银行间债券市场柜台业务管理办法》第四条规定的金融机构。\n第三条  投资者可通过柜台业务开办机构投资国债、地方政府债券、金融债券、公司信用类债券等银行间债券市场债券品种,投资者适当性应当符合《全国银行间债券市场柜台业务管理办法》的规定。\n已在银行间债券市场交易流通的各类债券品种通过柜台投资交易,不需要经发行人认可。\n第四条  柜台业务开办机构应当为投资者开立债券账户和办理债券登记、托管、结算等业务。已在银行间债券市场登记托管结算机构开立债券账户的投资者,在柜台业务开办机构开立债券账户,不需要经中国人民银行同意。获准进入银行间债券市场的境外投资者,可通过柜台业务开办机构和境内托管银行开立债券账户。\n|知识点4|开办机构可以代理投资者与全国银行间债券市场其他投资者开展债券交易,开办机构应当采用适当风险防范机制,防范代理交易模式下的相关风险。\n第十三条 开办机构及投资者的债券交易行为应当遵守全国银行间债券市场及其机构监管部门关于关联交易的规定。\n第十四条 开办机构应当及时将柜台业务投资者信息及报价成交信息传至全国银行间同业拆借中心进行备案。开办机构与投资者达成债券交易后,应当及时采用券款对付的方式为投资者办理资金清算和债券结算。\n全国银行间同业拆借中心应当及时将柜台业务成交信息传输至债券登记托管结算机构。\n第十五条 投资者应当在开办机构开立债券账户,用于记载所持有债券的品种、数量及相关权利。开户时,投资者应当向开办机构提交真实、准确、完整的开户材料。\n投资者可以在不同开办机构开立债券账户,并可以在已开立的债券账户之间申请债券的转托管。\n|知识点5|柜台业务开办机构为金融机构提供柜台债券业务服务的,应当在银行间债券市场债券投资、交易量均居前列,且具备健全的内控机制和良好的金融资产登记托管、结算、资金清算能力。\n第八条  柜台业务开办机构应当制定柜台业务规则,建立合理的投资者适当性管理制度,向投资者提供与其风险承受能力相匹配的债券品种与交易品种。\n第九条  柜台业务开办机构应当加强柜台业务内控管理和系统建设,做好交易服务全程留痕,严格规范柜台债券交易流转、托管结算、信息安全等相关操作流程,切实防范柜台业务风险。\n柜台业务开办机构应当明确与投资者之间的风险权责关系,充分揭示风险,完善纠纷处理机制,有效保障投资者合法权益。\n\n用户问题:\n问答题\n如果投资者已经在银行间市场有债券账户,还能否通过柜台另开账户?", "answer": "相关知识点引用:知识点知识点3\n答案:可以,已在银行间债券市场登记托管结算机构开立债券账户的投资者,在柜台业务开办机构开立债券账户,不需要经中国人民银行同意。"}

九、统计无法生成答案的情况

else:error_count+=1
  • 如果模型返回“无法根据检索上下文推导出答案”,则计为失败


十、文件关闭与统计输出

sft_data.close()
print(correct_count, error_count, choose_count)
  • 关闭文件

  • 输出:

    • correct_count → 成功构造 SFT 样本数

    • error_count → 无法生成样本数

    • choose_count → 选择题匹配数


🔑 总结

这段代码的核心是 把 RAG + CoT 生成结果转换成可训练 SFT 数据集

  1. 遍历 RAG 生成结果 + 原始数据

  2. 构造 Prompt(问题 + 上下文)

  3. 调用 LLM(Qwen)做 CoT 生成答案

  4. 拆分成:

    • 相关知识点引用(CoT)

    • 答案(选择题 A/B/C 或开放题文本)

  5. 格式化为 JSON,并写入微调数据集

  6. 同时统计构造成功、失败和选择题匹配数

结果文件可直接用作 SFT 微调数据集,训练模型在给定上下文下生成带引用的答案。


2、已经有了预测结果为什么需要LLM再回答问题

我们一起来拆解为什么在已经有 testB-8446.json(预测结果)的情况下,还要再调用一次模型 qwen_chat(CONTEXT_ANSWER_SCORE_input)


💡 一句话总结

已经有 testB-8446.json 的 RAG 结果,但那只是“原始预测”。
这一步重新调用 qwen_chat() 是为了 把原始预测加工成高质量、可用于 SFT 微调的“教师答案” —— 即生成带推理过程(CoT)和知识引用的标准回答。


🔍 背后逻辑详细解释

1️⃣ 现有文件 testB-8446.json 只是原始预测结果

testB-8446.json 通常来自 RAG 模型(比如你用过的 Qwen + 向量数据库检索),格式大致是:

{"context": ["知识点1:……","知识点2:……"],"answer": ["B"]
}

也就是说,它只包含:

  • 模型检索出来的上下文片段(context);

  • 模型生成的简短答案(answer)。

并不包含推理链(CoT)或知识引用解释
这些内容对人类评估、以及微调模型时引导“如何根据上下文推理”都非常重要。


2️⃣ qwen_chat() 这一步是“教师模型”加工环节

CONTEXT_ANSWER_SCORE_input = CONTEXT_ANSWER_SCORE.format(query_str=input_data, context_str=context_str)
result = qwen_chat(CONTEXT_ANSWER_SCORE_input)

这一行的作用是让更强的模型(如 Qwen-14B 或 Qwen2-72B)重新审阅原始上下文和问题,并生成更完整、更教学式的输出:

📘 模型输入模板(推测)
请基于以下上下文回答问题。如果上下文中无法找到答案,请说明无法推导出答案。【上下文】
{context_str}【问题】
{query_str}请输出格式:
相关知识点引用:知识点1, 知识点2
答案:XXXX
📗 模型输出(result)
相关知识点引用:1, 2
答案:B

这一步的输出是“教师模型的带解释答案”,
相比原始预测,它更结构化、可直接训练学生模型。


3️⃣ 生成 SFT 样本:输入 + 教师答案

随后代码会把 qwen_chat 的结果解析出来并写入:

sft_data.write(json.dumps({'question': QA_TEMPLATE_NO_THINK_COT.format(query_str=input_data, context_str=context_str),'answer': final_answer
}, ensure_ascii=False) + '\n')

即:

  • question(输入):包含问题 + 检索上下文

  • answer(输出):包含

    • “相关知识点引用”部分(模型的思维链)

    • “答案”部分(最终回答)


4️⃣ 这样做的目的:生成高质量监督信号

步骤文件内容角色
1️⃣testB.json原始问题输入源
2️⃣testB-8446.jsonRAG预测(短答案)学生模型产出
3️⃣qwen_chat()强模型生成的完整解释答案教师信号
4️⃣testB_ditll_qwen_answer.jsonquestion + answer(带CoT)用于SFT训练

这种方式其实是在做一个 “知识蒸馏 + 数据增强”

  • 让更强的模型(如 Qwen)重写样本;

  • 生成教学式的答案(包括 reasoning + 引用);

  • 用这些数据微调一个更小、更高效的模型;

  • 最终学生模型能学会“如何从上下文中推理出答案”。


✅ 举个具体例子

假设原始数据:

{"category": "选择题","question": "中国的首都是哪里?","content": "A. 上海 B. 北京 C. 广州 D. 深圳"
}

RAG 预测结果(testB-8446.json):

{"context": ["中国的政治中心是北京。", "北京是中国的首都。"],"answer": ["B"]
}

调用 qwen_chat() 后得到结果:

相关知识点引用:1, 2
答案:B

最终写入 testB_ditll_qwen_answer.json

{"question": "选择题\n中国的首都是哪里?\nA. 上海 B. 北京 C. 广州 D. 深圳\n\n上下文:中国的政治中心是北京。\n北京是中国的首都。","answer": "相关知识点引用:知识点1,知识点2\n答案:B"
}

👉 这就成了一个标准的 SFT 训练样本。


🧠 总结关键点

目的为什么
✅ 生成可监督训练的“标准答案”原始预测结果太简略,不适合直接训练
✅ 引入“教师模型推理链”增强学生模型的解释性和上下文推理能力
✅ 格式化数据微调时统一格式,方便 instruction-tuning
✅ 过滤低质量样本如果模型返回“无法推导出答案”,就丢弃

3、lora微调

核心目的是:

利用前面构造好的 “RAG + 教师模型” 微调数据集(rag_sft_train.json),
对 Qwen 模型进行 思维链()增强型微调
让它学会在回答时结合上下文、引用知识点并保持可解释性。


🧩 一、导入依赖与加载数据

from datasets import Dataset
import pandas as pd
from transformers import AutoTokenizer, AutoModelForCausalLM, DataCollatorForSeq2Seq, TrainingArguments, Trainer, GenerationConfig
import torch
from datasets import load_dataset

这些库的作用:

  • transformers:核心微调框架(Hugging Face)

  • datasets:高效加载 JSON 数据集

  • peft(后面会看到):实现 LoRA 低秩适配微调

  • torch:深度学习底层框架


🧠 二、加载模型与数据集

model_dir='../../autodl-tmp/Qwen/Qwen3-4B'
save_model='../../autodl-tmp/lora_weight/'
dataset = load_dataset("json", data_files="rag_sft_train.json")
tokenizer = AutoTokenizer.from_pretrained(model_dir)
  • model_dir:预训练 Qwen 模型的本地路径

  • save_model:LoRA 微调权重保存路径

  • dataset:加载自定义 JSON 格式的训练数据
    每条数据来自前面构造的文件,结构一般是:

    {"question": "选择题\nxxx上下文xxx","answer": "相关知识点引用:知识点1,知识点2\n答案:B"
    }
    

🧱 三、process_func():构建输入和标签

def process_func(example):max_source_length=4096max_target_length=512

1️⃣ 构造对话模板

messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": example['question']}
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=True)

这里用 Qwen 的 chat template(类似 system + user 格式),

  • enable_thinking=True :让 Qwen 支持 <think> 思维标记格式;

  • add_generation_prompt=True :自动在输入末尾加入模型生成起点 <|im_start|>assistant


2️⃣ 构造 instruction + response

instruction = tokenizer(prompt, add_special_tokens=False, max_length=max_source_length, truncation=True)
response = tokenizer(example['answer'], add_special_tokens=False, max_length=max_target_length, truncation=True)
  • instruction:模型看到的输入(用户问题 + 上下文);

  • response:模型要学着生成的输出(标准答案)。


3️⃣ 拼接输入与标签

input_ids = (instruction["input_ids"]+ tokenizer.encode('<think>\n\n</think>\n\n')+ response["input_ids"]+ tokenizer.encode('<|im_end|>')
)
labels = ([-100] * len(instruction["input_ids"])+ tokenizer.encode('<think>\n\n</think>\n\n')+ response["input_ids"]+ tokenizer.encode('<|im_end|>')
)

解释:

  • <think> 是思维标记,用来显式表示“思考过程”;

  • [-100] 是在 Hugging Face Trainer 中表示“忽略 loss 计算”;
    即输入部分(instruction)不计入 loss,只让模型学习生成部分;

  • 模型最终要预测从 <think><|im_end|> 之间的内容。

✅ 这样构造的数据有助于让模型学会:

“在看到问题 + 上下文后,如何思考并回答(带 reasoning 的输出)”。


🧮 四、映射函数到数据集

train_dataset = dataset.map(process_func)['train']

把上面的函数映射到整个数据集,
生成包含:

{"input_ids": [...],"labels": [...]
}

的可训练样本。


🔍 五、加载模型

model = AutoModelForCausalLM.from_pretrained(model_dir, torch_dtype=torch.bfloat16, use_cache=False)
model.enable_input_require_grads()
  • bfloat16:节省显存;

  • use_cache=False:训练时关闭缓存;

  • enable_input_require_grads():LoRA 训练需要反向传播梯度。


🔧 六、配置 LoRA

from peft import LoraConfig, TaskType, get_peft_modelconfig = LoraConfig(task_type=TaskType.CAUSAL_LM, target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"],r=8,lora_alpha=16,lora_dropout=0.1
)
model = get_peft_model(model, config)

LoRA(Low-Rank Adaptation)通过冻结原模型权重、
在注意力和前馈层插入低秩矩阵微调。

参数说明
target_modules指定要插入 LoRA 的层(Transformer 结构中的线性层)
r低秩维度(影响容量和显存)
alpha缩放系数
lora_dropoutDropout 比例

打印训练参数:

print(model.print_trainable_parameters())

输出通常是:

trainable params: 30M || all params: 4B || trainable%: 0.7%

👉 表示只训练少量参数,大幅节省显存和训练时间。


📦 七、定义数据整理器与训练参数

data_collator = DataCollatorForSeq2Seq(tokenizer=tokenizer, model=model, padding=True)

自动填充 batch 的 padding,使序列长度对齐。

args = TrainingArguments(output_dir=save_model, per_device_train_batch_size=1,gradient_accumulation_steps=4,logging_steps=1,num_train_epochs=3,learning_rate=1e-5,save_strategy="epoch",save_total_limit=1,save_only_model=True,lr_scheduler_type="cosine",weight_decay=0.01,warmup_ratio=0.1,gradient_checkpointing=True,
)

关键超参解释:

参数含义
batch_size=1显存受限,用累积梯度替代
gradient_accumulation_steps=4累积4步相当于batch=4
learning_rate=1e-5微调学习率
gradient_checkpointing=True减少显存占用(代价是稍慢)
save_strategy="epoch"每个 epoch 保存一次
save_only_model=True只保存权重(不含优化器状态)

🚀 八、训练启动

trainer = Trainer(model=model,args=args,train_dataset=train_dataset,data_collator=data_collator
)
trainer.train()
  • Trainer 会自动管理训练 loop、梯度累积、保存权重;

  • 最终得到的 lora_weight 可用于推理时加载:

    model = AutoModelForCausalLM.from_pretrained(base_model, device_map="auto")
    model = PeftModel.from_pretrained(model, "lora_weight/")
    

📊 九、整体流程图总结

          ┌──────────────────────┐│ rag_sft_train.json   │ ←── 你前面生成的SFT样本└─────────┬────────────┘│load_dataset()│▼process_func() 构造输入输出├── input_ids (问题+上下文)└── labels (思维链+答案)│▼AutoTokenizer & Qwen3-4B│▼LoRA 注入 + Trainer 训练│▼LoRA权重保存到 lora_weight/

✅ 总结要点

模块功能说明
rag_sft_train.json训练数据来自RAG+Qwen生成的问答对
process_func构造训练样本把question/answer变成token序列
<think> 标记思维链格式让Qwen学会可解释推理
LoRA参数高效微调节省显存和训练资源
Trainer自动训练循环控制日志、保存、调度等

4、合并lora权重


🧠 一、总体功能概述

目标:
把在训练过程中得到的 LoRA 参数(增量权重)合并到原始 Qwen3-8B 模型的权重中,
最终得到一个 “包含微调效果的完整模型”,无需再依赖 LoRA adapter 加载。

也就是说:

  • 原始模型:Qwen3-8B

  • LoRA 微调权重:../../autodl-tmp/lora_weight/checkpoint-459

  • 合并后模型:../../autodl-tmp/Qwen3-8B_lora


🧩 二、逐行讲解


1️⃣ 导入依赖

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
from peft import PeftModel
  • transformers:用于加载基础模型与分词器;

  • torch:底层张量计算框架;

  • peft:参数高效微调(Parameter-Efficient Fine-Tuning)库,用于加载与合并 LoRA。


2️⃣ 定义路径

mode_path = '../../autodl-tmp/Qwen3-8B/'
lora_path = '../../autodl-tmp/lora_weight/checkpoint-459'
output_path = '../../autodl-tmp/Qwen3-8B_lora'
变量说明
mode_path原始 Qwen3-8B 模型所在路径
lora_path微调好的 LoRA 权重 checkpoint
output_path合并后模型的保存路径

3️⃣ 加载分词器(Tokenizer)

tokenizer = AutoTokenizer.from_pretrained(mode_path)
  • 从基础模型目录中加载分词器;

  • LoRA 不会修改 tokenizer,因此直接复用即可。


4️⃣ 加载原始模型

model = AutoModelForCausalLM.from_pretrained(mode_path, device_map="auto", torch_dtype=torch.bfloat16)

加载原始 Qwen3-8B 模型:

  • device_map="auto":自动将模型权重分配到 GPU(或多个 GPU)。

  • torch_dtype=torch.bfloat16:节省显存,保持训练数值稳定性。


5️⃣ 定义 LoRA 配置

from peft import LoraConfig, TaskType, get_peft_model
config = LoraConfig(task_type=TaskType.CAUSAL_LM, target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"],inference_mode=True, r=8,lora_alpha=16,lora_dropout=0.1
)

📘 说明:这些参数要 与训练时 LoRA 配置一致

参数含义
task_type=TaskType.CAUSAL_LM说明模型是自回归语言模型
target_modules指定插入 LoRA 的线性层(通常是 Q、K、V、O等)
r=8低秩分解维度(越大表示 LoRA 参数容量越大)
lora_alpha=16缩放因子(调节更新幅度)
lora_dropout=0.1训练时 dropout 比例
inference_mode=True表示当前是推理模式,不再训练

6️⃣ 加载并应用 LoRA 权重

merge_model = PeftModel.from_pretrained(model, model_id=lora_path, config=config)

解释👇

  • PeftModel.from_pretrained() 会在原始模型的指定层上加载 LoRA 适配器(Adapter)。

  • 这些适配器参数来自于 lora_path(即微调训练产生的 checkpoint)。

  • 返回的 merge_model 包含:

    • 原始 Qwen3-8B 权重

    • LoRA Adapter 层参数(新增)


7️⃣ 合并 LoRA 参数到主模型

model = merge_model.merge_and_unload()

🔹 merge_and_unload() 的作用:

将 LoRA 的低秩矩阵 权重更新值合并到主模型权重中
然后卸载掉 LoRA adapter 层,得到一个「纯净的合并后模型」。

简化理解为:

合并前:W = W_base + A @ B * α / r
合并后:W_new = W_base + ΔW

即将 LoRA 更新(ΔW)写入原始模型的每个目标层中。
这样推理时就不再需要 peft 模块,直接使用 transformers 加载即可。


8️⃣ 保存合并后的模型

model.save_pretrained(output_path)
tokenizer.save_pretrained(output_path)

将模型和分词器一起保存到目标路径:

../../autodl-tmp/Qwen3-8B_lora/
├── config.json
├── pytorch_model.bin
├── tokenizer.json
├── tokenizer_config.json
└── special_tokens_map.json

✅ 三、运行结果

执行完毕后,你得到的是一个:

✅ 含有 LoRA 微调效果的完整 Qwen3-8B 模型
✅ 可以直接通过 AutoModelForCausalLM.from_pretrained(output_path) 使用
✅ 无需再加载任何 LoRA adapter

例如:

from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("../../autodl-tmp/Qwen3-8B_lora", device_map="auto", torch_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained("../../autodl-tmp/Qwen3-8B_lora")

然后就能直接推理了:

prompt = "Explain what Retrieval-Augmented Generation (RAG) is."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=300)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

🧩 四、总结一览表

步骤操作作用
1加载原始模型获取 Qwen3-8B 基础参数
2加载 LoRA 配置指定微调时的低秩结构
3加载 LoRA 权重应用 Adapter 层更新
4merge_and_unload()将 LoRA 权重写入主模型
5保存模型生成可独立推理的模型文件

5、推理验证


🧩 一、整体功能概述

这段代码的核心目标是:

✅ 加载合并后的 Qwen3-8B 模型(包含你微调的 LoRA 权重)
✅ 对一组测试问题(rag_sft_test.json)进行生成推理
✅ 打印出模型预测结果与标准答案(answer 字段)进行人工对比


🧠 二、逐行详细解释


1️⃣ 导入依赖

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
import jieba
  • transformers:Hugging Face 的核心库,用于加载模型和分词器;

  • torch:PyTorch 张量运算库;

  • jieba:中文分词库(这里导入了但没有用到);

  • BitsAndBytesConfig:可用于 8bit/4bit 量化推理(当前未使用)。


2️⃣ 加载合并后的 Qwen3-8B 模型

model_name="../../autodl-tmp/Qwen3-8B_lora"
llm = AutoModelForCausalLM.from_pretrained(model_name,torch_dtype=torch.float16,device_map="auto",)
参数说明
model_name模型路径:你在上一步保存的 Qwen3-8B_lora
torch_dtype=torch.float16使用 FP16 精度,节省显存
device_map="auto"自动将模型分配到 GPU 设备上(多 GPU 时自动分片)

💡说明:
因为你在前面已经用 merge_and_unload() 合并了 LoRA 权重,这里加载的是一个完整模型,无需 peft 依赖。


3️⃣ 修正 pad_token_id

llm.config.pad_token_id = llm.config.eos_token_id

有些 Qwen 模型在生成时没有定义 padding token,这行代码做了一个修复:

pad_token(填充符)使用 eos_token(句子结束符)代替,避免生成时出现警告或错误。


4️⃣ 加载分词器(Tokenizer)

tokenizer = AutoTokenizer.from_pretrained(model_name)

从同一模型目录加载对应的分词器,用于:

  • 编码输入(转为 token ids)

  • 解码输出(token ids → 中文文本)


5️⃣ 定义推理函数

def model_generate_nothink(text):messages = [{"role": "user", "content": text}]text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True,enable_thinking=False)

这一段在构建输入模板:

  • Qwen 系列使用“聊天模板 (chat template)”来组织输入;

  • apply_chat_template 会自动在输入中加上 system / user / assistant 标签;

  • add_generation_prompt=True 告诉模型“现在轮到你生成回复了”;

  • enable_thinking=False 表示不插入 <think> 思维链(即普通生成模式)。

举例:
输入文本 text="介绍一下RAG技术"
模板化后会变成类似:

<|im_start|>user
介绍一下RAG技术
<|im_end|>
<|im_start|>assistant

接着进行编码:

    model_inputs = tokenizer([text], return_tensors="pt").to(llm.device)
  • 把输入文本转为 token 序列;

  • 放到模型所在设备(GPU)上。


生成输出:

    generated_ids = llm.generate(**model_inputs,max_new_tokens=32768)
  • 让模型根据输入生成文本;

  • max_new_tokens=32768 表示允许生成最长 32k token;
    (非常大,通常设置为 1024~4096 即可)


提取模型新生成的内容:

    output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()response = tokenizer.decode(output_ids, skip_special_tokens=True)return response
  • 去掉输入部分,只保留模型生成的回答;

  • decode() 将 token 转回中文;

  • 返回最终回答字符串。


6️⃣ 读取测试数据

testA = open('./rag_sft_test.json','r').readlines()
print(len(testA))
import json
  • 打开一个 JSON 测试集文件;

  • 每一行是一个样本;

  • 打印样本数量。

测试集结构一般类似:

{"question": "什么是RAG?", "answer": "RAG是检索增强生成技术"}

7️⃣ 推理与对比输出

for item in testA:item = json.loads(item)ques = item['question']ans = item['answer']print(model_generate_nothink(ques))print(ans)

执行流程:

  1. 遍历每个样本;

  2. 提取问题 ques 与标准答案 ans

  3. 调用模型生成回答;

  4. 打印出:

    • 模型预测输出;

    • 正确答案(人工对比效果)。


🧾 三、执行结果样例

假设测试集中一行是:

{"question": "请解释RAG的核心思想", "answer": "RAG结合了检索和生成模型,通过从外部知识库中检索相关文档增强生成质量。"}

运行结果可能是:

模型输出:
RAG是一种检索增强生成技术,它通过引入外部文档信息提升生成回答的准确性。
标准答案:
RAG结合了检索和生成模型,通过从外部知识库中检索相关文档增强生成质量。

✅ 四、总结一览表

步骤操作作用
1加载模型与分词器从合并后的权重加载完整 Qwen3-8B
2修复 pad token防止 padding 报错
3构建聊天输入使用 Qwen 聊天模板格式化输入
4推理生成调用 .generate() 获取模型输出
5解码与打印输出模型预测与标准答案

💡 五、可优化建议

  1. 生成长度太大:

    max_new_tokens=32768
    

    这个太大,会浪费显存和时间。一般建议:

    max_new_tokens=1024
    
  2. 批量推理加速:
    你可以使用批量输入(batch inference)提高速度:

    batch = tokenizer(list_of_questions, return_tensors="pt", padding=True, truncation=True).to(llm.device)
    
  3. 输出对比更清晰:
    可打印为:

    print(f"Q: {ques}\nA(pred): {pred}\nA(true): {ans}\n{'-'*50}")
    

6、全量微调


🧠 一、总体功能概述

对 Qwen3-4B 大语言模型进行监督式微调 (SFT, Supervised Fine-Tuning)
使用自定义的 JSON 数据集(rag_sft_train.json),
模型学习如何根据输入问题(question)生成回答(answer)。

最终目标:
✅ 输入「用户问题」 → 输出「高质量回答」,并保存完整微调后的模型权重(非 LoRA)。


🧩 二、代码结构分解讲解

1️⃣ 导入依赖

from datasets import Dataset
import pandas as pd
from transformers import AutoTokenizer, AutoModelForCausalLM, DataCollatorForSeq2Seq, TrainingArguments, Trainer
import torch
from datasets import load_dataset

主要依赖:

  • transformers:Hugging Face 的核心库,提供模型加载、tokenizer、训练接口。

  • datasets:处理 JSON/CSV/Text 等格式数据。

  • torch:底层训练框架(PyTorch)。

  • pandas:辅助处理数据。


2️⃣ 模型路径和数据加载

model_dir='../../autodl-tmp/Qwen/Qwen3-4B'
save_model='../../autodl-tmp/full_weight/'
dataset = load_dataset("json", data_files="rag_sft_train.json")
tokenizer = AutoTokenizer.from_pretrained(model_dir)
  • model_dir:本地预训练模型路径(Qwen3-4B 的权重目录)。

  • save_model:微调后模型保存路径。

  • dataset:读取 rag_sft_train.json 文件为 HuggingFace Dataset 对象。

  • tokenizer:加载与模型匹配的分词器。


3️⃣ 数据预处理函数

def process_func(example):max_source_length=4096max_target_length=512messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": example['question']}]prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=True)

🔹 messages 模拟对话格式(system + user),
这是 Qwen3 系列模型标准输入格式
apply_chat_template 会将这些角色信息转成模型能理解的 prompt 格式。

Qwen3 的特殊参数:

  • add_generation_prompt=True:加上生成提示(告诉模型接下来要生成 assistant 回复)

  • enable_thinking=True:开启思维链 token(<think> 区域)。


instruction = tokenizer(prompt, add_special_tokens=False, max_length=max_source_length,truncation=True)
response = tokenizer(example['answer'], add_special_tokens=False, max_length=max_target_length,truncation=True)
  • instruction:将输入 prompt 编码成 token id。

  • response:将目标回答也编码成 token id。


input_ids = instruction["input_ids"] + tokenizer.encode('<think>\n\n</think>\n\n') + response["input_ids"] + tokenizer.encode('<|im_end|>')
labels = [-100] * len(instruction["input_ids"]) + tokenizer.encode('<think>\n\n</think>\n\n') + response["input_ids"] + tokenizer.encode('<|im_end|>')

🔹 拼接最终训练样本:

部分作用
instruction用户输入部分(模型看到但不计算loss)
<think>...</think>Qwen3 的“思考”占位符,用于链式思维(CoT)训练
response模型需要学习生成的目标文本
`<im_end

⚙️ labels 用 -100 屏蔽前面用户输入部分的loss,只计算模型生成回答部分。


return {"input_ids": input_ids,"labels": labels
}

返回模型训练所需的字段。


4️⃣ 应用到整个数据集

train_dataset = dataset.map(process_func)['train']
  • dataset.map() 会对每一条样本执行 process_func

  • 返回新的 tokenized 数据集。


5️⃣ 模型加载

model = AutoModelForCausalLM.from_pretrained(model_dir,torch_dtype=torch.bfloat16)
model.enable_input_require_grads()
  • 加载预训练 Causal LM(自回归语言模型)。

  • bfloat16:节省显存同时保持训练稳定性。

  • enable_input_require_grads():允许输入层反向传播梯度(通常为训练准备步骤)。

⚠️ 这里是 全参数微调 (Full fine-tuning)
不同于 LoRA,不使用 PEFT 层,直接训练全部参数。


6️⃣ 构建 Data Collator

data_collator = DataCollatorForSeq2Seq(tokenizer=tokenizer, model=model, padding=True)

作用:

  • 自动对 batch 中的样本进行 padding(对齐序列长度)

  • 转成张量供模型训练。


7️⃣ 设置训练参数

args = TrainingArguments(output_dir=save_model, per_device_train_batch_size=1,gradient_accumulation_steps=4,logging_steps=1,num_train_epochs=3,learning_rate=1e-5,save_strategy="epoch",save_total_limit=1,save_only_model=True,lr_scheduler_type="cosine",weight_decay=0.01,warmup_ratio=0.1,gradient_checkpointing=True
)

重点参数说明👇

参数含义
per_device_train_batch_size=1每张GPU一次处理1条数据
gradient_accumulation_steps=4累积4次梯度再反向传播,等效 batch=4
learning_rate=1e-5学习率
num_train_epochs=3训练3轮
gradient_checkpointing=True减少显存占用(代价是略慢)
save_strategy="epoch"每个epoch保存一次模型
save_only_model=True只保存模型参数(不保存优化器状态)
lr_scheduler_type="cosine"学习率余弦退火
weight_decay=0.01权重衰减(正则化)
warmup_ratio=0.1预热阶段比例(学习率逐渐升高)

8️⃣ 构建 Trainer 并启动训练

trainer = Trainer(model=model,args=args,train_dataset=train_dataset,data_collator=data_collator
)
trainer.train()
  • Trainer 是 Hugging Face 提供的高层训练接口。

  • 自动完成:

    • batch 构建

    • 前向传播

    • loss 计算

    • 反向传播

    • 模型保存 / 日志输出

最终结果会在 save_model 目录下生成:

pytorch_model.bin
config.json
tokenizer.json
tokenizer_config.json

🚀 三、总结

部分作用
数据加载从 JSON 文件读取问答样本
数据预处理构造符合 Qwen3 聊天格式的 token 序列
模型加载Qwen3-4B 全参数加载
训练配置使用 Trainer 控制学习率、batch、保存策略等
启动训练完成全参数微调并保存权重

http://www.dtcms.com/a/597984.html

相关文章:

  • 【Qt】RK3576配置Qt5、GStreamer
  • 做消费金融网站价格做网站要用到什么软件
  • 无锡餐饮网站建设网页升级未成年人自行离开
  • CANOE概念与应用
  • 800V超充与V2G时代,AN3V ASIC霍尔传感器如何守护电流安全?
  • 佛山新网站建设哪家好html5特效网站
  • 箱线图生成器
  • 上海网站建设模板站霸网络网页设计与网站开发经济可行性
  • kuboard报错etcd无法访问 etcd 容量 大于 2G 导致报错了 etcdserver: mvcc: database space exceeded
  • 网站导航规划自适应文章网站模板
  • linux 系统查看进程占用物理内存大小方法
  • Electron 快速入门手册
  • AI Agent 之 ReAct 范式:推理与行动的完美结合
  • 杭州绿城乐居建设管理有限公司网站如何网上查个人房产信息
  • ZED2i ROS消息
  • DNS主从服务
  • 怎样做网站3天赚100万wordpress静态页面找不到
  • 辽宁网站建设企业网站 内容 制作
  • 高频面试八股文用法篇(二十)微服务RPC
  • Electron 文件选择功能实战指南适配鸿蒙
  • 在Java中调用MATLAB函数的完整流程:从打包-jar-到服务器部署
  • 破局新能源暗访:卡索(CASO)汽车调查的“三重洞察”艺术
  • 网站建设案例市场wordpress时间文件夹
  • LINUX拯救模式
  • iis 发布网站内部服务器错误推广普通话手抄报
  • 1个ip可以做几个网站吗计算机it培训班
  • 网站策划的内容有那些本科自考报名的时间
  • 从基础建设到全面融合:企业网络与安全架构的进化之路
  • YOLOv8-World 开放词汇检测模型介绍
  • 公司介绍网站怎么做新网域名管理