FinGLM/code/南哪都队/chatglm_full_code_final
2023-10-09 13:01:02 +08:00
..
ChatGLM2-6B update 2023-10-09 13:01:02 +08:00
data update 2023-10-09 13:01:02 +08:00
documents update 2023-10-09 13:01:02 +08:00
excel_extraction update 2023-10-09 13:01:02 +08:00
finetune update 2023-10-09 13:01:02 +08:00
glm_components update 2023-10-09 13:01:02 +08:00
model update 2023-10-09 13:01:02 +08:00
templates update 2023-10-09 13:01:02 +08:00
build.sh update 2023-10-09 13:01:02 +08:00
company_infos.jsonl update 2023-10-09 13:01:02 +08:00
configuration.json update 2023-10-09 13:01:02 +08:00
count_dict.json update 2023-10-09 13:01:02 +08:00
Dockerfile update 2023-10-09 13:01:02 +08:00
get_all_open_questions.py update 2023-10-09 13:01:02 +08:00
inspect.txt update 2023-10-09 13:01:02 +08:00
launch.json update 2023-10-09 13:01:02 +08:00
log.txt update 2023-10-09 13:01:02 +08:00
merged_retrieval_result.json update 2023-10-09 13:01:02 +08:00
names.txt update 2023-10-09 13:01:02 +08:00
predict_open.py update 2023-10-09 13:01:02 +08:00
predict.py update 2023-10-09 13:01:02 +08:00
process.py update 2023-10-09 13:01:02 +08:00
Readme.md update 2023-10-09 13:01:02 +08:00
requirements.txt update 2023-10-09 13:01:02 +08:00
result.json update 2023-10-09 13:01:02 +08:00
retrieval_result.json update 2023-10-09 13:01:02 +08:00
run_docker.sh update 2023-10-09 13:01:02 +08:00
run.sh update 2023-10-09 13:01:02 +08:00
settings.json update 2023-10-09 13:01:02 +08:00
submit.txt update 2023-10-09 13:01:02 +08:00

数据/预处理说明

data文件夹

  • data/chatglm_llm_fintech_raw_dataset官方数据集

    来源:

    git clone http://www.modelscope.cn/datasets/modelscope/chatglm_llm_fintech_raw_dataset.git
    
  • data/alltxt官方数据集 来源:

    wget https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/alltxt.zip
    unzip alltxt.zip
    
  • data/allhtml官方提供的baseline提取pdf得到的结果

    来源:

    开源baseline提取pdf为html

  • data/processed_excels

    由process.py 预处理html&txt抽取得到的表格

  • data/list_json:

    txt切分成结构化的chunk用于开放问题检索

  • data/final_excels:

    标准化的财务报表、公司信息宽表用于SQL查询

  • finetune/table_qa/data

    包含以下几个部分:

    1. 规则自动生成的数据集
      1. 公司问答数据由company_info.py规则生成
      2. 个人问答数据由personal_information_augmentation.py规则生成
      3. 问题分类数据由classifier规则生成

    然后各自按比例拆分数据集由chatglm进行ptuning生成对应的checkpoint

    最后得到的模型输入questions由classifier.py 推理得出classification.jsonl用于后续模型回答不同类型的问题参考

    直接运行这几个文件可能会遇到相对路径问题改一下import路径即可

    微调的脚本位于ChatGLM2-6B/ptuning下面分别是train_classifier.sh train_personal.sh train_company.sh

  • documents/open_questions_annotated: 规则标注的A榜数据

  • documents/open_query: CHATGPT为部分开放类型问题生成的答案作为GLM回答的样例放进prompt里面

  • complex_query: SQL查询数据生成模板支持多城市、增长率查询

模型说明

模型目录model/chatglm2-6b 来源:

git lfs install
git clone https://huggingface.co/THUDM/chatglm2-6b

模型微调代码CHATGLM2官方repo: ChatGLM2-6B

checkpoints:

  • model/classifier/sql_enhance_checkpoint 问题分类
  • model/company_info/checkpoint-1500 公司信息问题回答
  • model/personal/checkpoint-1500 员工信息问题回答

流程说明

运行 process.py 运行 predict.py 以此法生成的文件位于/tmp/result.json

构建并运行docker

sh run_docker.sh 以此法生成的内容保存在result文件夹下