Qanything 2.0源码解析系列6: PDF解析逻辑

261 阅读1小时+

Qanything 2.0源码解析系列6: PDF解析逻辑

type: Post status: Published date: 2024/12/04 summary: 深入剖析Qanything是如何拆解PDF的,核心是pdf转markdown category: 技术分享

😀 前言: 在前面的文章中探究了图片是怎么进行解析的,这篇文章对rag中最常见的pdf文件进行剖析,看看Qanything是如何将pdf中的内容进行向量化的。
  • 调用sanic_api的接口,只是将文件上传到服务所在的服务器以及增加了一条记录在数据库中,设置status:gray(File表),会有一个额外的文件解析服务,服务地址:qanything_kernel.dependent_server.insert_files_serve.insert_files_server 这个服务负责轮训数据库,每次拿到一条gray状态的数据,File表更新这条记录状态成yellow,然后开始处理这个pdf文件,执行process_data方法。
  • 根据user_id,kb_id,file_id这些信息创建一个LocalFileForInsert对象:

local_file = LocalFileForInsert(user_id, kb_id, file_id, file_location, file_name, file_url, chunk_size, mysql_client)

process_data 的两个核心方法:

核心方法一:local_file.split_file_to_docs

  1. 判断下是什么文件,这里自然是pdf文件了,然后走pdf解析服务的逻辑。
elif self.file_path.lower().endswith(".pdf"):
		# 调用pdf解析服务,得到该文件对应的一个markdown类型的文件路径,如果pdf解析服务发生了异常那么markdown_file=None,正常就是一个文件路径
		# get_pdf_result_sync方法会调用pdf解析服务的接口,这个服务如何启动见下文介绍
    markdown_file = get_pdf_result_sync(self.file_path)
    # 如果一切正常
    if markdown_file:
		    # 将文件内容转换成docs
        docs = convert_markdown_to_langchaindoc(markdown_file)
        docs = self.markdown_process(docs)
        images_dir = os.path.join(IMAGES_ROOT_PATH, self.file_id)
        self.copy_images(os.path.dirname(markdown_file), images_dir)
    # 如果是None,走快速pdf解析的逻辑
    else:
        insert_logger.warning(
            f'Error in Powerful PDF parsing, use fast PDF parser instead.')
        loader = UnstructuredPaddlePDFLoader(self.file_path, strategy="fast")
        docs = loader.load()

以这个文件为例,这个文件有14页,有多个表格,但是没有图片:

九方财富员工考勤与假期管理制度-九方财富管理〔2024〕12号.pdf

markdown_file是一个类似于的文件路径。如下:/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/07a07daec2ac42d497164f7644b7a7fb/九方财富员工考勤与假期管理制度-九方财富管理202412号_md/九方财富员工考勤与假期管理制度-九方财富管理202412号.md

