賽題連結| 賽題宣傳頁
? FinGLM : 致力於建構一個開放的、公益的、持久的金融大模型項目,利用開源開放來促進「AI+金融」。
【 2023/11/23 Update】新增了1、2、3代ChatGLM-6B 模型的課程內容,包括PPT、影片和技術文件。
【 2023/11/17 Update】新增一個解決方案「隨便取個名」
?一個旨在深度解析上市公司年報的對話互動智慧系統。面對金融文本中的專業術語與隱含訊息,我們致力於用AI實現專家級的金融分析。
在AI領域,雖然已在文字對話中取得進展,但真正的金融互動場景仍是一個巨大挑戰。多方機構聯手舉辦此競賽,探索金融領域AI的邊界。
上市公司年報為投資者呈現了公司的營運狀況、財務狀況和未來規劃。專業知識是解讀的關鍵,而我們的目標是透過AI技術讓這個過程變得更簡單、更準確。
PDF 轉TXT :
數據切分:
數據處理:
存入資料庫:
資料分類:如SQL 資料、ES 資料等。
選擇微調策略:例如ptuningv2、lora等。
執行微調:根據選定策略。
1) 賽事轉型
2) 資料開源
3) 方案/程式碼/模型開源
4) 開放交流
5) 學習教程
6) 專案資源池
第一期:
pdf2txt.py
對PDF 檔案解析而來。 第二期:
專案介紹部落格:
[PPT] [影片][程式碼]
本計畫為安碩碩眼探企團隊,根據自己的專案以及其他幾隊的專案整合而成。後續我們也將圍繞此專案進行持續迭代升級。
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片] [程式碼]
[PPT] [影片][程式碼]
我們開源的資料集涵蓋了2019-2021年期間部分上市公司的年度報告。此資料集共包含11588 個詳盡的PDF 檔案(list)。您可以利用這些PDF檔案的內容來建立您需要的資料庫或向量庫。為了避免計算資源浪費,我們也將對應的文件轉換成TXT文件和HTML文件,供大家使用。
大小:69GB 檔案格式:pdf檔案檔案數:11588
git載入
# 要求安装 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已下载过的文件,不会重复下载。
Note: 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
Note: 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方式輸出目錄的內容,其中章節的名稱作為key,頁碼作為value。同時,請詳細抽取表格內的數據,以JSON格式輸出。
5.建構金融知識問答庫:結合建構的金融資料庫,應用大模型建構基礎的金融問答庫。例如,
{"question":"某公司2021年的财务费用为多少元?", "answer": "某公司2021年的财务费用为XXXX元。"}
prompt:用多种句式修改question及answer的内容。
{"question":"为什么财务费用可以是负的?", "answer": ""}
prompt:请模仿上面的question给出100个类似的问题与对应的答案,用json输出。
6.建構向量庫:借助如Word2Vec、Text2Vec等技術,從原始文字資料中擷取語義向量。使用pgvector這種基於PostgreSQL的擴充功能來儲存和索引這些向量,從而建立起一個可供高效查詢的大規模向量庫。
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元。" ]
}
評測計算範例:
答案一:工商銀行2019年財務費用是12345,678.9元。
most similar sentences:
2019年工商銀行財務費用是12345,678.9元。 (Score: 0.9915)
中國工商銀行2019年的財務費用是12345,678.9元。 (Score: 0.9820)
2019年中國工商銀行財務費用是12345,678.9元。 (Score: 0.9720)
評分:0.25+0.25+0.9915*0.5=0.9958分。
評分解釋:prom_answer正確、包含所有key_word、相似度最高0.9915。
答案二:2019年中國工商銀行財務費用是33,5768.91元。
評分:0分。
評分解釋:prom_answer錯誤不得分。
答案三:12345678.9元。
most similar sentences:
2019年工商銀行財務費用是12345,678.9元。 (Score: 0.6488)
2019年中國工商銀行財務費用是12345,678.9元。 (Score: 0.6409)
中國工商銀行2019年的財務費用是12345,678.9元。 (Score: 0.6191)
評分:0.25+0+0.6488*0.5=0.5744分。
評分解釋:prom_answer正確、未包含所有key_word、相似度最高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。