LawGLM-public24点燃心海
1. FrameWork
2. 说明
本次项目LLM全程使用GLM4 API
KeyWord Extractor
根据用户问题,提取关键字,并根据关键字从数据库列表匹配对应的字段名称
抓取关键词
''' 例子1: 问题: 华仁药业股份有限公司控股的子公司,超过50%的有几家? 回答:['华仁药业股份有限公司','子公司'] 例子2: 问题: 请问在(2020)沪0104民初14148号案件里,谁是原告方,谁是被告方,同时请阐述该案件的诉讼理由是什么? 回答['(2020)沪0104民初14148号','原告','被告'] 例子3: 问题: 统一社会信用代码是91370000164102345T这家公司的法人是谁? 回答: ['统一社会信用代码','91370000164102345T','法人'] '''
关键词匹配
''' 问题: 【2021】豫0304民初300号的上诉人和被诉人分别是? 关键词: 【2021】豫0304民初300号, 上诉人, 被诉人 {{"(2021)豫0304民初300号": [LegalDoc.案号]}}
问题: 智动力的子公司是否有涉诉?是否存在2021年由东莞市第三人民法院审理的劳动合同纠纷案件?如果有,案件受理费是多少? 关键词: 智动力, 子公司, 涉诉, 2021年, 东莞市第三人民法院, 劳动合同纠纷, 案件受理费 {{"智动力": [CompanyInfo.公司简称], "东莞市第三人民法院":[CourtInfo.法院名称, CourtCode.法院名称]}} '''
Tool Arranger
利用相似度根据问题和关键词从工具池中选出回答问题所需要的工具。
要运行代码记得下载训练好的参数text2vec模型放在./model
目录下。
Plan Maker
根据现有问题和已有工具制定回答问题的流程 ''' 问题:XX股份有涉诉案件的法院地址在某地,请问这些涉讼案件的涉案金额之和是多少? 可能涉及到的字段 "XX股份": ["CompanyInfo.公司名称", "CompanyRegister.公司名称", "CompanyInfo.公司简称"], "涉案金额": ["LegalDoc.涉案金额"], "法院地址": ["CourtInfo.法院地址"], "某地": ["CourtInfo.法院地址"] 回答:{{ "plan": "1. 使用getcompanyinfoservicebyabbreviation\n 根据XX股份查询公司全称\n2. 使用getcompanyinvolvedcasesinfo \n - 根据公司全称查询XX公司所有涉诉案件的案号和涉案金额\n3. 使用getcourtcodeservice\n - 根据得到的所有案号中的法院代字查询法院名称\n4. 使用 getcourtinfo_service\n - 根据得到的所有法院名称查询法院地址\n5. 根据得到的所有法院地址筛选地址在某地的涉讼案件\n6. 根据筛选出的涉讼案件的涉案金额求和得到涉案金额之和", "tools": [2, 10, 11] }} '''
Agent
根据制定好的流程,调用给定工具中的工具,得到最终回答,并把他的回答流程交给裁判
Referee
裁判检查Angent的回答是否正确,确保用户的问题不含有虚假信息,能准确回答问题,判定回答正确则交给Summarier 总结; 回答错误,则给出反馈,指导PlanMaker重新制定流程,并再次调用Agent回答问题。
Summarier
根据Agent的回答,总结出回答问题的步骤,并返回给用户。
评论