打开这个文件看到如下内容:

  • 上面的pdf抽成的mardown内容如下:

    ## 九方财富员工考勤与假期管理制度
    九方财富管理〔2024〕12 号
    
    第一章 总则
    
    ## 第一条 目的
    为规范员工考勤及假期管理,保障公司业务有序运转,根据国家劳动法及相关规定,结合公司实际情况,制定本制度。
    
    ## 第二条 适用范围
    本制度适用于公司全体员工。
    
    ## 第二章 部门职责与分工
    第三条 人事部作为员工考勤与假期的归口管理部门,负责:(一) 结合法规制定公司假期、考勤标准及相关流程,指导并监督执行;
    
    (二) 负责审核及处理员工的排班;
    
    (三) 考勤相关流程的审批、抽查;
    
    (四) 员工假期额度管理。
    
    第四条 部门负责人为员工考勤管理的首要责任人,须结合工作安排和员工实际情况,据实审批员工补卡、请休假、加班、调休、出差、外出事宜,及时向人事部反馈异常情况并配合调查。
    
    ## 第三章 员工考勤管理
    ## 第五条 工作时间
    ## (一) 工作时间
    1. 标准工时制适用对象为普通员工等类型人员,每天8 小时工作制(不含午休一小时),工作时间为:9:00-12:00,13:00-18:00,
    
    上下班设置30 分钟弹性空间。
    
    2. 不定时工时制适用对象为管理人员、行政采购人员、销售人员、司机等;不定时工时制的人员公司可根据实际工作需要安排进行适当调整。
    
    3. 因业务及工作性质适用综合工时制的人员,常规工作时间为:9:30-11:30,13:00-17:00,18:30-20:30;休息时间分别为:11:30-13:00、17:00-18:30。如有非常规班次需求,部门可每月制定排班表,经部门负责人审批、人事部复核后执行。
    
    4. 上述各类工时制适用对象及工作时间,在符合国家或地区法律法规的前提下,公司根据生产经营与业务需要,可以决定与适时调整该类员工的工作开始时间、结束时间及休息时间。
    
    ## 第六条 考勤管理方式
    (一) 公司统一采用企业号中人力服务平台,作为员工考勤管理平台,访问路径为【企业微信】-【工作台】 -【人力服务平台】,员工考勤相关均需在此处提交申请,包括但不限于补卡、休假、公出、出差等。
    
    (二) 打卡方式:员工通过【企业微信】-【工作台】 -【打卡】或者【企业微信】-【人力服务平台】-【打卡】或【考勤】-【考勤打卡】,该路径是记录员工考勤的主要依据,大楼闸机作为辅助记录。
    
    (三) 员工上、下班均须打卡作为出勤依据,每日上下班的打卡次数至少为2 次,即到达公司一次,离开公司一次。另外,非全天的请假、公出、出差,在离开及到达公司时均须打卡。
    
    (四) 员工应实时提交考勤流程,流程审批完成后方可生效,考勤处理截止日期(当月最后一个自然日)仍未提交或未完成审批
    
    的,缺勤时长均视作旷工处理。
    
    第七条 异常考勤处理
    
    (一) 迟到、早退、未打卡
    
    1. 迟到:比公司规定的上班时间或排班时间晚到15 分钟以内,如工作时间为9:00-18:00 且享受弹性30 分钟的员工在9:30:01-9:44:59 打卡视为迟到。
    
    2. 早退:比公司规定的下班时间或排班结束时间早走15 分钟以内或当日工作时间不满8 小时。
    
    3. 忘/漏打卡:正常出勤,在上班或下班时忘记打卡或没有打上卡。
    
    4. 如因手机故障、系统异常等情况无法打卡,须第一时间向直接上级或部门负责人、对应考勤专员进行报备并提供相关附件。由考勤专员复核后于系统进行考勤异常豁免处理。部门负责人对员工异常打卡情况负有管理责任,如有包庇情况,一经查实,将追究其连带责任。
    
    ## 5. 处理方式
    (1) 迟到、早退、忘/漏打卡月度累计3次(含)以下,人事部每月将员工出勤报告发至部门负责人,由部门负责人监督、管理;
    
    (2) 迟到、早退、未打卡月度累计3次(不含)以上者,给予如下处罚:
    
    ① 一个自然年度内,第一次出现,书面告知员工本人并需员工做出书面保证;
    
    ② 一个自然年度内,累计出现两次,给予员工书面警告并告知部门负责人及部门分管负责人;
    
    ③ 一个自然年度内,累计出现三次及以上者,在公司范围内予以通报批评。
    
    (二) 旷工
    
    旷工指工作时间不请假或请假未批准的缺勤行为。
    
    1. 以下情况视为旷工:
    
    (1) 迟到/早退超过15 分钟者;
    
    (2) 缺勤超过30 分钟(含)者;
    
    (3) 未被准假而不到岗者;
    
    (4) 休假期满后未续假或续假未获批准而逾期不归者;
    
    (5) 工作时间擅自离岗者,包含但不限于去办公大楼附属的娱乐及消费场所、未经获批的外出/出差等行为;
    
    (6) 工作时间恶意消极怠工者,包含但不限于睡觉、打游戏等与工作无关的行为;
    
    (7) 岗位调动、调整不服从分配而逾期不到岗者;
    
    (8) 谎报请假理由,涂改、伪造病假证明,用不正当手段获取假期,经查属实。
    
    注:旷工时长以1小时起计,不足1小时按1小时计。
    
    ## 2. 处罚措施
    (1) 单次旷工低于3小时(含) (2) 单次旷工超过3小时:
    
    ① 扣除缺勤时间工资(不足1 小时按1 小时计算);② 在公司范围内予以通报批评。
    
    (3) 月度累计旷工超过3次(含)或年度累计旷工超过6次(含)、连续或累计旷工3天(含)以上者:
    
    ① 视作自动离职,公司将依法与其解除劳动合同;
    
    ② 对公司造成损失的,公司将依法追究当事人责任。直接上级应在收到员工口头辞职或者未正常到岗当日报人事部备案,因未报备至公司造成损失的,公司有权追究直接上级连带责任。
    
    ## (三) 虚构考勤
    出现以下情形,一经发现视作严重违纪行为,公司将依法与其解除劳动合同。
    
    1. 委托他人或代他人打卡或使用他人手机打卡;
    
    2. 未出勤且无对应请假流程,以忘/漏打卡申请补卡的方式处理未出勤;
    
    3. 未报备外出情况下,于非本人常驻办公地点进行上/下班打卡;
    
    4. 虚构出差或公出并获批。如管理者对员工虚构公出/出差有包庇情况,一经查实,将追究其连带责任。
    
    (四) 员工自身原因导致提交的考勤及请假流程有误,若员工在当月内自行发现,可在当月内通过【企业微信】-【人力服务平台】-【休假】-【我的休假】找到对应单据提交销假申请,若截至当月最后一个工作日下班前,员工仍未发现有误流程,后期不再予以修改及调整。
    
    (五) 凡年度内第一次被通报批评或书面警告者,取消当期优秀员工评选资格;一个自然年度内通报批评累计两次(含)以上,取消该人员年度优秀员工评选资格、12 个月内涨薪及晋升资格;情节严重者,可立即与其解除劳动关系。
    
    ## 第八条 加班
    加班指在规定的工作时间外,因公司安排并经审批的延长工作时间的行为。
    
    (一) 加班原则
    
    1. 公司鼓励高效工作,不鼓励低效加班。
    
    公司鼓励员工在工作时间内专注于自身工作,提高工作效率,做好本职工作。
    
    2. 加班应提前申请并得到批准。
    
    (1) 员工因公司安排延长工作时间的,须遵照加班申请审批流程,经批准后方可生效;
    
    (2) 加班时长以系统内考勤记录作为认定依据。
    
    3. 以下情况不视为加班:
    
    (1) 未经审批的延长工作时间行为。
    
    (2) 非工作时间组织的各项活动,包括但不限于文娱活动、郊游、旅游、体检及其他娱乐活动。
    
    (3) 非工作时间员工自愿参加的培训。
    
    (4) 因本人原因或能力有限造成应该在工作时间内完成而未完成工作任务延长的工作时间。
    
    (5) 加班没有完整考勤记录的。
    
    ## 4. 审批流程
    (1) 应提前通过【企业微信】–【工作台】-【人力服务平台】提交申请,经部门负责人及人事部审批后方可生效。
    
    (2) 由于突发事件发生,无法事先申请加班的,应向部门负责人以邮件、短信、电话、微信等方式报备,取得批准后进行加班。
    
    所有审批,(注:若员工当月最后一个工作日加班,加班流程需在当天下班前完成所有审批),并经部门负责人及人事部审批后方可认定为有效加班,否则视作自动放弃。
    
    ## (二) 加班时间
    1. 以1 小时为最低加班时间,加班以1 小时为计算单位。
    
    2. 加班期间的用餐时间不计入加班时长,用餐时间以0.5 小时为基础,倍数增加。
    
    3. 每月加班总时长不得超过36 个小时。
    
    4. 谎报、伪造加班时长,加班期间擅离职守或从事与本职工作无关者,一经发现,本次加班申请作废并在公司范围内通报批评,情节严重或态度恶劣者予以直接解除劳动关系处理。
    
    ## (三) 加班补偿
    原则上,员工应优先选择非法定节假日加班。
    
    1. 非法定节假日加班
    
    (1) 优先予以调休;
    
    (2) 调休应在次年2 月底前使用完毕,过期自动失效;
    
    (3) 部门应合理安排工作,并安排本部门员工及时进行调休。
    
    ## 2. 法定节假日加班
    如因特殊原因需在法定节假日加班的,部门负责人须至少提前2 个工作日通过邮件方式向人事部申请,经核实确认后方可加班。公司将按法律规定,计发加班费。如未提前申请,人事部有权不予批准。
    
    ## (四) 调休
    1. 员工加班后,应在不影响业务正常开展的情况下申请调休,
    
    并避开公司集体活动(如大型会议、培训等)
    
    员工调休应提前通过“企业微信–工作台-人力服务平台-休假申请”提交申请。
    
    2. 部门应根据工作情况合理安排员工调休,避免集中调休。
    
    ## 第九条 出差与公出
    ## (一) 定义
    外地出差指到常驻城市以外的地方办理公务;本地公出指到本市常驻办公区域以外的其他区域办理公务。
    
    ## (二) 出差与公出申请
    1. 员工出差或公出应提前通过企业微信客户端“人力服务平台”向部门负责人提交申请,获批后方可出差或公出。
    
    2. 如遇情况紧急未提前获批的,应通过邮件、微信/企业微信等形式向直接上级/部门负责人报备确认;报备内容应包含公出/出差时间、预计返回时间、公出地点、具体办理事项或随同人员等,并应在返回后的两个工作日内提交申请。
    
    3. 未经获批的出差或公出,一经查实,均视作旷工处理。
    
    4. 虚构出差并获批一旦查实将以严重违纪行为处理;如管理者对员工私自公出/出差有包庇情况,一经查实,将追究其连带责任。
    
    5. 如因公司重大活动等安排集体性外出,无需单独提交申请,以活动组织部门提供的签到情况为出勤依据,但离开及返回公司时需及时打卡。
    
    ## 第四章 员工假期管理
    ## 第十条 员工享有的假期
    (一) 法定节假日
    
    | 法定节日 | 天数 | 说明 |
    | --- | --- | --- |
    | 元旦 | 1天 | 1月1日 |
    | 春节 | 3天 | 正月初一、初二、初三 |
    | 清明节 | 1天 | 清明当日 |
    | 劳动节 | 1天 | 5月1日 |
    | 端午节 | 1天 | 农历五月初五 |
    | 中秋节 | 1天 | 农历八月十五 |
    | 国庆节 | 3天 | 10月1日、2日、3日 |
    
    补充说明:如有变化以国家相关规定为准。 
      
    
    ## (二) 带薪年假
    员工依法享有法定年假,法定年假指劳动者连续工作一年以上的,就可以享受一定时间的带薪年假;同时在公司任职每满1 年,为员工提供1 天福利年假。
    
    | 年假类型 | 评定依据 | 天数 | 薪资支付 | 最小单位 请假凭证 | 最小单位 请假凭证 | |
    | --- | --- | --- | --- | --- | --- | --- |
    | 法定年假 | 1 年≤累计工作<10 年 | 5 天 | 全薪支付 | 半天 (4 小时) | 不需要 | |
    | 10 年≤累计工作<20 年 10 天 | 10 年≤累计工作<20 年 10 天 |
    | 20 年≤累计工作 | 15 天 |
    | 福利年假 | 1.入职后司龄每满1 年增加1 天;2.法定年假+福利年假≤15 天。 | |  |  | |
    
    ## 1. 带薪年假核算
    (1) 员工入职转正或满3 个月后可请休年假。
    
    (2) 公司在员工可休年假前夕对其应享有法定年假进行核定,并在每年1 月重新核定员工当年度的带薪年假。
    
    (3) 员工当年带薪年假应最迟在次年2 月底前休完,过期自动作废。
    
    (4) 入职折算:享有法定年假员工,入职当年法定年假按其当年实际在岗天数进行折算,折算后不足1 整天的部分不享受年休假。
    
    (5) 离职折算:员工离职时,当年带薪年假按当年实际工作天数折算,折算后不足1 整天的部分不享受年休假。未休完的法定年假,安排员工于离职前休完,已休超过应休的部分,按日薪标准扣回;未休完的福利年假自动作废,已休超过应休部分,按日薪标准扣回。
    
    ## (6) 折算公式
    当年带薪年假=(当年实际在职天数/365 天)×全年应享受的带薪年假天数。
    
    2. 不享有当年带薪年假的情况
    
    (1) 累计工作满1 年不满10 年,病假累计2 个月以上的;(2) 累计工作满10 年不满20 年,病假累计3 个月以上的;(3) 累计工作满20 年以上,病假累计4 个月以上的;(4) 事假累计20 天以上且公司按照规定不扣工资的;(5) 其它经公司认定不应享受年假的情况。
    
    ## (三) 事假
    1. 员工需要处理私人事情,在不影响正常工作情况下,经批准后可申请事假;请假手续未办结者,按照旷工处理。
    
    2. 事假最小计算单位为1 小时,不满1 小时的按1 小时计算。3. 事假期间不享有薪资、津贴补助等。
    
    4. 原则上公司不允许申请连续20 个工作日(含)以上的事假。
    
    ## (四) 病假
    员工非因工负伤或因病需要停工治疗的,可提报病假申请,经批准后可认定为病假。
    
    | 类型 | 时间 休假最小 | 时间 休假最小单位 | 薪资支付 | 请假凭证 |
    | --- | --- | --- | --- | --- |
    | 病假 | / | 1 小时 | 按公司相关制度支付 | 二甲(含)以上公立医院的病历本+发票+病假单 |
    
    1. 病假时长小于等于4 小时,请假凭证可仅提供病历本+发票;2. 因患病或非因工负伤,需要中止工作医疗时,医疗期及医疗期待遇按国家相应规章制度执行。
    
    1. 申请病假但不能出示病假证明的,病假无效。
    
    2. 员工因病需异地就医时,须提前报备至部门负责人和人事部门负责人,沟通一致并就医后可持异地就医的病历本、挂号单、收费凭证、病假单等材料申请病假。
    
    3. 公司有权核实病假材料的真实性,若员工无法提供完整可信的病假材料,包括但不限于病历本、发票(挂号单、收费凭证)、病假单等相关医疗材料,公司有权要求员工至指定医院复查,复查就诊及市内交通费用由公司承担。如员工不配合复查或复查结果与员工本人所提供的病假材料所述严重不符,公司可视为旷工并作开除处理。
    
    ## (五) 产假、哺乳假、陪产假、育儿假
    在职女性员工在符合国家计划生育政策,经申请批准后可享有产假、产检假、哺乳假;在职男性员工在妻子产假期间可享有陪产假;符合计划生育的员工其子女满3 周岁前,可享有育儿假。
    
    | 类别 | | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 |
    | --- | --- | --- | --- | --- | --- |
    | 产检假 | 前6个月 | 6天 | 1天 | 全薪支付 | 大、小卡 |
    | 超过6个月 | 遵医嘱 | 遵医嘱 | 全薪支付 |
    | 产假 (含生育假60天) | | 158天, 其中产前可以休息15天 | 一次 休完 | 1.生育生活津贴=单位平均工资/30\*产假天数。 2.生育医疗费补贴 (1)生育的,4200元,其中危重产妇8000元; (2)妊娠4个月(含)以上自然流产(含宫外孕)的,700元; (3)妊娠不满4个月自然流产(含宫外孕)的,500元; 3.生产后,随申办(线上)/就近社保中心申领 4.如有变化以上海市相关规定为准。 | 大、小卡;生育医学证明 |
    | 小产假 | 怀孕未满4个月 | 15天 | 病历+ 费用清单 |
    | 怀孕满4个月 | 42天 |
    | 哺乳假 | 自婴儿出生至满1周岁 | 1小时/天 | 全薪支付 | / |
    | 陪产假 | | 10天 | 全薪支付 | 大、小卡;生育医学证明 |
    | 育儿假 | | 每个子女三周岁前每期享受5天 | 1天 | 全薪支付;逾期未休,视为自动放弃 | 子女出生证明 |
    
    ## 1. 育儿假核算
    (1) 不满3 周岁子女生日当天发假,并于次年生日前一日清零,过期自动作废;
    
    (2) 入职折算:享有育儿假员工,入职当年至子女周岁生日前一日在岗天数进行折算,折算后不足1 整天的部分不享受育儿假;
    
    折算公式=(子女下一个周岁生日前一天-入职日期)/365×当年可享受的育儿假;
    
    举例:新员工于2022 年4 月1 日入职,子女1 出生于2021 年2 月1 日,则该员工在2022 年4 月1 日-2023 年1 月31 日应享有育儿假共计4 天(2023/1/31-2022/4/1)/365*5=4.18)。
    
    (3) 离职折算:员工离职时,当期育儿假按当期实际工作天数折算,折算后不足1 整天的部分不享受育儿假。未休完的部分视为自动放弃,已休超过应休的部分,按日薪标准扣回。
    
    折算公式=(离职日期-子女上一个生日)/365×当年可享受的育儿假。
    
    举例:员工于2022 年7 月15 日离职,子女出生于2022 年1月3日,则该员工离职前应休育儿假共计2天(2022/7/15-2022/1/3)/365*5=2.5)。
    
    ## (六) 婚假
    
    | 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |
    | --- | --- | --- | --- | --- |
    |  |  |  | 结婚证 | 1. 达到法定婚龄(男年满22周岁,女年满20周岁); 2. 转正后使用,不得分段使用,含公休,遇法定节假日顺延; 3. 入职后领取的结婚证书; 4. 领证起1年内休完,逾期视为自动放弃; 5. 至少提前一周申请; 6. 与当地法律法规不一致的,以当地法规为准。 |
    
    员工在职期间取得结婚证书后可享受带薪婚假。 
    
    ## (七) 丧假
    员工在职期间亲属去世享有一定天数的带薪丧假。
    
    | 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |
    | --- | --- | --- | --- | --- |
    | 类型 | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 | |
    | 父母、配偶、子女 | 3天 | 一次休完 | 全薪支付 | 死亡证明 | |
    | 配偶的父母,本人及配偶的外/祖父母、兄弟姐妹 | 1 天 |
    
    ## (八) 工伤假
    员工因工负伤的,假期及待遇根据国家及地方相关法律法规规定执行。
    
    ## 第十一条 请休假原则与流程
    (一) 除国家法定节假日以及公司统一规定的假日外,请休假需遵循事前请假及优先使用年假(法定年假应先于福利年假使用)原则,经所在部门负责人批准且做好工作交接后方可休假。
    
    (二) 如遇特殊情况,可以邮件、短信、电话、微信等方式向所在部门负责人进行请假,获批后方可休假,并最晚于当月最后一个自然日下班前完成请假流程的所有审批。
    
    (三) 请休假均需通过企业微信客户端“人力服务平台”提前进行申请。
    
    ## 第五章 附则
    第十二条 本制度自2024 年5 月1 日起生效实行,有效期为一年,责任部门为人事部。本制度最终解释权及修订权归人事部所有。
    
    九方财富总裁办2024 年5 月13 日
    
    
  • docs内容 = convert_markdown_to_langchaindoc(markdown_file) docs类型列表,长度30

    [Document(page_content='九方财富管理〔2024〕12 号\n第一章 总则', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 九方财富员工考勤与假期管理制度'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='为规范员工考勤及假期管理,保障公司业务有序运转,根据国家劳动法及相关规定,结合公司实际情况,制定本制度。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第一条 目的'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='本制度适用于公司全体员工。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第二条 适用范围'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='第三条 人事部作为员工考勤与假期的归口管理部门,负责:(一) 结合法规制定公司假期、考勤标准及相关流程,指导并监督执行;\n(二) 负责审核及处理员工的排班;\n(三) 考勤相关流程的审批、抽查;\n(四) 员工假期额度管理。\n第四条 部门负责人为员工考勤管理的首要责任人,须结合工作安排和员工实际情况,据实审批员工补卡、请休假、加班、调休、出差、外出事宜,及时向人事部反馈异常情况并配合调查。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第二章 部门职责与分工'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='标准工时制适用对象为普通员工等类型人员,每天8 小时工作制(不含午休一小时),工作时间为:9:00-12:00,13:00-18:00,\n上下班设置30 分钟弹性空间。\n不定时工时制适用对象为管理人员、行政采购人员、销售人员、司机等;不定时工时制的人员公司可根据实际工作需要安排进行适当调整。\n因业务及工作性质适用综合工时制的人员,常规工作时间为:9:30-11:30,13:00-17:00,18:30-20:30;休息时间分别为:11:30-13:00、17:00-18:30。如有非常规班次需求,部门可每月制定排班表,经部门负责人审批、人事部复核后执行。\n上述各类工时制适用对象及工作时间,在符合国家或地区法律法规的前提下,公司根据生产经营与业务需要,可以决定与适时调整该类员工的工作开始时间、结束时间及休息时间。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第三章 员工考勤管理', '### 第五条 工作时间', '#### (一) 工作时间'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='(一) 公司统一采用企业号中人力服务平台,作为员工考勤管理平台,访问路径为【企业微信】-【工作台】 -【人力服务平台】,员工考勤相关均需在此处提交申请,包括但不限于补卡、休假、公出、出差等。\n(二) 打卡方式:员工通过【企业微信】-【工作台】 -【打卡】或者【企业微信】-【人力服务平台】-【打卡】或【考勤】-【考勤打卡】,该路径是记录员工考勤的主要依据,大楼闸机作为辅助记录。\n(三) 员工上、下班均须打卡作为出勤依据,每日上下班的打卡次数至少为2 次,即到达公司一次,离开公司一次。另外,非全天的请假、公出、出差,在离开及到达公司时均须打卡。\n(四) 员工应实时提交考勤流程,流程审批完成后方可生效,考勤处理截止日期(当月最后一个自然日)仍未提交或未完成审批\n的,缺勤时长均视作旷工处理。\n第七条 异常考勤处理\n(一) 迟到、早退、未打卡\n迟到:比公司规定的上班时间或排班时间晚到15 分钟以内,如工作时间为9:00-18:00 且享受弹性30 分钟的员工在9:30:01-9:44:59 打卡视为迟到。\n早退:比公司规定的下班时间或排班结束时间早走15 分钟以内或当日工作时间不满8 小时。\n忘/漏打卡:正常出勤,在上班或下班时忘记打卡或没有打上卡。\n如因手机故障、系统异常等情况无法打卡,须第一时间向直接上级或部门负责人、对应考勤专员进行报备并提供相关附件。由考勤专员复核后于系统进行考勤异常豁免处理。部门负责人对员工异常打卡情况负有管理责任,如有包庇情况,一经查实,将追究其连带责任。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第六条 考勤管理方式'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='(1) 迟到、早退、忘/漏打卡月度累计3次(含)以下,人事部每月将员工出勤报告发至部门负责人,由部门负责人监督、管理;\n(2) 迟到、早退、未打卡月度累计3次(不含)以上者,给予如下处罚:\n① 一个自然年度内,第一次出现,书面告知员工本人并需员工做出书面保证;\n② 一个自然年度内,累计出现两次,给予员工书面警告并告知部门负责人及部门分管负责人;\n③ 一个自然年度内,累计出现三次及以上者,在公司范围内予以通报批评。\n(二) 旷工\n旷工指工作时间不请假或请假未批准的缺勤行为。\n以下情况视为旷工:\n(1) 迟到/早退超过15 分钟者;\n(2) 缺勤超过30 分钟(含)者;\n(3) 未被准假而不到岗者;\n(4) 休假期满后未续假或续假未获批准而逾期不归者;\n(5) 工作时间擅自离岗者,包含但不限于去办公大楼附属的娱乐及消费场所、未经获批的外出/出差等行为;\n(6) 工作时间恶意消极怠工者,包含但不限于睡觉、打游戏等与工作无关的行为;\n(7) 岗位调动、调整不服从分配而逾期不到岗者;\n(8) 谎报请假理由,涂改、伪造病假证明,用不正当手段获取假期,经查属实。\n注:旷工时长以1小时起计,不足1小时按1小时计。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 5. 处理方式'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='(1) 单次旷工低于3小时(含) (2) 单次旷工超过3小时:\n① 扣除缺勤时间工资(不足1 小时按1 小时计算);② 在公司范围内予以通报批评。\n(3) 月度累计旷工超过3次(含)或年度累计旷工超过6次(含)、连续或累计旷工3天(含)以上者:\n① 视作自动离职,公司将依法与其解除劳动合同;\n② 对公司造成损失的,公司将依法追究当事人责任。直接上级应在收到员工口头辞职或者未正常到岗当日报人事部备案,因未报备至公司造成损失的,公司有权追究直接上级连带责任。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 2. 处罚措施'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='出现以下情形,一经发现视作严重违纪行为,公司将依法与其解除劳动合同。\n委托他人或代他人打卡或使用他人手机打卡;\n未出勤且无对应请假流程,以忘/漏打卡申请补卡的方式处理未出勤;\n未报备外出情况下,于非本人常驻办公地点进行上/下班打卡;\n虚构出差或公出并获批。如管理者对员工虚构公出/出差有包庇情况,一经查实,将追究其连带责任。\n(四) 员工自身原因导致提交的考勤及请假流程有误,若员工在当月内自行发现,可在当月内通过【企业微信】-【人力服务平台】-【休假】-【我的休假】找到对应单据提交销假申请,若截至当月最后一个工作日下班前,员工仍未发现有误流程,后期不再予以修改及调整。\n(五) 凡年度内第一次被通报批评或书面警告者,取消当期优秀员工评选资格;一个自然年度内通报批评累计两次(含)以上,取消该人员年度优秀员工评选资格、12 个月内涨薪及晋升资格;情节严重者,可立即与其解除劳动关系。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 虚构考勤'], 'has_table': False, 'page_id': 2}), Document(page_content='加班指在规定的工作时间外,因公司安排并经审批的延长工作时间的行为。\n(一) 加班原则\n公司鼓励高效工作,不鼓励低效加班。\n公司鼓励员工在工作时间内专注于自身工作,提高工作效率,做好本职工作。\n加班应提前申请并得到批准。\n(1) 员工因公司安排延长工作时间的,须遵照加班申请审批流程,经批准后方可生效;\n(2) 加班时长以系统内考勤记录作为认定依据。\n以下情况不视为加班:\n(1) 未经审批的延长工作时间行为。\n(2) 非工作时间组织的各项活动,包括但不限于文娱活动、郊游、旅游、体检及其他娱乐活动。\n(3) 非工作时间员工自愿参加的培训。\n(4) 因本人原因或能力有限造成应该在工作时间内完成而未完成工作任务延长的工作时间。\n(5) 加班没有完整考勤记录的。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第八条 加班'], 'has_table': False, 'page_id': 2}), Document(page_content='(1) 应提前通过【企业微信】–【工作台】-【人力服务平台】提交申请,经部门负责人及人事部审批后方可生效。\n(2) 由于突发事件发生,无法事先申请加班的,应向部门负责人以邮件、短信、电话、微信等方式报备,取得批准后进行加班。\n所有审批,(注:若员工当月最后一个工作日加班,加班流程需在当天下班前完成所有审批),并经部门负责人及人事部审批后方可认定为有效加班,否则视作自动放弃。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 4. 审批流程'], 'has_table': False, 'page_id': 2}), Document(page_content='以1 小时为最低加班时间,加班以1 小时为计算单位。\n加班期间的用餐时间不计入加班时长,用餐时间以0.5 小时为基础,倍数增加。\n每月加班总时长不得超过36 个小时。\n谎报、伪造加班时长,加班期间擅离职守或从事与本职工作无关者,一经发现,本次加班申请作废并在公司范围内通报批评,情节严重或态度恶劣者予以直接解除劳动关系处理。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 加班时间'], 'has_table': False, 'page_id': 2}), Document(page_content='原则上,员工应优先选择非法定节假日加班。\n非法定节假日加班\n(1) 优先予以调休;\n(2) 调休应在次年2 月底前使用完毕,过期自动失效;\n(3) 部门应合理安排工作,并安排本部门员工及时进行调休。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 加班补偿'], 'has_table': False, 'page_id': 2}), Document(page_content='如因特殊原因需在法定节假日加班的,部门负责人须至少提前2 个工作日通过邮件方式向人事部申请,经核实确认后方可加班。公司将按法律规定,计发加班费。如未提前申请,人事部有权不予批准。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 2. 法定节假日加班'], 'has_table': False, 'page_id': 2}), Document(page_content='员工加班后,应在不影响业务正常开展的情况下申请调休,\n并避开公司集体活动(如大型会议、培训等)\n员工调休应提前通过“企业微信–工作台-人力服务平台-休假申请”提交申请。\n部门应根据工作情况合理安排员工调休,避免集中调休。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (四) 调休'], 'has_table': False, 'page_id': 2}), Document(page_content='外地出差指到常驻城市以外的地方办理公务;本地公出指到本市常驻办公区域以外的其他区域办理公务。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第九条 出差与公出', '### (一) 定义'], 'has_table': False, 'page_id': 2}), Document(page_content='员工出差或公出应提前通过企业微信客户端“人力服务平台”向部门负责人提交申请,获批后方可出差或公出。\n如遇情况紧急未提前获批的,应通过邮件、微信/企业微信等形式向直接上级/部门负责人报备确认;报备内容应包含公出/出差时间、预计返回时间、公出地点、具体办理事项或随同人员等,并应在返回后的两个工作日内提交申请。\n未经获批的出差或公出,一经查实,均视作旷工处理。\n虚构出差并获批一旦查实将以严重违纪行为处理;如管理者对员工私自公出/出差有包庇情况,一经查实,将追究其连带责任。\n如因公司重大活动等安排集体性外出,无需单独提交申请,以活动组织部门提供的签到情况为出勤依据,但离开及返回公司时需及时打卡。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 出差与公出申请'], 'has_table': False, 'page_id': 2}), Document(page_content='(一) 法定节假日\n| 法定节日 | 天数 | 说明 |\n| --- | --- | --- |\n| 元旦 | 1天 | 1月1日 |\n| 春节 | 3天 | 正月初一、初二、初三 |\n| 清明节 | 1天 | 清明当日 |\n| 劳动节 | 1天 | 5月1日 |\n| 端午节 | 1天 | 农历五月初五 |\n| 中秋节 | 1天 | 农历八月十五 |\n| 国庆节 | 3天 | 10月1日、2日、3日 |\n补充说明:如有变化以国家相关规定为准。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第四章 员工假期管理', '### 第十条 员工享有的假期'], 'has_table': True, 'page_id': 2}), Document(page_content='员工依法享有法定年假,法定年假指劳动者连续工作一年以上的,就可以享受一定时间的带薪年假;同时在公司任职每满1 年,为员工提供1 天福利年假。\n| 年假类型 | 评定依据 | 天数 | 薪资支付 | 最小单位 请假凭证 | 最小单位 请假凭证 | |\n| --- | --- | --- | --- | --- | --- | --- |\n| 法定年假 | 1 年≤累计工作<10 年 | 5 天 | 全薪支付 | 半天 (4 小时) | 不需要 | |\n| 10 年≤累计工作<20 年 10 天 | 10 年≤累计工作<20 年 10 天 |\n| 20 年≤累计工作 | 15 天 |\n| 福利年假 | 1.入职后司龄每满1 年增加1 天;2.法定年假+福利年假≤15 天。 | |  |  | |', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 带薪年假'], 'has_table': True, 'page_id': 2}), Document(page_content='(1) 员工入职转正或满3 个月后可请休年假。\n(2) 公司在员工可休年假前夕对其应享有法定年假进行核定,并在每年1 月重新核定员工当年度的带薪年假。\n(3) 员工当年带薪年假应最迟在次年2 月底前休完,过期自动作废。\n(4) 入职折算:享有法定年假员工,入职当年法定年假按其当年实际在岗天数进行折算,折算后不足1 整天的部分不享受年休假。\n(5) 离职折算:员工离职时,当年带薪年假按当年实际工作天数折算,折算后不足1 整天的部分不享受年休假。未休完的法定年假,安排员工于离职前休完,已休超过应休的部分,按日薪标准扣回;未休完的福利年假自动作废,已休超过应休部分,按日薪标准扣回。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 1. 带薪年假核算'], 'has_table': False, 'page_id': 2}), Document(page_content='当年带薪年假=(当年实际在职天数/365 天)×全年应享受的带薪年假天数。\n不享有当年带薪年假的情况\n(1) 累计工作满1 年不满10 年,病假累计2 个月以上的;(2) 累计工作满10 年不满20 年,病假累计3 个月以上的;(3) 累计工作满20 年以上,病假累计4 个月以上的;(4) 事假累计20 天以上且公司按照规定不扣工资的;(5) 其它经公司认定不应享受年假的情况。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (6) 折算公式'], 'has_table': False, 'page_id': 2}), Document(page_content='员工需要处理私人事情,在不影响正常工作情况下,经批准后可申请事假;请假手续未办结者,按照旷工处理。\n事假最小计算单位为1 小时,不满1 小时的按1 小时计算。3. 事假期间不享有薪资、津贴补助等。\n原则上公司不允许申请连续20 个工作日(含)以上的事假。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 事假'], 'has_table': False, 'page_id': 2}), Document(page_content='员工非因工负伤或因病需要停工治疗的,可提报病假申请,经批准后可认定为病假。\n| 类型 | 时间 休假最小 | 时间 休假最小单位 | 薪资支付 | 请假凭证 |\n| --- | --- | --- | --- | --- |\n| 病假 | / | 1 小时 | 按公司相关制度支付 | 二甲(含)以上公立医院的病历本+发票+病假单 |\n病假时长小于等于4 小时,请假凭证可仅提供病历本+发票;2. 因患病或非因工负伤,需要中止工作医疗时,医疗期及医疗期待遇按国家相应规章制度执行。\n申请病假但不能出示病假证明的,病假无效。\n员工因病需异地就医时,须提前报备至部门负责人和人事部门负责人,沟通一致并就医后可持异地就医的病历本、挂号单、收费凭证、病假单等材料申请病假。\n公司有权核实病假材料的真实性,若员工无法提供完整可信的病假材料,包括但不限于病历本、发票(挂号单、收费凭证)、病假单等相关医疗材料,公司有权要求员工至指定医院复查,复查就诊及市内交通费用由公司承担。如员工不配合复查或复查结果与员工本人所提供的病假材料所述严重不符,公司可视为旷工并作开除处理。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (四) 病假'], 'has_table': True, 'page_id': 2}), Document(page_content='在职女性员工在符合国家计划生育政策,经申请批准后可享有产假、产检假、哺乳假;在职男性员工在妻子产假期间可享有陪产假;符合计划生育的员工其子女满3 周岁前,可享有育儿假。\n| 类别 | | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 |\n| --- | --- | --- | --- | --- | --- |\n| 产检假 | 前6个月 | 6天 | 1天 | 全薪支付 | 大、小卡 |\n| 超过6个月 | 遵医嘱 | 遵医嘱 | 全薪支付 |\n| 产假 (含生育假60天) | | 158天, 其中产前可以休息15天 | 一次 休完 | 1.生育生活津贴=单位平均工资/30\n*\n产假天数。 2.生育医疗费补贴 (1)生育的,4200元,其中危重产妇8000元; (2)妊娠4个月(含)以上自然流产(含宫外孕)的,700元; (3)妊娠不满4个月自然流产(含宫外孕)的,500元; 3.生产后,随申办(线上)/就近社保中心申领 4.如有变化以上海市相关规定为准。 | 大、小卡;生育医学证明 |\n| 小产假 | 怀孕未满4个月 | 15天 | 病历+ 费用清单 |\n| 怀孕满4个月 | 42天 |\n| 哺乳假 | 自婴儿出生至满1周岁 | 1小时/天 | 全薪支付 | / |\n| 陪产假 | | 10天 | 全薪支付 | 大、小卡;生育医学证明 |\n| 育儿假 | | 每个子女三周岁前每期享受5天 | 1天 | 全薪支付;逾期未休,视为自动放弃 | 子女出生证明 |', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (五) 产假、哺乳假、陪产假、育儿假'], 'has_table': True, 'page_id': 2}), Document(page_content='(1) 不满3 周岁子女生日当天发假,并于次年生日前一日清零,过期自动作废;\n(2) 入职折算:享有育儿假员工,入职当年至子女周岁生日前一日在岗天数进行折算,折算后不足1 整天的部分不享受育儿假;\n折算公式=(子女下一个周岁生日前一天-入职日期)/365×当年可享受的育儿假;\n举例:新员工于2022 年4 月1 日入职,子女1 出生于2021 年2 月1 日,则该员工在2022 年4 月1 日-2023 年1 月31 日应享有育儿假共计4 天(2023/1/31-2022/4/1)/365\n*\n5=4.18)。\n(3) 离职折算:员工离职时,当期育儿假按当期实际工作天数折算,折算后不足1 整天的部分不享受育儿假。未休完的部分视为自动放弃,已休超过应休的部分,按日薪标准扣回。\n折算公式=(离职日期-子女上一个生日)/365×当年可享受的育儿假。\n举例:员工于2022 年7 月15 日离职,子女出生于2022 年1月3日,则该员工离职前应休育儿假共计2天(2022/7/15-2022/1/3)/365\n*\n5=2.5)。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 1. 育儿假核算'], 'has_table': False, 'page_id': 2}), Document(page_content='| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n|  |  |  | 结婚证 | 1. 达到法定婚龄(男年满22周岁,女年满20周岁); 2. 转正后使用,不得分段使用,含公休,遇法定节假日顺延; 3. 入职后领取的结婚证书; 4. 领证起1年内休完,逾期视为自动放弃; 5. 至少提前一周申请; 6. 与当地法律法规不一致的,以当地法规为准。 |\n员工在职期间取得结婚证书后可享受带薪婚假。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (六) 婚假'], 'has_table': True, 'page_id': 2}), Document(page_content='员工在职期间亲属去世享有一定天数的带薪丧假。\n| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n| 类型 | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 | |\n| 父母、配偶、子女 | 3天 | 一次休完 | 全薪支付 | 死亡证明 | |\n| 配偶的父母,本人及配偶的外/祖父母、兄弟姐妹 | 1 天 |', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (七) 丧假'], 'has_table': True, 'page_id': 2}), Document(page_content='员工因工负伤的,假期及待遇根据国家及地方相关法律法规规定执行。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (八) 工伤假'], 'has_table': False, 'page_id': 2}), Document(page_content='(一) 除国家法定节假日以及公司统一规定的假日外,请休假需遵循事前请假及优先使用年假(法定年假应先于福利年假使用)原则,经所在部门负责人批准且做好工作交接后方可休假。\n(二) 如遇特殊情况,可以邮件、短信、电话、微信等方式向所在部门负责人进行请假,获批后方可休假,并最晚于当月最后一个自然日下班前完成请假流程的所有审批。\n(三) 请休假均需通过企业微信客户端“人力服务平台”提前进行申请。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第十一条 请休假原则与流程'], 'has_table': False, 'page_id': 2}), Document(page_content='第十二条 本制度自2024 年5 月1 日起生效实行,有效期为一年,责任部门为人事部。本制度最终解释权及修订权归人事部所有。\n九方财富总裁办2024 年5 月13 日', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第五章 附则'], 'has_table': False, 'page_id': 2})]
    
  • docs内容 = self.markdown_process(docs) docs类型列表,长度30,这一步就是将每个doc前面加上了一级标题、二级标题这些。

    [Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 九方财富员工考勤与假期管理制度\n\n九方财富管理〔2024〕12 号\n第一章 总则', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 九方财富员工考勤与假期管理制度'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第一条 目的\n\n为规范员工考勤及假期管理,保障公司业务有序运转,根据国家劳动法及相关规定,结合公司实际情况,制定本制度。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第一条 目的'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第二条 适用范围\n\n本制度适用于公司全体员工。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第二条 适用范围'], 'has_table': False, 'page_id': 2}), 
    
    Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第二章 部门职责与分工\n\n第三条 人事部作为员工考勤与假期的归口管理部门,负责:(一) 结合法规制定公司假期、考勤标准及相关流程,指导并监督执行;\n(二) 负责审核及处理员工的排班;\n(三) 考勤相关流程的审批、抽查;\n(四) 员工假期额度管理。\n第四条 部门负责人为员工考勤管理的首要责任人,须结合工作安排和员工实际情况,据实审批员工补卡、请休假、加班、调休、出差、外出事宜,及时向人事部反馈异常情况并配合调查。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第二章 部门职责与分工'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第三章 员工考勤管理\n\n### 第五条 工作时间\n\n#### (一) 工作时间\n\n标准工时制适用对象为普通员工等类型人员,每天8 小时工作制(不含午休一小时),工作时间为:9:00-12:00,13:00-18:00,\n上下班设置30 分钟弹性空间。\n不定时工时制适用对象为管理人员、行政采购人员、销售人员、司机等;不定时工时制的人员公司可根据实际工作需要安排进行适当调整。\n因业务及工作性质适用综合工时制的人员,常规工作时间为:9:30-11:30,13:00-17:00,18:30-20:30;休息时间分别为:11:30-13:00、17:00-18:30。如有非常规班次需求,部门可每月制定排班表,经部门负责人审批、人事部复核后执行。\n上述各类工时制适用对象及工作时间,在符合国家或地区法律法规的前提下,公司根据生产经营与业务需要,可以决定与适时调整该类员工的工作开始时间、结束时间及休息时间。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第三章 员工考勤管理', '### 第五条 工作时间', '#### (一) 工作时间'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第六条 考勤管理方式\n\n(一) 公司统一采用企业号中人力服务平台,作为员工考勤管理平台,访问路径为【企业微信】-【工作台】 -【人力服务平台】,员工考勤相关均需在此处提交申请,包括但不限于补卡、休假、公出、出差等。\n(二) 打卡方式:员工通过【企业微信】-【工作台】 -【打卡】或者【企业微信】-【人力服务平台】-【打卡】或【考勤】-【考勤打卡】,该路径是记录员工考勤的主要依据,大楼闸机作为辅助记录。\n(三) 员工上、下班均须打卡作为出勤依据,每日上下班的打卡次数至少为2 次,即到达公司一次,离开公司一次。另外,非全天的请假、公出、出差,在离开及到达公司时均须打卡。\n(四) 员工应实时提交考勤流程,流程审批完成后方可生效,考勤处理截止日期(当月最后一个自然日)仍未提交或未完成审批\n的,缺勤时长均视作旷工处理。\n第七条 异常考勤处理\n(一) 迟到、早退、未打卡\n迟到:比公司规定的上班时间或排班时间晚到15 分钟以内,如工作时间为9:00-18:00 且享受弹性30 分钟的员工在9:30:01-9:44:59 打卡视为迟到。\n早退:比公司规定的下班时间或排班结束时间早走15 分钟以内或当日工作时间不满8 小时。\n忘/漏打卡:正常出勤,在上班或下班时忘记打卡或没有打上卡。\n如因手机故障、系统异常等情况无法打卡,须第一时间向直接上级或部门负责人、对应考勤专员进行报备并提供相关附件。由考勤专员复核后于系统进行考勤异常豁免处理。部门负责人对员工异常打卡情况负有管理责任,如有包庇情况,一经查实,将追究其连带责任。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第六条 考勤管理方式'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 5. 处理方式\n\n(1) 迟到、早退、忘/漏打卡月度累计3次(含)以下,人事部每月将员工出勤报告发至部门负责人,由部门负责人监督、管理;\n(2) 迟到、早退、未打卡月度累计3次(不含)以上者,给予如下处罚:\n① 一个自然年度内,第一次出现,书面告知员工本人并需员工做出书面保证;\n② 一个自然年度内,累计出现两次,给予员工书面警告并告知部门负责人及部门分管负责人;\n③ 一个自然年度内,累计出现三次及以上者,在公司范围内予以通报批评。\n(二) 旷工\n旷工指工作时间不请假或请假未批准的缺勤行为。\n以下情况视为旷工:\n(1) 迟到/早退超过15 分钟者;\n(2) 缺勤超过30 分钟(含)者;\n(3) 未被准假而不到岗者;\n(4) 休假期满后未续假或续假未获批准而逾期不归者;\n(5) 工作时间擅自离岗者,包含但不限于去办公大楼附属的娱乐及消费场所、未经获批的外出/出差等行为;\n(6) 工作时间恶意消极怠工者,包含但不限于睡觉、打游戏等与工作无关的行为;\n(7) 岗位调动、调整不服从分配而逾期不到岗者;\n(8) 谎报请假理由,涂改、伪造病假证明,用不正当手段获取假期,经查属实。\n注:旷工时长以1小时起计,不足1小时按1小时计。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 5. 处理方式'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 2. 处罚措施\n\n(1) 单次旷工低于3小时(含) (2) 单次旷工超过3小时:\n① 扣除缺勤时间工资(不足1 小时按1 小时计算);② 在公司范围内予以通报批评。\n(3) 月度累计旷工超过3次(含)或年度累计旷工超过6次(含)、连续或累计旷工3天(含)以上者:\n① 视作自动离职,公司将依法与其解除劳动合同;\n② 对公司造成损失的,公司将依法追究当事人责任。直接上级应在收到员工口头辞职或者未正常到岗当日报人事部备案,因未报备至公司造成损失的,公司有权追究直接上级连带责任。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 2. 处罚措施'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (三) 虚构考勤\n\n出现以下情形,一经发现视作严重违纪行为,公司将依法与其解除劳动合同。\n委托他人或代他人打卡或使用他人手机打卡;\n未出勤且无对应请假流程,以忘/漏打卡申请补卡的方式处理未出勤;\n未报备外出情况下,于非本人常驻办公地点进行上/下班打卡;\n虚构出差或公出并获批。如管理者对员工虚构公出/出差有包庇情况,一经查实,将追究其连带责任。\n(四) 员工自身原因导致提交的考勤及请假流程有误,若员工在当月内自行发现,可在当月内通过【企业微信】-【人力服务平台】-【休假】-【我的休假】找到对应单据提交销假申请,若截至当月最后一个工作日下班前,员工仍未发现有误流程,后期不再予以修改及调整。\n(五) 凡年度内第一次被通报批评或书面警告者,取消当期优秀员工评选资格;一个自然年度内通报批评累计两次(含)以上,取消该人员年度优秀员工评选资格、12 个月内涨薪及晋升资格;情节严重者,可立即与其解除劳动关系。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 虚构考勤'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第八条 加班\n\n加班指在规定的工作时间外,因公司安排并经审批的延长工作时间的行为。\n(一) 加班原则\n公司鼓励高效工作,不鼓励低效加班。\n公司鼓励员工在工作时间内专注于自身工作,提高工作效率,做好本职工作。\n加班应提前申请并得到批准。\n(1) 员工因公司安排延长工作时间的,须遵照加班申请审批流程,经批准后方可生效;\n(2) 加班时长以系统内考勤记录作为认定依据。\n以下情况不视为加班:\n(1) 未经审批的延长工作时间行为。\n(2) 非工作时间组织的各项活动,包括但不限于文娱活动、郊游、旅游、体检及其他娱乐活动。\n(3) 非工作时间员工自愿参加的培训。\n(4) 因本人原因或能力有限造成应该在工作时间内完成而未完成工作任务延长的工作时间。\n(5) 加班没有完整考勤记录的。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第八条 加班'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 4. 审批流程\n\n(1) 应提前通过【企业微信】–【工作台】-【人力服务平台】提交申请,经部门负责人及人事部审批后方可生效。\n(2) 由于突发事件发生,无法事先申请加班的,应向部门负责人以邮件、短信、电话、微信等方式报备,取得批准后进行加班。\n所有审批,(注:若员工当月最后一个工作日加班,加班流程需在当天下班前完成所有审批),并经部门负责人及人事部审批后方可认定为有效加班,否则视作自动放弃。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 4. 审批流程'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (二) 加班时间\n\n以1 小时为最低加班时间,加班以1 小时为计算单位。\n加班期间的用餐时间不计入加班时长,用餐时间以0.5 小时为基础,倍数增加。\n每月加班总时长不得超过36 个小时。\n谎报、伪造加班时长,加班期间擅离职守或从事与本职工作无关者,一经发现,本次加班申请作废并在公司范围内通报批评,情节严重或态度恶劣者予以直接解除劳动关系处理。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 加班时间'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (三) 加班补偿\n\n原则上,员工应优先选择非法定节假日加班。\n非法定节假日加班\n(1) 优先予以调休;\n(2) 调休应在次年2 月底前使用完毕,过期自动失效;\n(3) 部门应合理安排工作,并安排本部门员工及时进行调休。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 加班补偿'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 2. 法定节假日加班\n\n如因特殊原因需在法定节假日加班的,部门负责人须至少提前2 个工作日通过邮件方式向人事部申请,经核实确认后方可加班。公司将按法律规定,计发加班费。如未提前申请,人事部有权不予批准。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 2. 法定节假日加班'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (四) 调休\n\n员工加班后,应在不影响业务正常开展的情况下申请调休,\n并避开公司集体活动(如大型会议、培训等)\n员工调休应提前通过“企业微信–工作台-人力服务平台-休假申请”提交申请。\n部门应根据工作情况合理安排员工调休,避免集中调休。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (四) 调休'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第九条 出差与公出\n\n### (一) 定义\n\n外地出差指到常驻城市以外的地方办理公务;本地公出指到本市常驻办公区域以外的其他区域办理公务。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第九条 出差与公出', '### (一) 定义'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (二) 出差与公出申请\n\n员工出差或公出应提前通过企业微信客户端“人力服务平台”向部门负责人提交申请,获批后方可出差或公出。\n如遇情况紧急未提前获批的,应通过邮件、微信/企业微信等形式向直接上级/部门负责人报备确认;报备内容应包含公出/出差时间、预计返回时间、公出地点、具体办理事项或随同人员等,并应在返回后的两个工作日内提交申请。\n未经获批的出差或公出,一经查实,均视作旷工处理。\n虚构出差并获批一旦查实将以严重违纪行为处理;如管理者对员工私自公出/出差有包庇情况,一经查实,将追究其连带责任。\n如因公司重大活动等安排集体性外出,无需单独提交申请,以活动组织部门提供的签到情况为出勤依据,但离开及返回公司时需及时打卡。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 出差与公出申请'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## 第四章 员工假期管理\n### 第十条 员工享有的假期\n(一) 法定节假日\n| 法定节日 | 天数 | 说明 |\n| --- | --- | --- |\n| 元旦 | 1天 | 1月1日 |\n| 春节 | 3天 | 正月初一、初二、初三 |\n| 清明节 | 1天 | 清明当日 |\n| 劳动节 | 1天 | 5月1日 |\n| 端午节 | 1天 | 农历五月初五 |\n| 中秋节 | 1天 | 农历八月十五 |\n| 国庆节 | 3天 | 10月1日、2日、3日 |\n补充说明:如有变化以国家相关规定为准。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第四章 员工假期管理', '### 第十条 员工享有的假期'], 'has_table': True, 'page_id': 2, 'table_doc_id': 'fedd7caa-4b0f-465c-8d11-f5f454ca07c9'}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (二) 带薪年假\n员工依法享有法定年假,法定年假指劳动者连续工作一年以上的,就可以享受一定时间的带薪年假;同时在公司任职每满1 年,为员工提供1 天福利年假。\n| 年假类型 | 评定依据 | 天数 | 薪资支付 | 最小单位 请假凭证 | 最小单位 请假凭证 | |\n| --- | --- | --- | --- | --- | --- | --- |\n| 法定年假 | 1 年≤累计工作<10 年 | 5 天 | 全薪支付 | 半天 (4 小时) | 不需要 | |\n| 10 年≤累计工作<20 年 10 天 | 10 年≤累计工作<20 年 10 天 |\n| 20 年≤累计工作 | 15 天 |\n| 福利年假 | 1.入职后司龄每满1 年增加1 天;2.法定年假+福利年假≤15 天。 | |  |  | |', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 带薪年假'], 'has_table': True, 'page_id': 2, 'table_doc_id': '57c1c6ce-1547-459d-a8d7-97754c2b8925'}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 1. 带薪年假核算\n\n(1) 员工入职转正或满3 个月后可请休年假。\n(2) 公司在员工可休年假前夕对其应享有法定年假进行核定,并在每年1 月重新核定员工当年度的带薪年假。\n(3) 员工当年带薪年假应最迟在次年2 月底前休完,过期自动作废。\n(4) 入职折算:享有法定年假员工,入职当年法定年假按其当年实际在岗天数进行折算,折算后不足1 整天的部分不享受年休假。\n(5) 离职折算:员工离职时,当年带薪年假按当年实际工作天数折算,折算后不足1 整天的部分不享受年休假。未休完的法定年假,安排员工于离职前休完,已休超过应休的部分,按日薪标准扣回;未休完的福利年假自动作废,已休超过应休部分,按日薪标准扣回。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 1. 带薪年假核算'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (6) 折算公式\n\n当年带薪年假=(当年实际在职天数/365 天)×全年应享受的带薪年假天数。\n不享有当年带薪年假的情况\n(1) 累计工作满1 年不满10 年,病假累计2 个月以上的;(2) 累计工作满10 年不满20 年,病假累计3 个月以上的;(3) 累计工作满20 年以上,病假累计4 个月以上的;(4) 事假累计20 天以上且公司按照规定不扣工资的;(5) 其它经公司认定不应享受年假的情况。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (6) 折算公式'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (三) 事假\n\n员工需要处理私人事情,在不影响正常工作情况下,经批准后可申请事假;请假手续未办结者,按照旷工处理。\n事假最小计算单位为1 小时,不满1 小时的按1 小时计算。3. 事假期间不享有薪资、津贴补助等。\n原则上公司不允许申请连续20 个工作日(含)以上的事假。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 事假'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (四) 病假\n员工非因工负伤或因病需要停工治疗的,可提报病假申请,经批准后可认定为病假。\n| 类型 | 时间 休假最小 | 时间 休假最小单位 | 薪资支付 | 请假凭证 |\n| --- | --- | --- | --- | --- |\n| 病假 | / | 1 小时 | 按公司相关制度支付 | 二甲(含)以上公立医院的病历本+发票+病假单 |\n病假时长小于等于4 小时,请假凭证可仅提供病历本+发票;2. 因患病或非因工负伤,需要中止工作医疗时,医疗期及医疗期待遇按国家相应规章制度执行。\n申请病假但不能出示病假证明的,病假无效。\n员工因病需异地就医时,须提前报备至部门负责人和人事部门负责人,沟通一致并就医后可持异地就医的病历本、挂号单、收费凭证、病假单等材料申请病假。\n公司有权核实病假材料的真实性,若员工无法提供完整可信的病假材料,包括但不限于病历本、发票(挂号单、收费凭证)、病假单等相关医疗材料,公司有权要求员工至指定医院复查,复查就诊及市内交通费用由公司承担。如员工不配合复查或复查结果与员工本人所提供的病假材料所述严重不符,公司可视为旷工并作开除处理。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (四) 病假'], 'has_table': True, 'page_id': 2, 'table_doc_id': '6a61f3ce-417a-4cce-b89c-ef97b57fd323'}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (五) 产假、哺乳假、陪产假、育儿假\n在职女性员工在符合国家计划生育政策,经申请批准后可享有产假、产检假、哺乳假;在职男性员工在妻子产假期间可享有陪产假;符合计划生育的员工其子女满3 周岁前,可享有育儿假。\n| 类别 | | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 |\n| --- | --- | --- | --- | --- | --- |\n| 产检假 | 前6个月 | 6天 | 1天 | 全薪支付 | 大、小卡 |\n| 超过6个月 | 遵医嘱 | 遵医嘱 | 全薪支付 |\n| 产假 (含生育假60天) | | 158天, 其中产前可以休息15天 | 一次 休完 | 1.生育生活津贴=单位平均工资/30\n*\n产假天数。 2.生育医疗费补贴 (1)生育的,4200元,其中危重产妇8000元; (2)妊娠4个月(含)以上自然流产(含宫外孕)的,700元; (3)妊娠不满4个月自然流产(含宫外孕)的,500元; 3.生产后,随申办(线上)/就近社保中心申领 4.如有变化以上海市相关规定为准。 | 大、小卡;生育医学证明 |\n| 小产假 | 怀孕未满4个月 | 15天 | 病历+ 费用清单 |\n| 怀孕满4个月 | 42天 |\n| 哺乳假 | 自婴儿出生至满1周岁 | 1小时/天 | 全薪支付 | / |\n| 陪产假 | | 10天 | 全薪支付 | 大、小卡;生育医学证明 |\n| 育儿假 | | 每个子女三周岁前每期享受5天 | 1天 | 全薪支付;逾期未休,视为自动放弃 | 子女出生证明 |', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (五) 产假、哺乳假、陪产假、育儿假'], 'has_table': True, 'page_id': 2, 'table_doc_id': 'd7c482eb-a403-4c27-b81c-32269f11f810'}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 1. 育儿假核算\n\n(1) 不满3 周岁子女生日当天发假,并于次年生日前一日清零,过期自动作废;\n(2) 入职折算:享有育儿假员工,入职当年至子女周岁生日前一日在岗天数进行折算,折算后不足1 整天的部分不享受育儿假;\n折算公式=(子女下一个周岁生日前一天-入职日期)/365×当年可享受的育儿假;\n举例:新员工于2022 年4 月1 日入职,子女1 出生于2021 年2 月1 日,则该员工在2022 年4 月1 日-2023 年1 月31 日应享有育儿假共计4 天(2023/1/31-2022/4/1)/365\n*\n5=4.18)。\n(3) 离职折算:员工离职时,当期育儿假按当期实际工作天数折算,折算后不足1 整天的部分不享受育儿假。未休完的部分视为自动放弃,已休超过应休的部分,按日薪标准扣回。\n折算公式=(离职日期-子女上一个生日)/365×当年可享受的育儿假。\n举例:员工于2022 年7 月15 日离职,子女出生于2022 年1月3日,则该员工离职前应休育儿假共计2天(2022/7/15-2022/1/3)/365\n*\n5=2.5)。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 1. 育儿假核算'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (六) 婚假\n| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n|  |  |  | 结婚证 | 1. 达到法定婚龄(男年满22周岁,女年满20周岁); 2. 转正后使用,不得分段使用,含公休,遇法定节假日顺延; 3. 入职后领取的结婚证书; 4. 领证起1年内休完,逾期视为自动放弃; 5. 至少提前一周申请; 6. 与当地法律法规不一致的,以当地法规为准。 |\n员工在职期间取得结婚证书后可享受带薪婚假。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (六) 婚假'], 'has_table': True, 'page_id': 2, 'table_doc_id': '8489e750-7317-4b2f-ae5a-c1cfa6d7aa71'}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (七) 丧假\n员工在职期间亲属去世享有一定天数的带薪丧假。\n| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n| 类型 | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 | |\n| 父母、配偶、子女 | 3天 | 一次休完 | 全薪支付 | 死亡证明 | |\n| 配偶的父母,本人及配偶的外/祖父母、兄弟姐妹 | 1 天 |', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (七) 丧假'], 'has_table': True, 'page_id': 2, 'table_doc_id': '6a6b52b7-a956-4186-a316-2f5b28ba222a'}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (八) 工伤假\n\n员工因工负伤的,假期及待遇根据国家及地方相关法律法规规定执行。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (八) 工伤假'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第十一条 请休假原则与流程\n\n(一) 除国家法定节假日以及公司统一规定的假日外,请休假需遵循事前请假及优先使用年假(法定年假应先于福利年假使用)原则,经所在部门负责人批准且做好工作交接后方可休假。\n(二) 如遇特殊情况,可以邮件、短信、电话、微信等方式向所在部门负责人进行请假,获批后方可休假,并最晚于当月最后一个自然日下班前完成请假流程的所有审批。\n(三) 请休假均需通过企业微信客户端“人力服务平台”提前进行申请。', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第十一条 请休假原则与流程'], 'has_table': False, 'page_id': 2}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第五章 附则\n\n第十二条 本制度自2024 年5 月1 日起生效实行,有效期为一年,责任部门为人事部。本制度最终解释权及修订权归人事部所有。\n九方财富总裁办2024 年5 月13 日', metadata={'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第五章 附则'], 'has_table': False, 'page_id': 2})]
    

