공모전 질문 링크 | 공모전 홍보 페이지 |
? FinGLM : 오픈 소스를 활용하여 "AI + 금융"을 촉진하는 개방형 공공 복지 및 장기 지속형 대규모 금융 모델 프로젝트 구축에 전념합니다.
[2023/11/23 업데이트] 1세대, 2세대, 3세대 ChatGLM-6B 모델에 대한 PPT, 동영상, 기술문서 등 강좌 콘텐츠가 추가되었습니다.
【2023년 11월 17일 업데이트】새로운 솔루션 "이름을 무엇이든 지정하세요"를 추가했습니다.
? 상장기업의 연차보고서를 심층적으로 분석할 수 있도록 설계된 대화형 대화형 지능형 시스템입니다. 금융 텍스트에 전문적인 용어와 암시적인 정보가 있음에도 불구하고 우리는 AI를 사용하여 전문가 수준의 재무 분석을 달성하기 위해 최선을 다하고 있습니다.
AI 분야에서는 텍스트 대화가 진전을 이루었지만 실제 금융 상호 작용 시나리오는 여전히 큰 과제입니다. 금융 분야에서 AI의 경계를 탐구하기 위해 여러 기관이 공동으로 이번 대회를 조직했습니다.
상장회사의 연차보고서는 회사의 운영현황, 재무상태, 향후 계획 등을 투자자에게 제시하는 것입니다. 해석의 핵심은 전문성이며, AI 기술을 통해 이 과정을 보다 쉽고 정확하게 만드는 것이 우리의 목표입니다.
PDF를 TXT로 :
데이터 세분화 :
데이터 처리 :
데이터베이스에 저장 :
데이터 분류 : SQL 데이터, ES 데이터 등
ptuningv2, lora 등과 같은 미세 조정 전략을 선택합니다 .
미세 조정 수행 : 선택한 전략을 기반으로 합니다.
1) 이벤트 변환
2) 데이터 오픈소스
3) 오픈 소스 솔루션/코드/모델
4) 열린 소통
5) 학습 튜토리얼
6) 프로젝트 자원 풀
첫 번째 문제:
pdf2txt.py
사용하여 PDF 파일을 구문 분석하세요. 두 번째 문제:
프로젝트 소개 블로그:
[PPT] [동영상][코드]
이 프로젝트는 자체 프로젝트와 다른 여러 팀의 프로젝트를 기반으로 하는 Anshuoshuo Eye Exploration Enterprise 팀의 통합입니다. 우리는 앞으로도 이 프로젝트를 계속해서 반복하고 업그레이드할 것입니다.
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상] [코드]
[PPT] [동영상][코드]
우리의 오픈 소스 데이터 세트는 2019년부터 2021년까지 일부 상장 기업의 연간 보고서를 다루고 있습니다. 이 데이터 세트에는 총 11588개의 세부 PDF 파일(목록)이 포함되어 있습니다. 이러한 PDF 파일의 내용을 사용하여 필요한 데이터베이스나 벡터 라이브러리를 구축할 수 있습니다. 컴퓨팅 리소스 낭비를 방지하기 위해 모든 사람이 사용할 수 있도록 해당 파일을 TXT 파일 및 HTML 파일로 변환합니다.
크기: 69GB 파일 형식: pdf 파일 파일 수: 11588
자식로드
# 要求安装 git lfs
git clone http://www.modelscope.cn/datasets/modelscope/chatglm_llm_fintech_raw_dataset.git
SDK 로딩
# Note:
# 1. 【重要】请将modelscope sdk升级到v1.7.2rc0,执行: pip3 install "modelscope==1.7.2rc0" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
# 2. 【重要】datasets版本限制为 >=2.8.0, <=2.13.0,可执行: pip3 install datasets==2.13.0
from modelscope.msdatasets import MsDataset
# 使用流式方式加载「推荐」
# 无需全量加载到cache,随下随处理
# 其中,通过设置 stream_batch_size 可以使用batch的方式加载
ds = MsDataset.load('chatglm_llm_fintech_raw_dataset', split='train', use_streaming=True, stream_batch_size=1)
for item in ds:
print(item)
# 加载结果示例(单条,pdf:FILE字段值为该pdf文件本地缓存路径,文件名做了SHA转码,可以直接打开)
{'name': ['2020-03-24__北京鼎汉技术集团股份有限公司__300011__鼎汉技术__2019年__年度报告.pdf'], 'pdf:FILE': ['~/.cache/modelscope/hub/datasets/modelscope/chatglm_llm_fintech_raw_dataset/master/data_files/430da7c46fb80d4d095a57b4fb223258ffa1afe8bf53d0484e3f2650f5904b5c']}
# 备注:
1. 自定义缓存路径,可以自行设置cache_dir参数,即 MsDataset.load(..., cache_dir='/to/your/path')
2. 补充数据加载(从9493条增加到11588条),sdk加载注意事项
a) 删除缓存中的csv映射文件(默认路径为): ~/.cache/modelscope/hub/datasets/modelscope/chatglm_llm_fintech_raw_dataset/master/data_files/732dc4f3b18fc52380371636931af4c8
b) 使用MsDataset.load(...) 加载,默认会reuse已下载过的文件,不会重复下载。
참고: 쉽게 재사용할 수 있도록 pdf를 txt 형식 파일로 변환합니다. (한 파일이 손상되어 총 개수가 pdf보다 1개 적고 총 11587개입니다.)
# Linux
wget https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/alltxt.zip
# Windows示例
Invoke-WebRequest -Uri https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/alltxt.zip -OutFile D:\alltxt.zip
참고: 쉽게 재사용할 수 있도록 pdf를 html 형식 파일로 변환합니다. (한 파일이 손상되어 총 개수가 pdf, 총 11582개보다 적습니다.)
# Linux
wget https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/allhtml.zip
# Windows示例
Invoke-WebRequest -Uri https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/allhtml.zip -OutFile D:\allhtml.zip
권장되는 단계는 다음과 같습니다.
1. PDF 텍스트 및 테이블 추출: pdfplumber 및 pdfminer와 같은 툴킷을 사용하여 PDF 파일에서 텍스트 및 테이블 데이터를 추출할 수 있습니다.
2. 데이터 분할: PDF 파일의 디렉터리, 하위 디렉터리 및 장 정보에 따라 콘텐츠가 정확하게 분할됩니다.
3. 기본 금융 데이터베이스 구축: 금융 지식과 PDF 콘텐츠를 기반으로 전문 금융 데이터베이스 필드 및 형식을 설계합니다. 예를 들어 대차대조표, 현금흐름표, 손익계산서 등을 정의합니다.
4. 정보 추출: 대형 모델의 정보 추출 기능과 NLP 기술을 활용하여 해당 금융 분야 정보를 추출합니다. 예를 들어, json 모드를 사용하여 장 이름을 키로, 페이지 번호를 값으로 사용하여 디렉터리의 내용을 출력하세요. 동시에 테이블의 데이터를 자세하게 추출하여 JSON 형식으로 출력해 주시기 바랍니다.
5. 금융 지식 질의응답 데이터베이스 구축: 구축된 금융 데이터베이스와 결합하여 대규모 모델을 적용하여 기본적인 금융 질의응답 데이터베이스를 구축합니다. 예를 들어,
{"question":"某公司2021年的财务费用为多少元?", "answer": "某公司2021年的财务费用为XXXX元。"}
prompt:用多种句式修改question及answer的内容。
{"question":"为什么财务费用可以是负的?", "answer": ""}
prompt:请模仿上面的question给出100个类似的问题与对应的答案,用json输出。
6. 벡터 라이브러리 구축: Word2Vec 및 Text2Vec과 같은 기술의 도움으로 원본 텍스트 데이터에서 의미론적 벡터가 추출됩니다. PostgreSQL 기반 확장 프로그램인 pgVector를 사용하면 이러한 벡터를 저장하고 색인화하여 효율적으로 쿼리할 수 있는 대규모 벡터 라이브러리를 구축할 수 있습니다.
7. 응용 프로그램: 벡터 라이브러리, 대형 모델, langchain 및 기타 도구와 결합하여 응용 프로그램 효과를 향상시킵니다.
SMP 2023 ChatGLM 금융 대형 모델 챌린지에서는 예선, 준결승 A, 준결승 B, 준결승 C를 각각 진행했습니다. 이번 대회에서 우리는 총 10,000개의 항목이 포함된 관련 데이터에 수동으로 주석을 달았습니다.
데이터 예:
{ "ID" : 1 ,
"question" : "2019年中国工商银行财务费用是多少元?" ,
"answer" : "2019年中国工商银行财务费用是12345678.9元。" }
{ "ID" : 2 ,
"question" : "工商银行2019年营业外支出和营业外收入分别是多少元?" ,
"answer" : "工商银行2019年营业外支出为12345678.9元,营业外收入为2345678.9元。" }
{ "ID" : 3 ,
"question" : "中国工商银行2021年净利润增长率是多少?保留2位小数。" ,
"answer" : "中国工商银行2020年净利润为12345678.90元,2021年净利润为22345678.90元,根据公式,净利润增长率=(净利润-上年净利润)/上年净利润,得出结果中国工商银行2021年净利润增长率81.00%。" }
동시에 우리는 대회를 위한 리뷰 코드도 작성했습니다. 우리는 다음에 의존합니다:
평가 예:
{ "question" : "2019年中国工商银行财务费用是多少元?" ,
"prompt" : { "财务费用" : "12345678.9元" , "key_word" : "财务费用、2019" , "prom_answer" : "12345678.9元" },
"answer" : [
"2019年中国工商银行财务费用是12345678.9元。" ,
"2019年工商银行财务费用是12345678.9元。" ,
"中国工商银行2019年的财务费用是12345678.9元。" ]
}
평가 계산 예:
답변 1: 2019년 ICBC의 금융비용은 123,456,78.9위안입니다.
가장 유사한 문장:
2019년 ICBC의 금융비용은 12345678.9위안입니다. (점수: 0.9915)
2019년 중국공상은행의 금융비용은 12345678.9위안입니다. (점수: 0.9820)
2019년 중국공상은행의 금융비용은 12345678.9위안입니다. (점수: 0.9720)
평점: 0.25+0.25+0.9915*0.5=0.9958점.
채점 설명: prom_answer은 정확하고 모든 key_words를 포함하며 유사도가 0.9915로 가장 높습니다.
답변 2: 2019년 ICBC의 재정 비용은 335,768.91위안입니다.
평점: 0점.
채점 설명: Prom_answer 오류는 채점되지 않습니다.
세 번째 답변 : 12345678.9 위안.
가장 유사한 문장:
2019년 ICBC의 금융비용은 12345678.9위안입니다. (점수: 0.6488)
2019년 중국공상은행의 금융비용은 12345678.9위안입니다. (점수: 0.6409)
2019년 중국공상은행의 금융비용은 12345678.9위안입니다. (점수: 0.6191)
평점: 0.25+0+0.6488*0.5=0.5744점.
채점 설명: prom_answer은 정확하고 모든 키워드를 포함하지 않으며 유사도가 0.6488로 가장 높습니다.
{ "id" : 0 , "question" : "2021年其他流动资产第12高的是哪家上市公司?" , "answer" : "2021年其他流动资产第12高的公司是苏美达股份有限公司。" }
{ "id" : 1 , "question" : "注册地址在重庆的上市公司中,2021年营业收入大于5亿的有多少家?" , "answer" : "2021年注册在重庆,营业收入大于5亿的公司一共有4家。" }
{ "id" : 2 , "question" : "广东华特气体股份有限公司2021年的职工总人数为?" , "answer" : "2021年广东华特气体股份有限公司职工总人数是1044人。" }
{ "id" : 3 , "question" : "在保留两位小数的情况下,请计算出金钼股份2019年的流动负债比率" , "answer" : "2019金钼股份流动负债比率是61.10%。其中流动负债是1068418275.97元;总负债是1748627619.69元;" }
{ "id" : 4 , "question" : "2019年负债总金额最高的上市公司为?" , "answer" : "2019年负债合计最高的是上海汽车集团股份有限公司。" }
{ "id" : 5 , "question" : "2019年总资产最高的前五家上市公司是哪些家?" , "answer" : "2019年资产总计最高前五家是上海汽车集团股份有限公司、中远海运控股股份有限公司、国投电力控股股份有限公司、华域汽车系统股份有限公司、广州汽车集团股份有限公司。" }
{ "id" : 6 , "question" : "2020年营业收入最高的3家并且曾经在宁波注册的上市公司是?金额是?" , "answer" : "注册在宁波,2020年营业收入最高的3家是宁波均胜电子股份有限公司营业收入47889837616.15元;宁波建工股份有限公司营业收入19796854240.57元;宁波继峰汽车零部件股份有限公司营业收入15732749552.37元。" }
{ "id" : 7 , "question" : "注册地址在苏州的上市公司中,2020年利润总额大于5亿的有多少家?" , "answer" : "2020年注册在苏州,利润总额大于5亿的公司一共有2家。" }
{ "id" : 8 , "question" : "浙江运达风电股份有限公司在2019年的时候应收款项融资是多少元?" , "answer" : "2019年浙江运达风电股份有限公司应收款项融资是51086824.07元。" }
{ "id" : 9 , "question" : "神驰机电股份有限公司2020年的注册地址为?" , "answer" : "2020年神驰机电股份有限公司注册地址是重庆市北碚区童家溪镇同兴北路200号。" }
{ "id" : 10 , "question" : "2019年山东惠发食品股份有限公司营业外支出和营业外收入分别是多少元?" , "answer" : "2019年山东惠发食品股份有限公司营业外收入是1018122.97元;营业外支出是2513885.46元。" }
{ "id" : 11 , "question" : "福建广生堂药业股份有限公司2020年年报中提及的财务费用增长率具体是什么?" , "answer" : "2020福建广生堂药业股份有限公司财务费用增长率是34.33%。其中,财务费用是7766850.48元;上年财务费用是5781839.51元。" }
{ "id" : 12 , "question" : "华灿光电股份有限公司2021年的法定代表人与上年相比相同吗?" , "answer" : "不相同,华灿光电股份有限公司2020年法定代表人是俞信华,2021年法定代表人是郭瑾。" }
{ "id" : 13 , "question" : "请具体描述一下2020年仲景食品控股股东是否发生变更。" , "answer" : "2020年,仲景食品控股股东没有发生变更。" }
{ "id" : 14 , "question" : "什么是其他债权投资?" , "answer" : "其他债权投资是指企业或机构投资者通过购买债券、贷款、定期存款等金融产品获得的固定收益。这些金融产品通常由政府、公司或其他机构发行,具有一定的信用等级和风险。 n n其他债权投资是企业或机构投资组合中的一部分,通常用于稳定收益和分散风险。与股票投资相比,其他债权投资的风险较低,但收益也相对较低。 n n其他债权投资的管理和投资策略与其他资产类别类似,包括分散投资、风险控制、收益最大化等。然而,由于其他债权投资的种类繁多,其投资和管理也存在一定的特殊性。" }
[PPT] [동영상][기술문서]
[PPT] [동영상][기술문서]
[PPT] [동영상][기술문서]
본 프로젝트에 참여해주신 팀 및 개인은 다음과 같습니다.
FinGLM 오픈소스 프로젝트는 전적으로 공익을 목적으로 하며 모든 개발자의 참여 신청을 환영합니다. 물론 엄격한 검토를 진행합니다. 관심이 있으시면 양식을 작성해주세요.
본 프로젝트와 관련된 자료는 연구 및 커뮤니케이션용으로만 사용되며, 일반적으로 상업적인 용도로 사용하는 것을 권장하지 않습니다.
모델을 상업적으로 활용하는 경우 ChatGLM-6B 등 해당 모델의 프로토콜을 반드시 준수하시기 바랍니다.