现在我有大概一万个公司的年报(pdf格式),我需要提取里面披露的银行授信合同,但是这一部分在不同的年报里面的格式不固定,有的是表格,有的是文字内容,请问有什么大模型方案/python脚本方案可以实现这一功能吗?以及我应该如何确保这个的准确性呢?避免大模型的幻觉,三位数酬劳
它是这种文字性信息,然后有的叫什么银行借款,有的叫银行合同,有的叫什么授信合同,有的叫什么重大事项合同,反正反正他的叫法不一样,但是都是同一个东西,
扔给ai试试吧,内容不固定,你这机器提取太麻烦了,
我试过将一个pdf丢给grok,然后直接问grok这个pdf是否涉及授信合同 ,grok没有准确定位到pdf的信息,直接用AI处理太笼统了
年报一般是扫描件,不能直接把整个pdf丢给AI的吧
大概思路是做个小Agent,要用视觉模型
1、获取文件
2、对文件进行分割,分割成一页一图片
3、拿着图片调用LLM视觉模型,Qwen2.5VL-70B也行感觉,或者好点的就gpt4.1,把你要问的问题写成提示词,让AI整理成JSON返回,一般处理这种问题,我会问3取2【就是同个问题用新对话的形式问模型,获取其中两个一样的答案】降低模型的幻觉
4、根据模型的回答进行总结,一般你这种是填入excel,直接再操作一下填充进去
这就是ai为何替代不了人类的部分原因。 pdf格式,年报术语等增加文档解析的难度,更不用说年报的复杂性还在纸面之外。
目前来看你是想实现一个聚合分析,这种感觉只有大公司玩得转,大公司可以直接对接数据库,计算出固定的财务指标,而不是分析年报的数据。其研究思路是 筛选公司,分析年报,而不是 分析年报筛选公司。
请问这样做的话如何确保数据的准确性呢?
你可以先试试用 mistralOCR 把 pdf 格式转为 markdown 格式,然后提取就简单多了。
问3取2,只能大程度降低模型的幻觉,如果token不设上限可以问5取3,问8取5,以此类推,这个是一个数学概率问题,如果正常的ocr就能识别出来的,模型一般能一致通过,如果实在是不能有一点错误,可以对不能一致通过的数据进行标注,再人工复核
需要先把pdf转换出来,表格的话,其实不太好搞,其他的都没啥问题,只要没有图。
pdf转成markdown啥的
1、marker
2、minerU
3、VLM,比如qwen2.5 VL,gemini 等
主要还是看你从pdf里能提取出多少有用的信息
你需要 微软的(任意文档转markdown)[GitHub - microsoft/markitdown: Python tool for converting files and office documents to Markdown.]。
转成markdown 后,不断调整你的prompt 提取出来。
提取完之后拿另外一个ai 做校验,输出校验不通过的,如果量不大手工处理了,量大再调整prompt。注意,如果效果不佳的时候,记得切换模型。之前我试过被豆包折磨的时候换个gpt 就啥事都没了。
我想知道的是我应该如何确保AI是能正确找到文档中我所需要的内容并输出呢?如果 确保这个地方的准确性,而不是OCR的准确性。谢谢佬的解答
你可以交给模型去判断,但是对于这种有限合集的,我觉得不如明确在prompt 去写明,减少模型误判。我之前写过一个下单用的,用模型理解自然语言中的下单意向,然后转化成json 出来,使用上是没问题的。重点还是得来回调整prompt。
至于你说的:减少幻觉。我只能说开多个工作流,用另外一个模型去做校验工作。然后把有问题的都输出出来给你。可以大大减少你的工作量。
- 把内容转为含页数信息的文字;
- 然后再让LLM分析【授信合同/银行借款/】在第几页(这步用推理模型做,根据LLM的思路调整prompt);
- 最后通过代码处理PDF提取对应的页数。
如果从这么多报告里面同时提取所有信息确实挑战很大。如果纯视觉感觉也很消耗token。
有没有试过先手工选取一些pdf丢给上下文长一点的模型,然后让模型先粗略总结一下里面有多少是授信的内容,然后先让模型总结一下规律/关键词。最好生成一个表格/json这种类似有结构的格式 (譬如用ai studio里面的 2.5pro)不是很确定佬友每个pdf有多大,Gemini 塞满一半的上下文还是可以继续使用的。
最好还是先看看大致规律,再看看下一步怎么弄
我今天试了一下,一个pdf大概在3w token左右,但是授信部分实际上只占里面一小部分,而这样的pdf我有3w个左右,如何用大模型批量处理呢?同时也得考虑pdf token太多之后大模型是否可以阅读所有内容
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。