image.png

pdf转markdown之后得到了30个docs,接下来会执行self.inject_metadata(docs) 方法,故名思义这个方法就是给每个doc注入一些元数据,比如user_id、file_id这些,得到一个new_docs,相比与docs,page_content的内容都没有变,就是多了很多属性。

image.png

但是注意这个方法内部有一个merge_doc的操作(合并doc),具体逻辑如下:

代码截图:

image.png

  • 逐行解释

    # child_chunk_size = 400
    child_chunk_size = min(DEFAULT_CHILD_CHUNK_SIZE, int(self.chunk_size / 2))
    merged_docs = []
    # 遍历new_docs
    for doc_idx, doc in enumerate(new_docs):
    		# 第一个doc直接放入merged_docs中
        if not merged_docs:
            merged_docs.append(doc)
        else:
    		    # 获取merged_docs中的最后一个doc
            last_doc = merged_docs[-1]
            # 判断merged_docs中的最后一个doc和当前doc的长度相加是不是小于等于400,是的话就进行合并,或者如果当前的doc的长度小于100,那么也合并到上一个doc中(PS:合并完上一个doc的长度有可能大于400,但不会超过500)。
            if num_tokens_embed(last_doc.page_content) + num_tokens_embed(doc.page_content) <= child_chunk_size or \
                    num_tokens_embed(doc.page_content) < child_chunk_size / 4:
                tmp_content_slices = doc.page_content.split('\n')
                # print(last_doc.metadata['title_lst'], tmp_content)
                # 因为每个doc都带了一集标题二级标题这些,这个的主要作用就是去除重复的标题
                tmp_content_slices_clear = [line for line in tmp_content_slices if clear_string(line) not in
                                            [clear_string(t) for t in last_doc.metadata['title_lst']]]
                tmp_content = '\n'.join(tmp_content_slices_clear)
                # 进行合并
                last_doc.page_content += '\n\n' + tmp_content
                # 下面就是元数据的合并
                last_doc.metadata['title_lst'] += doc.metadata.get('title_lst', [])
                last_doc.metadata['has_table'] = last_doc.metadata.get('has_table', False) or doc.metadata.get(
                    'has_table', False)
                last_doc.metadata['images'] += doc.metadata.get('images', [])
            # 判断merged_docs中的最后一个doc和当前doc的长度相加是不是小于等于400,如果不是的话,直接将当前doc插入到merged_docs中
            else:
                merged_docs.append(doc)
    insert_logger.info(f"after merge doc lens: {len(merged_docs)}")
    # 最终的docs就是合并后的merged_docs,列表的长度是小于docs的长度的
    self.docs = merged_docs
    
  • 下面是合并完的merged_docs结果,docs的长度变成了18

    [Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 九方财富员工考勤与假期管理制度\n\n九方财富管理〔2024〕12 号\n第一章 总则\n\n\n## 第一条 目的\n\n为规范员工考勤及假期管理,保障公司业务有序运转,根据国家劳动法及相关规定,结合公司实际情况,制定本制度。\n\n\n## 第二条 适用范围\n\n本制度适用于公司全体员工。\n\n\n## 第二章 部门职责与分工\n\n第三条 人事部作为员工考勤与假期的归口管理部门,负责:(一) 结合法规制定公司假期、考勤标准及相关流程,指导并监督执行;\n(二) 负责审核及处理员工的排班;\n(三) 考勤相关流程的审批、抽查;\n(四) 员工假期额度管理。\n第四条 部门负责人为员工考勤管理的首要责任人,须结合工作安排和员工实际情况,据实审批员工补卡、请休假、加班、调休、出差、外出事宜,及时向人事部反馈异常情况并配合调查。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 九方财富员工考勤与假期管理制度', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第一条 目的', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第二条 适用范围', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第二章 部门职责与分工'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), 
    
    Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第三章 员工考勤管理\n\n### 第五条 工作时间\n\n#### (一) 工作时间\n\n标准工时制适用对象为普通员工等类型人员,每天8 小时工作制(不含午休一小时),工作时间为:9:00-12:00,13:00-18:00,\n上下班设置30 分钟弹性空间。\n不定时工时制适用对象为管理人员、行政采购人员、销售人员、司机等;不定时工时制的人员公司可根据实际工作需要安排进行适当调整。\n因业务及工作性质适用综合工时制的人员,常规工作时间为:9:30-11:30,13:00-17:00,18:30-20:30;休息时间分别为:11:30-13:00、17:00-18:30。如有非常规班次需求,部门可每月制定排班表,经部门负责人审批、人事部复核后执行。\n上述各类工时制适用对象及工作时间,在符合国家或地区法律法规的前提下,公司根据生产经营与业务需要,可以决定与适时调整该类员工的工作开始时间、结束时间及休息时间。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第三章 员工考勤管理', '### 第五条 工作时间', '#### (一) 工作时间'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), 
    
    Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第六条 考勤管理方式\n\n(一) 公司统一采用企业号中人力服务平台,作为员工考勤管理平台,访问路径为【企业微信】-【工作台】 -【人力服务平台】,员工考勤相关均需在此处提交申请,包括但不限于补卡、休假、公出、出差等。\n(二) 打卡方式:员工通过【企业微信】-【工作台】 -【打卡】或者【企业微信】-【人力服务平台】-【打卡】或【考勤】-【考勤打卡】,该路径是记录员工考勤的主要依据,大楼闸机作为辅助记录。\n(三) 员工上、下班均须打卡作为出勤依据,每日上下班的打卡次数至少为2 次,即到达公司一次,离开公司一次。另外,非全天的请假、公出、出差,在离开及到达公司时均须打卡。\n(四) 员工应实时提交考勤流程,流程审批完成后方可生效,考勤处理截止日期(当月最后一个自然日)仍未提交或未完成审批\n的,缺勤时长均视作旷工处理。\n第七条 异常考勤处理\n(一) 迟到、早退、未打卡\n迟到:比公司规定的上班时间或排班时间晚到15 分钟以内,如工作时间为9:00-18:00 且享受弹性30 分钟的员工在9:30:01-9:44:59 打卡视为迟到。\n早退:比公司规定的下班时间或排班结束时间早走15 分钟以内或当日工作时间不满8 小时。\n忘/漏打卡:正常出勤,在上班或下班时忘记打卡或没有打上卡。\n如因手机故障、系统异常等情况无法打卡,须第一时间向直接上级或部门负责人、对应考勤专员进行报备并提供相关附件。由考勤专员复核后于系统进行考勤异常豁免处理。部门负责人对员工异常打卡情况负有管理责任,如有包庇情况,一经查实,将追究其连带责任。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第六条 考勤管理方式'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), 
    
    Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 5. 处理方式\n\n(1) 迟到、早退、忘/漏打卡月度累计3次(含)以下,人事部每月将员工出勤报告发至部门负责人,由部门负责人监督、管理;\n(2) 迟到、早退、未打卡月度累计3次(不含)以上者,给予如下处罚:\n① 一个自然年度内,第一次出现,书面告知员工本人并需员工做出书面保证;\n② 一个自然年度内,累计出现两次,给予员工书面警告并告知部门负责人及部门分管负责人;\n③ 一个自然年度内,累计出现三次及以上者,在公司范围内予以通报批评。\n(二) 旷工\n旷工指工作时间不请假或请假未批准的缺勤行为。\n以下情况视为旷工:\n(1) 迟到/早退超过15 分钟者;\n(2) 缺勤超过30 分钟(含)者;\n(3) 未被准假而不到岗者;\n(4) 休假期满后未续假或续假未获批准而逾期不归者;\n(5) 工作时间擅自离岗者,包含但不限于去办公大楼附属的娱乐及消费场所、未经获批的外出/出差等行为;\n(6) 工作时间恶意消极怠工者,包含但不限于睡觉、打游戏等与工作无关的行为;\n(7) 岗位调动、调整不服从分配而逾期不到岗者;\n(8) 谎报请假理由,涂改、伪造病假证明,用不正当手段获取假期,经查属实。\n注:旷工时长以1小时起计,不足1小时按1小时计。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 5. 处理方式'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 2. 处罚措施\n\n(1) 单次旷工低于3小时(含) (2) 单次旷工超过3小时:\n① 扣除缺勤时间工资(不足1 小时按1 小时计算);② 在公司范围内予以通报批评。\n(3) 月度累计旷工超过3次(含)或年度累计旷工超过6次(含)、连续或累计旷工3天(含)以上者:\n① 视作自动离职,公司将依法与其解除劳动合同;\n② 对公司造成损失的,公司将依法追究当事人责任。直接上级应在收到员工口头辞职或者未正常到岗当日报人事部备案,因未报备至公司造成损失的,公司有权追究直接上级连带责任。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 2. 处罚措施'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (三) 虚构考勤\n\n出现以下情形,一经发现视作严重违纪行为,公司将依法与其解除劳动合同。\n委托他人或代他人打卡或使用他人手机打卡;\n未出勤且无对应请假流程,以忘/漏打卡申请补卡的方式处理未出勤;\n未报备外出情况下,于非本人常驻办公地点进行上/下班打卡;\n虚构出差或公出并获批。如管理者对员工虚构公出/出差有包庇情况,一经查实,将追究其连带责任。\n(四) 员工自身原因导致提交的考勤及请假流程有误,若员工在当月内自行发现,可在当月内通过【企业微信】-【人力服务平台】-【休假】-【我的休假】找到对应单据提交销假申请,若截至当月最后一个工作日下班前,员工仍未发现有误流程,后期不再予以修改及调整。\n(五) 凡年度内第一次被通报批评或书面警告者,取消当期优秀员工评选资格;一个自然年度内通报批评累计两次(含)以上,取消该人员年度优秀员工评选资格、12 个月内涨薪及晋升资格;情节严重者,可立即与其解除劳动关系。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 虚构考勤'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第八条 加班\n\n加班指在规定的工作时间外,因公司安排并经审批的延长工作时间的行为。\n(一) 加班原则\n公司鼓励高效工作,不鼓励低效加班。\n公司鼓励员工在工作时间内专注于自身工作,提高工作效率,做好本职工作。\n加班应提前申请并得到批准。\n(1) 员工因公司安排延长工作时间的,须遵照加班申请审批流程,经批准后方可生效;\n(2) 加班时长以系统内考勤记录作为认定依据。\n以下情况不视为加班:\n(1) 未经审批的延长工作时间行为。\n(2) 非工作时间组织的各项活动,包括但不限于文娱活动、郊游、旅游、体检及其他娱乐活动。\n(3) 非工作时间员工自愿参加的培训。\n(4) 因本人原因或能力有限造成应该在工作时间内完成而未完成工作任务延长的工作时间。\n(5) 加班没有完整考勤记录的。\n\n\n## 4. 审批流程\n\n(1) 应提前通过【企业微信】–【工作台】-【人力服务平台】提交申请,经部门负责人及人事部审批后方可生效。\n(2) 由于突发事件发生,无法事先申请加班的,应向部门负责人以邮件、短信、电话、微信等方式报备,取得批准后进行加班。\n所有审批,(注:若员工当月最后一个工作日加班,加班流程需在当天下班前完成所有审批),并经部门负责人及人事部审批后方可认定为有效加班,否则视作自动放弃。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第八条 加班', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 4. 审批流程'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (二) 加班时间\n\n以1 小时为最低加班时间,加班以1 小时为计算单位。\n加班期间的用餐时间不计入加班时长,用餐时间以0.5 小时为基础,倍数增加。\n每月加班总时长不得超过36 个小时。\n谎报、伪造加班时长,加班期间擅离职守或从事与本职工作无关者,一经发现,本次加班申请作废并在公司范围内通报批评,情节严重或态度恶劣者予以直接解除劳动关系处理。\n\n\n## (三) 加班补偿\n\n原则上,员工应优先选择非法定节假日加班。\n非法定节假日加班\n(1) 优先予以调休;\n(2) 调休应在次年2 月底前使用完毕,过期自动失效;\n(3) 部门应合理安排工作,并安排本部门员工及时进行调休。\n\n\n## 2. 法定节假日加班\n\n如因特殊原因需在法定节假日加班的,部门负责人须至少提前2 个工作日通过邮件方式向人事部申请,经核实确认后方可加班。公司将按法律规定,计发加班费。如未提前申请,人事部有权不予批准。\n\n\n## (四) 调休\n\n员工加班后,应在不影响业务正常开展的情况下申请调休,\n并避开公司集体活动(如大型会议、培训等)\n员工调休应提前通过“企业微信–工作台-人力服务平台-休假申请”提交申请。\n部门应根据工作情况合理安排员工调休,避免集中调休。\n\n\n## 第九条 出差与公出\n\n### (一) 定义\n\n外地出差指到常驻城市以外的地方办理公务;本地公出指到本市常驻办公区域以外的其他区域办理公务。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 加班时间', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 加班补偿', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 2. 法定节假日加班', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (四) 调休', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第九条 出差与公出', '### (一) 定义'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (二) 出差与公出申请\n\n员工出差或公出应提前通过企业微信客户端“人力服务平台”向部门负责人提交申请,获批后方可出差或公出。\n如遇情况紧急未提前获批的,应通过邮件、微信/企业微信等形式向直接上级/部门负责人报备确认;报备内容应包含公出/出差时间、预计返回时间、公出地点、具体办理事项或随同人员等,并应在返回后的两个工作日内提交申请。\n未经获批的出差或公出,一经查实,均视作旷工处理。\n虚构出差并获批一旦查实将以严重违纪行为处理;如管理者对员工私自公出/出差有包庇情况,一经查实,将追究其连带责任。\n如因公司重大活动等安排集体性外出,无需单独提交申请,以活动组织部门提供的签到情况为出勤依据,但离开及返回公司时需及时打卡。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 出差与公出申请'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## 第四章 员工假期管理\n### 第十条 员工享有的假期\n(一) 法定节假日\n| 法定节日 | 天数 | 说明 |\n| --- | --- | --- |\n| 元旦 | 1天 | 1月1日 |\n| 春节 | 3天 | 正月初一、初二、初三 |\n| 清明节 | 1天 | 清明当日 |\n| 劳动节 | 1天 | 5月1日 |\n| 端午节 | 1天 | 农历五月初五 |\n| 中秋节 | 1天 | 农历八月十五 |\n| 国庆节 | 3天 | 10月1日、2日、3日 |\n补充说明:如有变化以国家相关规定为准。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第四章 员工假期管理', '### 第十条 员工享有的假期'], 'has_table': True, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (二) 带薪年假\n员工依法享有法定年假,法定年假指劳动者连续工作一年以上的,就可以享受一定时间的带薪年假;同时在公司任职每满1 年,为员工提供1 天福利年假。\n| 年假类型 | 评定依据 | 天数 | 薪资支付 | 最小单位 请假凭证 | 最小单位 请假凭证 | |\n| --- | --- | --- | --- | --- | --- | --- |\n| 法定年假 | 1 年≤累计工作<10 年 | 5 天 | 全薪支付 | 半天 (4 小时) | 不需要 | |\n| 10 年≤累计工作<20 年 10 天 | 10 年≤累计工作<20 年 10 天 |\n| 20 年≤累计工作 | 15 天 |\n| 福利年假 | 1.入职后司龄每满1 年增加1 天;2.法定年假+福利年假≤15 天。 | |  |  | |', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (二) 带薪年假'], 'has_table': True, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 1. 带薪年假核算\n\n(1) 员工入职转正或满3 个月后可请休年假。\n(2) 公司在员工可休年假前夕对其应享有法定年假进行核定,并在每年1 月重新核定员工当年度的带薪年假。\n(3) 员工当年带薪年假应最迟在次年2 月底前休完,过期自动作废。\n(4) 入职折算:享有法定年假员工,入职当年法定年假按其当年实际在岗天数进行折算,折算后不足1 整天的部分不享受年休假。\n(5) 离职折算:员工离职时,当年带薪年假按当年实际工作天数折算,折算后不足1 整天的部分不享受年休假。未休完的法定年假,安排员工于离职前休完,已休超过应休的部分,按日薪标准扣回;未休完的福利年假自动作废,已休超过应休部分,按日薪标准扣回。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 1. 带薪年假核算'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (6) 折算公式\n\n当年带薪年假=(当年实际在职天数/365 天)×全年应享受的带薪年假天数。\n不享有当年带薪年假的情况\n(1) 累计工作满1 年不满10 年,病假累计2 个月以上的;(2) 累计工作满10 年不满20 年,病假累计3 个月以上的;(3) 累计工作满20 年以上,病假累计4 个月以上的;(4) 事假累计20 天以上且公司按照规定不扣工资的;(5) 其它经公司认定不应享受年假的情况。\n\n\n## (三) 事假\n\n员工需要处理私人事情,在不影响正常工作情况下,经批准后可申请事假;请假手续未办结者,按照旷工处理。\n事假最小计算单位为1 小时,不满1 小时的按1 小时计算。3. 事假期间不享有薪资、津贴补助等。\n原则上公司不允许申请连续20 个工作日(含)以上的事假。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (6) 折算公式', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (三) 事假'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (四) 病假\n员工非因工负伤或因病需要停工治疗的,可提报病假申请,经批准后可认定为病假。\n| 类型 | 时间 休假最小 | 时间 休假最小单位 | 薪资支付 | 请假凭证 |\n| --- | --- | --- | --- | --- |\n| 病假 | / | 1 小时 | 按公司相关制度支付 | 二甲(含)以上公立医院的病历本+发票+病假单 |\n病假时长小于等于4 小时,请假凭证可仅提供病历本+发票;2. 因患病或非因工负伤,需要中止工作医疗时,医疗期及医疗期待遇按国家相应规章制度执行。\n申请病假但不能出示病假证明的,病假无效。\n员工因病需异地就医时,须提前报备至部门负责人和人事部门负责人,沟通一致并就医后可持异地就医的病历本、挂号单、收费凭证、病假单等材料申请病假。\n公司有权核实病假材料的真实性,若员工无法提供完整可信的病假材料,包括但不限于病历本、发票(挂号单、收费凭证)、病假单等相关医疗材料,公司有权要求员工至指定医院复查,复查就诊及市内交通费用由公司承担。如员工不配合复查或复查结果与员工本人所提供的病假材料所述严重不符,公司可视为旷工并作开除处理。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (四) 病假'], 'has_table': True, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (五) 产假、哺乳假、陪产假、育儿假\n在职女性员工在符合国家计划生育政策,经申请批准后可享有产假、产检假、哺乳假;在职男性员工在妻子产假期间可享有陪产假;符合计划生育的员工其子女满3 周岁前,可享有育儿假。\n| 类别 | | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 |\n| --- | --- | --- | --- | --- | --- |\n| 产检假 | 前6个月 | 6天 | 1天 | 全薪支付 | 大、小卡 |\n| 超过6个月 | 遵医嘱 | 遵医嘱 | 全薪支付 |\n| 产假 (含生育假60天) | | 158天, 其中产前可以休息15天 | 一次 休完 | 1.生育生活津贴=单位平均工资/30\n*\n产假天数。 2.生育医疗费补贴 (1)生育的,4200元,其中危重产妇8000元; (2)妊娠4个月(含)以上自然流产(含宫外孕)的,700元; (3)妊娠不满4个月自然流产(含宫外孕)的,500元; 3.生产后,随申办(线上)/就近社保中心申领 4.如有变化以上海市相关规定为准。 | 大、小卡;生育医学证明 |\n| 小产假 | 怀孕未满4个月 | 15天 | 病历+ 费用清单 |\n| 怀孕满4个月 | 42天 |\n| 哺乳假 | 自婴儿出生至满1周岁 | 1小时/天 | 全薪支付 | / |\n| 陪产假 | | 10天 | 全薪支付 | 大、小卡;生育医学证明 |\n| 育儿假 | | 每个子女三周岁前每期享受5天 | 1天 | 全薪支付;逾期未休,视为自动放弃 | 子女出生证明 |', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (五) 产假、哺乳假、陪产假、育儿假'], 'has_table': True, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 1. 育儿假核算\n\n(1) 不满3 周岁子女生日当天发假,并于次年生日前一日清零,过期自动作废;\n(2) 入职折算:享有育儿假员工,入职当年至子女周岁生日前一日在岗天数进行折算,折算后不足1 整天的部分不享受育儿假;\n折算公式=(子女下一个周岁生日前一天-入职日期)/365×当年可享受的育儿假;\n举例:新员工于2022 年4 月1 日入职,子女1 出生于2021 年2 月1 日,则该员工在2022 年4 月1 日-2023 年1 月31 日应享有育儿假共计4 天(2023/1/31-2022/4/1)/365\n*\n5=4.18)。\n(3) 离职折算:员工离职时,当期育儿假按当期实际工作天数折算,折算后不足1 整天的部分不享受育儿假。未休完的部分视为自动放弃,已休超过应休的部分,按日薪标准扣回。\n折算公式=(离职日期-子女上一个生日)/365×当年可享受的育儿假。\n举例:员工于2022 年7 月15 日离职,子女出生于2022 年1月3日,则该员工离职前应休育儿假共计2天(2022/7/15-2022/1/3)/365\n*\n5=2.5)。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 1. 育儿假核算'], 'has_table': False, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (六) 婚假\n| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n|  |  |  | 结婚证 | 1. 达到法定婚龄(男年满22周岁,女年满20周岁); 2. 转正后使用,不得分段使用,含公休,遇法定节假日顺延; 3. 入职后领取的结婚证书; 4. 领证起1年内休完,逾期视为自动放弃; 5. 至少提前一周申请; 6. 与当地法律法规不一致的,以当地法规为准。 |\n员工在职期间取得结婚证书后可享受带薪婚假。', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (六) 婚假'], 'has_table': True, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}}), Document(page_content='# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (七) 丧假\n员工在职期间亲属去世享有一定天数的带薪丧假。\n| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n| 类型 | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 | |\n| 父母、配偶、子女 | 3天 | 一次休完 | 全薪支付 | 死亡证明 | |\n| 配偶的父母,本人及配偶的外/祖父母、兄弟姐妹 | 1 天 |\n\n\n## (八) 工伤假\n\n员工因工负伤的,假期及待遇根据国家及地方相关法律法规规定执行。\n\n\n## 第十一条 请休假原则与流程\n\n(一) 除国家法定节假日以及公司统一规定的假日外,请休假需遵循事前请假及优先使用年假(法定年假应先于福利年假使用)原则,经所在部门负责人批准且做好工作交接后方可休假。\n(二) 如遇特殊情况,可以邮件、短信、电话、微信等方式向所在部门负责人进行请假,获批后方可休假,并最晚于当月最后一个自然日下班前完成请假流程的所有审批。\n(三) 请休假均需通过企业微信客户端“人力服务平台”提前进行申请。\n\n\n## 第五章 附则\n\n第十二条 本制度自2024 年5 月1 日起生效实行,有效期为一年,责任部门为人事部。本制度最终解释权及修订权归人事部所有。\n九方财富总裁办2024 年5 月13 日', metadata={'user_id': 'feifeixu__1234', 'kb_id': 'KBb17bd2d168604a84a59abe24e855d574_240625', 'file_id': '1f3fdae111fc4014ab842f4ff55a32d5', 'file_name': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'nos_key': '/tmp/pycharm_project_419/QANY_DB/content/feifeixu__1234/KBb17bd2d168604a84a59abe24e855d574_240625/1f3fdae111fc4014ab842f4ff55a32d5/九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf', 'file_url': '', 'title_lst': ['# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (七) 丧假', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## (八) 工伤假', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第十一条 请休假原则与流程', '# 九方财富员工考勤与假期管理制度-九方财富管理202412号', '## 第五章 附则'], 'has_table': True, 'images': [], 'page_id': 2, 'headers': {'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'}, 'faq_dict': {}})]
    

这18个docs进入下面的核心方法二进行处理

核心方法二:将doc编码成向量存入milvus向量数据库中retriever.insert_documents(local_file.docs, chunk_size)

retriever是个啥 retriever = ParentRetriever(milvus_kb, mysql_client, es_client)

ParentRetriever类定义在qanything_kernel/core/retriever/parent_retriever.py中,这个类有两个核心方法一个是insert_documents,另一个是:get_retrieved_documents

这里执行的就是insert_documents

insert_documents 中最终通过这个方法将向量插入milvus中

return await self.retriever.aadd_documents(docs, parent_chunk_size=parent_chunk_size, es_store=self.es_store, ids=ids, single_parent=single_parent)

self.retriever.aadd_documents 方法介绍

self.retriever 是SelfParentRetriever的类对象,这个类也在qanything_kernel/core/retriever/parent_retriever.py中

self.retriever = SelfParentRetriever(
            vectorstore=vectorstore_client.local_vectorstore,
            docstore=MysqlStore(mysql_client),
            child_splitter=init_child_splitter,
            parent_splitter=init_parent_splitter,
        )
  • aadd_documents方法介绍

    方法截图:

    image.png

    +逐行解析

      # 核心方法一中得到的18个docs会传递到这个方法中,作为documents参数传递进来
      async def aadd_documents(
              self,
              documents: List[Document],
              ids: Optional[List[str]] = None,
              add_to_docstore: bool = True,
              parent_chunk_size: Optional[int] = None,
              es_store: Optional[ElasticsearchStore] = None,
              single_parent: bool = False,
      ) -> Tuple[int, Dict]:
          # insert_logger.info(f"Inserting {len(documents)} complete documents, single_parent: {single_parent}")
          split_start = time.perf_counter()
          # 会进入到这个if中
          if self.parent_splitter is not None and not single_parent:
              # documents = self.parent_splitter.split_documents(documents)
              split_documents = []
              need_split_docs = []
              # 遍历这18个doc
              for doc in documents:
    		          # 如果有表或者长度<=80,进入这个if中
                  if doc.metadata['has_table'] or num_tokens_embed(doc.page_content) <= parent_chunk_size:
    		              # 判断need_split_docs是否为空,不为空进行doc拆分,我们用的这个pdf没有进入到这if内部
                      if need_split_docs:
                          split_documents.extend(self.parent_splitter.split_documents(need_split_docs))
                          need_split_docs = []
                      split_documents.append(doc)
                  # 我们用的这个pdf也没有进入到这个else内部
                  else:
                      need_split_docs.append(doc)
              # 我们用的pdf这个if也没有进入
              if need_split_docs:
                  split_documents.extend(self.parent_splitter.split_documents(need_split_docs))
              # 所有documents还是那18个documents,没有变化
              documents = split_documents
          insert_logger.info(f"Inserting {len(documents)} parent documents")
          
          # 进入这个if
          if ids is None:
              file_id = documents[0].metadata['file_id']
              
              # doc_ids赋值,变成file_id + 下划线 +doc下标的格式,如下:
              # ['b333fd08d1b14edd97efcf0448f534d8_0', 'b333fd08d1b14edd97efcf0448f534d8_1', 'b333fd08d1b14edd97efcf0448f534d8_2', 'b333fd08d1b14edd97efcf0448f534d8_3', 'b333fd08d1b14edd97efcf0448f534d8_4', 'b333fd08d1b14edd97efcf0448f534d8_5', 'b333fd08d1b14edd97efcf0448f534d8_6', 'b333fd08d1b14edd97efcf0448f534d8_7', 'b333fd08d1b14edd97efcf0448f534d8_8', 'b333fd08d1b14edd97efcf0448f534d8_9', 'b333fd08d1b14edd97efcf0448f534d8_10', 'b333fd08d1b14edd97efcf0448f534d8_11', 'b333fd08d1b14edd97efcf0448f534d8_12', 'b333fd08d1b14edd97efcf0448f534d8_13', 'b333fd08d1b14edd97efcf0448f534d8_14', 'b333fd08d1b14edd97efcf0448f534d8_15', 'b333fd08d1b14edd97efcf0448f534d8_16', 'b333fd08d1b14edd97efcf0448f534d8_17']
              doc_ids = [file_id + '_' + str(i) for i, _ in enumerate(documents)]
              if not add_to_docstore:
                  raise ValueError(
                      "If ids are not passed in, `add_to_docstore` MUST be True"
                  )
          else:
              if len(documents) != len(ids):
                  raise ValueError(
                      "Got uneven list of documents and ids. "
                      "If `ids` is provided, should be same length as `documents`."
                  )
              doc_ids = ids
    
          docs = []
          full_docs = []
          # 遍历documents,注入doc_id和headers
          for i, doc in enumerate(documents):
              _id = doc_ids[i]
              sub_docs = self.child_splitter.split_documents([doc])
              # 这个if不执行
              if self.child_metadata_fields is not None:
                  for _doc in sub_docs:
                      _doc.metadata = {
                          k: _doc.metadata[k] for k in self.child_metadata_fields
                      }
              # 遍历切分好的子doc,注入doc_id和headers
              for _doc in sub_docs:
                  _doc.metadata[self.id_key] = _id
    		          #[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 九方财富员工考勤与假期管理制度\n\n九方财富管理〔2024〕12 号\n第一章 总则\n\n\n## 第一条 目的\n\n为规范员工考勤及假期管理,保障公司业务有序运转,根据国家劳动法及相关规定,结合公司实际情况,制定本制度。\n\n\n## 第二条 适用范围\n\n本制度适用于公司全体员工。\n\n\n## 第二章 部门职责与分工\n\n第三条 人事部作为员工考勤与假期的归口管理部门,负责:(一) 结合法规制定公司假期、考勤标准及相关流程,指导并监督执行;\n(二) 负责审核及处理员工的排班;\n(三) 考勤相关流程的审批、抽查;\n(四) 员工假期额度管理。\n第四条 部门负责人为员工考勤管理的首要责任人,须结合工作安排和员工实际情况,据实审批员工补卡、请休假、加班、调休、出差、外出事宜,及时向人事部反馈异常情况并配合调查。
                  _doc.page_content = f"[headers]({_doc.metadata['headers']})\n" + _doc.page_content  # 存入page_content,向量检索时会带上headers
              docs.extend(sub_docs)
              doc.page_content = f"[headers]({doc.metadata['headers']})\n" + doc.page_content  # 存入page_content,等检索后rerank时会带上headers信息
              full_docs.append((_id, doc))
          insert_logger.info(f"Inserting {len(docs)} child documents, metadata: {docs[0].metadata}, page_content: {docs[0].page_content[:100]}...")
          time_record = {"split_time": round(time.perf_counter() - split_start, 2)}
    			
    			# 到这里18个docs变成了24个docs,某些太长的doc,使用self.child_splitter.split_documents方法拆分成了长度不超过400的doc,doc和doc之间有100的overlap,所以doc变多了,但是这几个从初识doc拆分的子doc还是用的初始doc的doc_id
          embed_docs = copy.deepcopy(docs)
          # 补充metadata信息
          for idx, doc in enumerate(embed_docs):
              del doc.metadata['title_lst']
              del doc.metadata['has_table']
              del doc.metadata['images']
              del doc.metadata['file_name']
              del doc.metadata['nos_key']
              del doc.metadata['faq_dict']
              del doc.metadata['page_id']
    			 
    			 # 对doc进行embedding,下面单独介绍这个方法内部的逻辑
          res = await self.vectorstore.aadd_documents(embed_docs, time_record=time_record)
          insert_logger.info(f'vectorstore insert number: {len(res)}, {res[0]}')
          if es_store is not None:
              try:
                  es_start = time.perf_counter()
                  # docs的doc_id是file_id + '_' + i
                  docs_ids = [doc.metadata['file_id'] + '_' + str(i) for i, doc in enumerate(embed_docs)]
                  es_res = await es_store.aadd_documents(embed_docs, ids=docs_ids)
                  time_record['es_insert_time'] = round(time.perf_counter() - es_start, 2)
                  insert_logger.info(f'es_store insert number: {len(es_res)}, {es_res[0]}')
              except Exception as e:
                  insert_logger.error(f"Error in aadd_documents on es_store: {traceback.format_exc()}")
    
          if add_to_docstore:
              await self.docstore.amset(full_docs)
          return len(res), time_record
    
  • 24个docs如下

  • self.vectorstore.aadd_documents方法内部解析

    async def aadd_texts(
        self,
        texts: Iterable[str],
        metadatas: Optional[List[dict]] = None,
        timeout: Optional[int] = None,
        batch_size: int = 1000,
        *,
        ids: Optional[List[str]] = None,
        **kwargs: Any,
    ) -> List[str]:
    """Asynchronously run texts through embeddings and add to the vectorstore."""
    # 从kwargs中获取time_record
    time_record = kwargs.get('time_record', {})
    
    from pymilvus import Collection, MilvusException
    # texts就是这24个docs,只保留了page_content的内容
    # ["[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 九方财富员工考勤与假期管理制度\n\n九方财富管理〔2024〕12 号\n第一章 总则\n\n\n## 第一条 目的\n\n为规范员工考勤及假期管理,保障公司业务有序运转,根据国家劳动法及相关规定,结合公司实际情况,制定本制度。\n\n\n## 第二条 适用范围\n\n本制度适用于公司全体员工。\n\n\n## 第二章 部门职责与分工\n\n第三条 人事部作为员工考勤与假期的归口管理部门,负责:(一) 结合法规制定公司假期、考勤标准及相关流程,指导并监督执行;\n(二) 负责审核及处理员工的排班;\n(三) 考勤相关流程的审批、抽查;\n(四) 员工假期额度管理。\n第四条 部门负责人为员工考勤管理的首要责任人,须结合工作安排和员工实际情况,据实审批员工补卡、请休假、加班、调休、出差、外出事宜,及时向人事部反馈异常情况并配合调查。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第三章 员工考勤管理\n\n### 第五条 工作时间\n\n#### (一) 工作时间\n\n标准工时制适用对象为普通员工等类型人员,每天8 小时工作制(不含午休一小时),工作时间为:9:00-12:00,13:00-18:00,\n上下班设置30 分钟弹性空间。\n不定时工时制适用对象为管理人员、行政采购人员、销售人员、司机等;不定时工时制的人员公司可根据实际工作需要安排进行适当调整。\n因业务及工作性质适用综合工时制的人员,常规工作时间为:9:30-11:30,13:00-17:00,18:30-20:30;休息时间分别为:11:30-13:00、17:00-18:30。如有非常规班次需求,部门可每月制定排班表,经部门负责人审批、人事部复核后执行。\n上述各类工时制适用对象及工作时间,在符合国家或地区法律法规的前提下,公司根据生产经营与业务需要,可以决定与适时调整该类员工的工作开始时间、结束时间及休息时间。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第六条 考勤管理方式", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n(一) 公司统一采用企业号中人力服务平台,作为员工考勤管理平台,访问路径为【企业微信】-【工作台】 -【人力服务平台】,员工考勤相关均需在此处提交申请,包括但不限于补卡、休假、公出、出差等。\n(二) 打卡方式:员工通过【企业微信】-【工作台】 -【打卡】或者【企业微信】-【人力服务平台】-【打卡】或【考勤】-【考勤打卡】,该路径是记录员工考勤的主要依据,大楼闸机作为辅助记录。\n(三) 员工上、下班均须打卡作为出勤依据,每日上下班的打卡次数至少为2 次,即到达公司一次,离开公司一次。另外,非全天的请假、公出、出差,在离开及到达公司时均须打卡。\n(四) 员工应实时提交考勤流程,流程审批完成后方可生效,考勤处理截止日期(当月最后一个自然日)仍未提交或未完成审批\n的,缺勤时长均视作旷工处理。\n第七条 异常考勤处理\n(一) 迟到、早退、未打卡\n迟到:比公司规定的上班时间或排班时间晚到15 分钟以内,如工作时间为9:00-18:00 且享受弹性30 分钟的员工在9:30:01-9:44:59 打卡视为迟到。\n早退:比公司规定的下班时间或排班结束时间早走15 分钟以内或当日工作时间不满8 小时。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n迟到:比公司规定的上班时间或排班时间晚到15 分钟以内,如工作时间为9:00-18:00 且享受弹性30 分钟的员工在9:30:01-9:44:59 打卡视为迟到。\n早退:比公司规定的下班时间或排班结束时间早走15 分钟以内或当日工作时间不满8 小时。\n忘/漏打卡:正常出勤,在上班或下班时忘记打卡或没有打上卡。\n如因手机故障、系统异常等情况无法打卡,须第一时间向直接上级或部门负责人、对应考勤专员进行报备并提供相关附件。由考勤专员复核后于系统进行考勤异常豁免处理。部门负责人对员工异常打卡情况负有管理责任,如有包庇情况,一经查实,将追究其连带责任。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 5. 处理方式\n\n(1) 迟到、早退、忘/漏打卡月度累计3次(含)以下,人事部每月将员工出勤报告发至部门负责人,由部门负责人监督、管理;\n(2) 迟到、早退、未打卡月度累计3次(不含)以上者,给予如下处罚:\n① 一个自然年度内,第一次出现,书面告知员工本人并需员工做出书面保证;\n② 一个自然年度内,累计出现两次,给予员工书面警告并告知部门负责人及部门分管负责人;\n③ 一个自然年度内,累计出现三次及以上者,在公司范围内予以通报批评。\n(二) 旷工\n旷工指工作时间不请假或请假未批准的缺勤行为。\n以下情况视为旷工:\n(1) 迟到/早退超过15 分钟者;\n(2) 缺勤超过30 分钟(含)者;\n(3) 未被准假而不到岗者;\n(4) 休假期满后未续假或续假未获批准而逾期不归者;\n(5) 工作时间擅自离岗者,包含但不限于去办公大楼附属的娱乐及消费场所、未经获批的外出/出差等行为;\n(6) 工作时间恶意消极怠工者,包含但不限于睡觉、打游戏等与工作无关的行为;\n(7) 岗位调动、调整不服从分配而逾期不到岗者;\n(8) 谎报请假理由,涂改、伪造病假证明,用不正当手段获取假期,经查属实。\n注:旷工时长以1小时起计,不足1小时按1小时计。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 2. 处罚措施\n\n(1) 单次旷工低于3小时(含) (2) 单次旷工超过3小时:\n① 扣除缺勤时间工资(不足1 小时按1 小时计算);② 在公司范围内予以通报批评。\n(3) 月度累计旷工超过3次(含)或年度累计旷工超过6次(含)、连续或累计旷工3天(含)以上者:\n① 视作自动离职,公司将依法与其解除劳动合同;\n② 对公司造成损失的,公司将依法追究当事人责任。直接上级应在收到员工口头辞职或者未正常到岗当日报人事部备案,因未报备至公司造成损失的,公司有权追究直接上级连带责任。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (三) 虚构考勤\n\n出现以下情形,一经发现视作严重违纪行为,公司将依法与其解除劳动合同。\n委托他人或代他人打卡或使用他人手机打卡;\n未出勤且无对应请假流程,以忘/漏打卡申请补卡的方式处理未出勤;\n未报备外出情况下,于非本人常驻办公地点进行上/下班打卡;\n虚构出差或公出并获批。如管理者对员工虚构公出/出差有包庇情况,一经查实,将追究其连带责任。\n(四) 员工自身原因导致提交的考勤及请假流程有误,若员工在当月内自行发现,可在当月内通过【企业微信】-【人力服务平台】-【休假】-【我的休假】找到对应单据提交销假申请,若截至当月最后一个工作日下班前,员工仍未发现有误流程,后期不再予以修改及调整。\n(五) 凡年度内第一次被通报批评或书面警告者,取消当期优秀员工评选资格;一个自然年度内通报批评累计两次(含)以上,取消该人员年度优秀员工评选资格、12 个月内涨薪及晋升资格;情节严重者,可立即与其解除劳动关系。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 第八条 加班\n\n加班指在规定的工作时间外,因公司安排并经审批的延长工作时间的行为。\n(一) 加班原则\n公司鼓励高效工作,不鼓励低效加班。\n公司鼓励员工在工作时间内专注于自身工作,提高工作效率,做好本职工作。\n加班应提前申请并得到批准。\n(1) 员工因公司安排延长工作时间的,须遵照加班申请审批流程,经批准后方可生效;\n(2) 加班时长以系统内考勤记录作为认定依据。\n以下情况不视为加班:\n(1) 未经审批的延长工作时间行为。\n(2) 非工作时间组织的各项活动,包括但不限于文娱活动、郊游、旅游、体检及其他娱乐活动。\n(3) 非工作时间员工自愿参加的培训。\n(4) 因本人原因或能力有限造成应该在工作时间内完成而未完成工作任务延长的工作时间。\n(5) 加班没有完整考勤记录的。\n\n\n## 4. 审批流程\n\n(1) 应提前通过【企业微信】–【工作台】-【人力服务平台】提交申请,经部门负责人及人事部审批后方可生效。\n(2) 由于突发事件发生,无法事先申请加班的,应向部门负责人以邮件、短信、电话、微信等方式报备,取得批准后进行加班。\n所有审批,(注:若员工当月最后一个工作日加班,加班流程需在当天下班前完成所有审批),并经部门负责人及人事部审批后方可认定为有效加班,否则视作自动放弃。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (二) 加班时间\n\n以1 小时为最低加班时间,加班以1 小时为计算单位。\n加班期间的用餐时间不计入加班时长,用餐时间以0.5 小时为基础,倍数增加。\n每月加班总时长不得超过36 个小时。\n谎报、伪造加班时长,加班期间擅离职守或从事与本职工作无关者,一经发现,本次加班申请作废并在公司范围内通报批评,情节严重或态度恶劣者予以直接解除劳动关系处理。\n\n\n## (三) 加班补偿\n\n原则上,员工应优先选择非法定节假日加班。\n非法定节假日加班\n(1) 优先予以调休;\n(2) 调休应在次年2 月底前使用完毕,过期自动失效;\n(3) 部门应合理安排工作,并安排本部门员工及时进行调休。\n\n\n## 2. 法定节假日加班\n\n如因特殊原因需在法定节假日加班的,部门负责人须至少提前2 个工作日通过邮件方式向人事部申请,经核实确认后方可加班。公司将按法律规定,计发加班费。如未提前申请,人事部有权不予批准。\n\n\n## (四) 调休\n\n员工加班后,应在不影响业务正常开展的情况下申请调休,\n并避开公司集体活动(如大型会议、培训等)\n员工调休应提前通过“企业微信–工作台-人力服务平台-休假申请”提交申请。\n部门应根据工作情况合理安排员工调休,避免集中调休。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n## (四) 调休\n\n员工加班后,应在不影响业务正常开展的情况下申请调休,\n并避开公司集体活动(如大型会议、培训等)\n员工调休应提前通过“企业微信–工作台-人力服务平台-休假申请”提交申请。\n部门应根据工作情况合理安排员工调休,避免集中调休。\n\n\n## 第九条 出差与公出\n\n### (一) 定义\n\n外地出差指到常驻城市以外的地方办理公务;本地公出指到本市常驻办公区域以外的其他区域办理公务。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (二) 出差与公出申请\n\n员工出差或公出应提前通过企业微信客户端“人力服务平台”向部门负责人提交申请,获批后方可出差或公出。\n如遇情况紧急未提前获批的,应通过邮件、微信/企业微信等形式向直接上级/部门负责人报备确认;报备内容应包含公出/出差时间、预计返回时间、公出地点、具体办理事项或随同人员等,并应在返回后的两个工作日内提交申请。\n未经获批的出差或公出,一经查实,均视作旷工处理。\n虚构出差并获批一旦查实将以严重违纪行为处理;如管理者对员工私自公出/出差有包庇情况,一经查实,将追究其连带责任。\n如因公司重大活动等安排集体性外出,无需单独提交申请,以活动组织部门提供的签到情况为出勤依据,但离开及返回公司时需及时打卡。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## 第四章 员工假期管理\n### 第十条 员工享有的假期\n(一) 法定节假日\n| 法定节日 | 天数 | 说明 |\n| --- | --- | --- |\n| 元旦 | 1天 | 1月1日 |\n| 春节 | 3天 | 正月初一、初二、初三 |\n| 清明节 | 1天 | 清明当日 |\n| 劳动节 | 1天 | 5月1日 |\n| 端午节 | 1天 | 农历五月初五 |\n| 中秋节 | 1天 | 农历八月十五 |\n| 国庆节 | 3天 | 10月1日、2日、3日 |\n补充说明:如有变化以国家相关规定为准。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (二) 带薪年假\n员工依法享有法定年假,法定年假指劳动者连续工作一年以上的,就可以享受一定时间的带薪年假;同时在公司任职每满1 年,为员工提供1 天福利年假。\n| 年假类型 | 评定依据 | 天数 | 薪资支付 | 最小单位 请假凭证 | 最小单位 请假凭证 | |\n| --- | --- | --- | --- | --- | --- | --- |\n| 法定年假 | 1 年≤累计工作<10 年 | 5 天 | 全薪支付 | 半天 (4 小时) | 不需要 | |\n| 10 年≤累计工作<20 年 10 天 | 10 年≤累计工作<20 年 10 天 |\n| 20 年≤累计工作 | 15 天 |\n| 福利年假 | 1.入职后司龄每满1 年增加1 天;2.法定年假+福利年假≤15 天。 | |  |  | |", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 1. 带薪年假核算\n\n(1) 员工入职转正或满3 个月后可请休年假。\n(2) 公司在员工可休年假前夕对其应享有法定年假进行核定,并在每年1 月重新核定员工当年度的带薪年假。\n(3) 员工当年带薪年假应最迟在次年2 月底前休完,过期自动作废。\n(4) 入职折算:享有法定年假员工,入职当年法定年假按其当年实际在岗天数进行折算,折算后不足1 整天的部分不享受年休假。\n(5) 离职折算:员工离职时,当年带薪年假按当年实际工作天数折算,折算后不足1 整天的部分不享受年休假。未休完的法定年假,安排员工于离职前休完,已休超过应休的部分,按日薪标准扣回;未休完的福利年假自动作废,已休超过应休部分,按日薪标准扣回。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## (6) 折算公式\n\n当年带薪年假=(当年实际在职天数/365 天)×全年应享受的带薪年假天数。\n不享有当年带薪年假的情况\n(1) 累计工作满1 年不满10 年,病假累计2 个月以上的;(2) 累计工作满10 年不满20 年,病假累计3 个月以上的;(3) 累计工作满20 年以上,病假累计4 个月以上的;(4) 事假累计20 天以上且公司按照规定不扣工资的;(5) 其它经公司认定不应享受年假的情况。\n\n\n## (三) 事假\n\n员工需要处理私人事情,在不影响正常工作情况下,经批准后可申请事假;请假手续未办结者,按照旷工处理。\n事假最小计算单位为1 小时,不满1 小时的按1 小时计算。3. 事假期间不享有薪资、津贴补助等。\n原则上公司不允许申请连续20 个工作日(含)以上的事假。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (四) 病假\n员工非因工负伤或因病需要停工治疗的,可提报病假申请,经批准后可认定为病假。\n| 类型 | 时间 休假最小 | 时间 休假最小单位 | 薪资支付 | 请假凭证 |\n| --- | --- | --- | --- | --- |\n| 病假 | / | 1 小时 | 按公司相关制度支付 | 二甲(含)以上公立医院的病历本+发票+病假单 |\n病假时长小于等于4 小时,请假凭证可仅提供病历本+发票;2. 因患病或非因工负伤,需要中止工作医疗时,医疗期及医疗期待遇按国家相应规章制度执行。\n申请病假但不能出示病假证明的,病假无效。\n员工因病需异地就医时,须提前报备至部门负责人和人事部门负责人,沟通一致并就医后可持异地就医的病历本、挂号单、收费凭证、病假单等材料申请病假。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n申请病假但不能出示病假证明的,病假无效。\n员工因病需异地就医时,须提前报备至部门负责人和人事部门负责人,沟通一致并就医后可持异地就医的病历本、挂号单、收费凭证、病假单等材料申请病假。\n公司有权核实病假材料的真实性,若员工无法提供完整可信的病假材料,包括但不限于病历本、发票(挂号单、收费凭证)、病假单等相关医疗材料,公司有权要求员工至指定医院复查,复查就诊及市内交通费用由公司承担。如员工不配合复查或复查结果与员工本人所提供的病假材料所述严重不符,公司可视为旷工并作开除处理。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (五) 产假、哺乳假、陪产假、育儿假\n在职女性员工在符合国家计划生育政策,经申请批准后可享有产假、产检假、哺乳假;在职男性员工在妻子产假期间可享有陪产假;符合计划生育的员工其子女满3 周岁前,可享有育儿假。\n| 类别 | | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 |\n| --- | --- | --- | --- | --- | --- |\n| 产检假 | 前6个月 | 6天 | 1天 | 全薪支付 | 大、小卡 |\n| 超过6个月 | 遵医嘱 | 遵医嘱 | 全薪支付 |\n| 产假 (含生育假60天) | | 158天, 其中产前可以休息15天 | 一次 休完 | 1.生育生活津贴=单位平均工资/30\n*", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n| 超过6个月 | 遵医嘱 | 遵医嘱 | 全薪支付 |\n| 产假 (含生育假60天) | | 158天, 其中产前可以休息15天 | 一次 休完 | 1.生育生活津贴=单位平均工资/30\n*\n产假天数。 2.生育医疗费补贴 (1)生育的,4200元,其中危重产妇8000元; (2)妊娠4个月(含)以上自然流产(含宫外孕)的,700元; (3)妊娠不满4个月自然流产(含宫外孕)的,500元; 3.生产后,随申办(线上)/就近社保中心申领 4.如有变化以上海市相关规定为准。 | 大、小卡;生育医学证明 |\n| 小产假 | 怀孕未满4个月 | 15天 | 病历+ 费用清单 |\n| 怀孕满4个月 | 42天 |\n| 哺乳假 | 自婴儿出生至满1周岁 | 1小时/天 | 全薪支付 | / |\n| 陪产假 | | 10天 | 全薪支付 | 大、小卡;生育医学证明 |\n| 育儿假 | | 每个子女三周岁前每期享受5天 | 1天 | 全薪支付;逾期未休,视为自动放弃 | 子女出生证明 |", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n\n## 1. 育儿假核算\n\n(1) 不满3 周岁子女生日当天发假,并于次年生日前一日清零,过期自动作废;\n(2) 入职折算:享有育儿假员工,入职当年至子女周岁生日前一日在岗天数进行折算,折算后不足1 整天的部分不享受育儿假;\n折算公式=(子女下一个周岁生日前一天-入职日期)/365×当年可享受的育儿假;\n举例:新员工于2022 年4 月1 日入职,子女1 出生于2021 年2 月1 日,则该员工在2022 年4 月1 日-2023 年1 月31 日应享有育儿假共计4 天(2023/1/31-2022/4/1)/365\n*\n5=4.18)。\n(3) 离职折算:员工离职时,当期育儿假按当期实际工作天数折算,折算后不足1 整天的部分不享受育儿假。未休完的部分视为自动放弃,已休超过应休的部分,按日薪标准扣回。\n折算公式=(离职日期-子女上一个生日)/365×当年可享受的育儿假。\n举例:员工于2022 年7 月15 日离职,子女出生于2022 年1月3日,则该员工离职前应休育儿假共计2天(2022/7/15-2022/1/3)/365\n*\n5=2.5)。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (六) 婚假\n| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n|  |  |  | 结婚证 | 1. 达到法定婚龄(男年满22周岁,女年满20周岁); 2. 转正后使用,不得分段使用,含公休,遇法定节假日顺延; 3. 入职后领取的结婚证书; 4. 领证起1年内休完,逾期视为自动放弃; 5. 至少提前一周申请; 6. 与当地法律法规不一致的,以当地法规为准。 |\n员工在职期间取得结婚证书后可享受带薪婚假。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n# 九方财富员工考勤与假期管理制度-九方财富管理202412号\n## (七) 丧假\n员工在职期间亲属去世享有一定天数的带薪丧假。\n| 时间 休假最小 | 时间 休假最小单位 | 薪酬计算 请假凭证 | 薪酬计算 请假凭证 | 补充说明 |\n| --- | --- | --- | --- | --- |\n| 类型 | 时间 | 休假最小单位 | 薪酬计算 | 请假凭证 | |\n| 父母、配偶、子女 | 3天 | 一次休完 | 全薪支付 | 死亡证明 | |\n| 配偶的父母,本人及配偶的外/祖父母、兄弟姐妹 | 1 天 |\n\n\n## (八) 工伤假\n\n员工因工负伤的,假期及待遇根据国家及地方相关法律法规规定执行。\n\n\n## 第十一条 请休假原则与流程\n\n(一) 除国家法定节假日以及公司统一规定的假日外,请休假需遵循事前请假及优先使用年假(法定年假应先于福利年假使用)原则,经所在部门负责人批准且做好工作交接后方可休假。\n(二) 如遇特殊情况,可以邮件、短信、电话、微信等方式向所在部门负责人进行请假,获批后方可休假,并最晚于当月最后一个自然日下班前完成请假流程的所有审批。\n(三) 请休假均需通过企业微信客户端“人力服务平台”提前进行申请。", "[headers]({'知识库名': 'qanything2.0', '文件名': '九方财富员工考勤与假期管理制度-九方财富管理202412号.pdf'})\n## 第五章 附则\n\n第十二条 本制度自2024 年5 月1 日起生效实行,有效期为一年,责任部门为人事部。本制度最终解释权及修订权归人事部所有。\n九方财富总裁办2024 年5 月13 日"]
    
    texts = list(texts)
    
    # 这个if没有执行
    if not self.auto_id:
        assert isinstance(ids, list), "A list of valid ids are required when auto_id is False."
        assert len(set(ids)) == len(texts), "Different lengths of texts and unique ids are provided."
        assert all(len(x.encode()) <= 65_535 for x in ids), "Each id should be a string less than 65535 bytes."
    
    # Assuming self.embedding_func has an async method embed_documents_async
    embedding_start = time.perf_counter()
    try:
    		# 得到了24个768维的向量,list格式
        embeddings = await self.embedding_func.aembed_documents(texts)
    except NotImplementedError:
        embeddings = [await self.embedding_func.aembed_query(x) for x in texts]
    time_record['milvus_embedding_time'] = round(time.perf_counter() - embedding_start, 2)
    
    if len(embeddings) == 0:
        insert_logger.info("Nothing to insert, skipping.")
        return []
    
    # If the collection hasn't been initialized yet, perform all steps to do so
    if not isinstance(self.col, Collection):
        kwargs = {"embeddings": embeddings, "metadatas": metadatas}
        if self.partition_names:
            kwargs["partition_names"] = self.partition_names
        if self.replica_number:
            kwargs["replica_number"] = self.replica_number
        if self.timeout:
            kwargs["timeout"] = self.timeout
        self._init(**kwargs)
    
    # Dict to hold all insert columns
    insert_dict: dict[str, list] = {
        self._text_field: texts,
        self._vector_field: embeddings,
    }
    
    if not self.auto_id:
        insert_dict[self._primary_field] = ids
    
    if self._metadata_field is not None:
        for d in metadatas or []:
            insert_dict.setdefault(self._metadata_field, []).append(d)
    else:
        # Collect the metadata into the insert dict.
        if metadatas is not None:
            for d in metadatas:
                for key, value in d.items():
                    keys = (
                        [x for x in self.fields if x != self._primary_field]
                        if self.auto_id
                        else [x for x in self.fields]
                    )
                    if key in keys:
                        insert_dict.setdefault(key, []).append(value)
    
    # Total insert count
    vectors: list = insert_dict[self._vector_field]
    total_count = len(vectors)
    
    pks: list[str] = []
    
    insert_start = time.perf_counter()
    assert isinstance(self.col, Collection)
    for i in range(0, total_count, batch_size):
        # Grab end index
        end = min(i + batch_size, total_count)
        # Convert dict to list of lists batch for insertion
        insert_list = [
            insert_dict[x][i:end] for x in self.fields if x in insert_dict
        ]
        # Insert into the collection.
        try:
    		    # 将24条数据插入Milvus数据库中
            res: MutationResult = await asyncio.to_thread(
                self.col.insert, insert_list, timeout=timeout, **kwargs
            )
            # insert_logger.info(f"insert: {res}, insert keys: {res.primary_keys}")
            insert_logger.info(f"insert: {res}")
            # 拿到主键的内容:比如:[454578256377329172, 454578256377329173, 454578256377329174, 454578256377329175, 454578256377329176, 454578256377329177, 454578256377329178, 454578256377329179, 454578256377329180, 454578256377329181, 454578256377329182, 454578256377329183, 454578256377329184, 454578256377329185, 454578256377329186, 454578256377329187, 454578256377329188, 454578256377329189, 454578256377329190, 454578256377329191, 454578256377329192, 454578256377329193, 454578256377329194, 454578256377329195]
            pks.extend(res.primary_keys)
        except MilvusException as e:
            insert_logger.error(
                "Failed to insert batch starting at entity: %s/%s", i, total_count
            )
            raise e
        self.inserted_since_last_flush += end - i
    
    time_record['milvus_insert_time'] = round(time.perf_counter() - insert_start, 2)
    
    asyncio.create_task(asyncio.to_thread(self.col.flush))
    # if self._should_flush():
    #     self._milvus_flush()
    
    # self.col.flush()
    return pks
    

24个docs插入了向量数据库中,并且那18个doc在mysql File表中留下了一份记录。

到这里两个核心方法就介绍完了

done!

📝 PDF解析服务

pdf解析可选两种方式:

  1. 启动pdf解析服务,启动服务之前需要将用到的模型文件存放到相应的位置。

    模型文件下载地址:www.modelscope.cn/models/nete…

    image.png

    启动命令:

    nohup python3 -u qanything_kernel/dependent_server/pdf_parser_server/pdf_parser_server.py > /workspace/QAnything/logs/debug_logs/pdf_parser_server.log 2>&1 &
    

    debug启动方式(pycharm中配置):

    image.png

    这个接口接收一个pdf文件路径,返回一个处理好的md文件路径

    💡

    本来想详细介绍一下pdf-to-markdown的内部逻辑的,但是太复杂了,提取标题大小位置,提取表格信息等,涉及到的逻辑稍显复杂,我们就知道通过这一套逻辑,能将一个pdf转成md格式就行了 github上有一个marker项目,也是做这个工作的,应该会比qanything这套逻辑效果更好

还是上面那个pdf,看一下转换后的markdown内容

  1. 快速pdgf解析,使用fitz 库进行解析(不详细介绍了,效果不好)

会优先选择使用pdf解析服务解析pdf文档,如果pdf解析服务没有启动成功,那么会采用快速pdf解析的方式,比较粗暴。就是一行一行的文字,没有标题的概念,表格的格式也是乱七八糟的。这种方式肯定没有转markdown的检索效果好。在1.x版本中使用的是这种方式。

🤗 总结归纳

  1. sanic_api upload_files接口将上传一个pdf文件,文件保存在服务器,并且在mysql File表中增加一条记录
  2. 启动文件解析服务,debug的方式启动看变量过程

image.png

  1. 文件解析服务从File表轮训status=gray类型的数据,执行process_data方法。process_data内部包含两个核心方法。
    1. split_file_to_docs
      1. 拿到这个pdf文件,调用pdf解析服务的接口

      2. md内容转doc,得到了30个docs

        docs = convert_markdown_to_langchaindoc(markdown_file) docs = self.markdown_process(docs)

      3. docs合并,将一些比较短的doc和之前的doc进行合并,长度在400左右,如果超过400的doc比如800,就不合并了,合并完变成了18个docs

    2. insert_documents 对docs进行embedding并存入milvus向量数据库中
      1. 遍历18个doc,对长度太长的doc(这个doc称为父doc)进行子doc拆分,子doc和子doc之间有100的overlap,拆分后的子doc长度接近400,拆分成了24个docs,这24个docs的长度都不到400
      2. 起embedding服务
      3. 对24个docs进行embedding,得到24个768维的向量
      4. 24个子docs存milvus数据库
      5. 18个父docs存mysql Documents表

done!

📎 参考文章

  • github tag2.0源码
💡 有问题,欢迎您在底部评论区留言,一起交流~