大模型实现金融文本抽取
📅 2026/7/16 23:43:25
👁️ 次浏览
学习目标• 掌握Zero-shot方式下prompt的设计方式• 掌握利用LLM实现信息抽取的代码1.LLM信息抽取任务介绍• 首先我们定义信息抽取的Schema:# 定义不同实体下的具备属性 schema { 金融: [日期, 股票名称, 开盘价, 收盘价, 成交量], }• 下面几段文本来自某平台发布的股票信息1.2023-02-15,寓意吉祥的节日,股票佰笃[BD]美股开盘价10美元,虽然经历了波动,但最终以13美元收盘,成交量微幅增加至460,000,投资者情绪较为平稳。, 2.2023-04-05,市场迎来轻松氛围,股票盘古(0021)开盘价23元,尽管经历了波动,但最终以26美元收盘,成交量缩小至310,000,投资者保持观望态度。,• 我们的且的是期望模型能够帮助我们识别出这2段话中的SPO三元组信息2.Prompti设i计• 在该任务的prompt 设计中我们主要考虑2点:○ 需要向模型解释什么叫作「信息抽取任务」○ 需要让模型按照我们指定的格式(json)输出• 为了让模型知道什么叫做「信息抽取」我们借用Incontext Learning的方式先给模型展示几个正确的例子 User: 2023-01-10,股市震荡。股票古哥-D[EOOE]美股今日开盘价100美元,一度飙升至105美元,随后回落至98美元,最终以102美元收盘,成交量达到520000。。提取上述句子中“金融”(‘日期’,‘股票名称’,‘开盘价’,‘收盘价’,‘成交量’)类型的实体,并按照JSON格式输出,上述句子中没有的信息用[原文中未提及]来表示,多个值之间用,分隔。 Bot: {日期: [2023-01-10],股票名称: [古哥-D[EOOE]美股],开盘价: [100美元], 收盘价: [102美元],成交量: [520000]} ...其中User代表我们输入给模型的句子Bot代表模型的回复内容。注意:上述例子中 Bot 的部分也是由人工输入的其目的是希望看到在看到类似 User 中的句子时模型应当做出类似Bot 的回答3.实体抽取任务代码实现• 本章节使用的模型通义千问大模型的API• 本次信息抽取任务实现的主要过程○ 构造prompt○ 再进行信息抽取3.1调用大模型API在金融文本中已经封装好了大模型的调用API这里直接调用就行。def model_chat(content: str, modelqwed-plus) - str:3.2编写信息抽取的指令遵循prompt编写的规范先来分析这个指令包含哪些内容:1.清晰地描述任务告诉大模型这是一个信息抽取的任务请根据输入的股票交易新闻完成金融事件抽取任务需要抽取的属性在结尾列表中给出。2.输入数据使用分隔符这里使用%s作为占位符输入的内容以###分隔。下面是输入内容 ### %s ### 需要抽取的元素包括 %s必须是上面给出的元素。3.输出格式说明输出结果以json格式返回下面是json格式的模板以###作为分隔符 ### {result: { 日期: [xxx], 股票名称: [xxx], 开盘价: [xxx], 收盘价: [xxx], 成交量: [xxx] } } ### json格式中的xxx是需要填充的内容如果没有抽取到填充无请记住你不能随意填充答案。4、指令优化按照上面的指令输出的内容包含在的ison中需要进一步调整指令指令优化部分大家可以完成整个代码开发以后针对大模型返回不合理的部分继续优化指令。返回内容是json格式的字符串不需要包裹内容.3.3开发信息抽取的主函数主函数需要包括的功能有1.完整的信息抽取指令拼接输入的内容和要求提取的schema2.拼接好的指令调用大模型得到返回的json字符串3.将ison字符串转为dict字典变成结构化数据方便后续使用import json from _model import model_chat # 定义要抽取的元素属性 schema { 金融: [日期, 股票名称, 开盘价, 收盘价, 成交量], } def load_json(func): # TODO: 大模型返回的结果可能不是严格 json 格式, 需要修正 def _wapper(*args, **kwargs): res func(*args, **kwargs) return json.loads(res) return _wapper load_json def ie_news(content, schema[日期, 股票名称, 开盘价, 收盘价, 成交量]): 根据金融信息抽取元素 :param content: 输入内容 :param schema: 需要抽取的元素 :return: json 格式 prompt 请根据输入的股票交易新闻完成金融事件抽取任务需要抽取的属性在结尾列表中给出。输入的文本内容如下 %s 需要抽取的元素包括 %s必须是上面给出的元素。 输出结果以json格式返回下面是json格式的模板以###作为分隔符 ### {result: { 日期: [xxx], 股票名称: [xxx], 开盘价: [xxx], 收盘价: [xxx], 成交量: [xxx] } } ### json格式中的xxx是需要填充的内容如果没有抽取到填充无请记住你不能随意填充答案。 % (content, schema) text model_chat(contentprompt) return text if __name__ __main__: sentences [ 2023-02-15寓意吉祥的节日股票佰笃[BD]美股开盘价10美元虽然经历了波动但最终以13美元收盘成交量微幅增加至460,000投资者情绪较为平稳。, 2023-04-05市场迎来轻松氛围股票盘古(0021)开盘价23元尽管经历了波动但最终以26美元收盘成交量缩小至310,000投资者保持观望态度。, ] for sent in sentences: res ie_news(sent) print([输入数据]:, sent) print([抽取结果]:, res) for k, v in res[result].items(): print(f\t{k} {v})输出结果为[抽取结果]: {result: {日期: [无], 股票名称: [佰笃[BD]], 开盘价: [10美元], 收盘价: [13美元], 成交量: [460,000]}} 日期 [无] 股票名称 [佰笃[BD]] 开盘价 [10美元] 收盘价 [13美元] 成交量 [460,000] [输入数据]: 2023-04-05市场迎来轻松氛围股票盘古(0021)开盘价23元尽管经历了波动但最终以26美元收盘成交量缩小至310,000投资者保持观望态度。 [抽取结果]: {result: {日期: [2023-04-05], 股票名称: [盘古], 开盘价: [23元], 收盘价: [26美元], 成交量: [310,000]}} 日期 [2023-04-05] 股票名称 [盘古] 开盘价 [23元] 收盘价 [26美元] 成交量 [310,000]
1. 紫光同创FPGA开发环境搭建在RK3568PG2L50H开发板上进行FPGA开发,首先需要搭建完整的开发环境。紫光同创的FPGA开发工具链与Xilinx或Altera有所不同,需要特别注意以下几个关键环节:1.1 软件工具安装紫光同创官方提供的Pango Design Suite&a…
📅 2026/7/16 23:43:25
1. 项目概述:为什么一个“Moltbot”要同时连Discord和飞书?Moltbot不是某个大厂发布的官方产品,而是一个在开源社区悄然生长、专为多平台消息中枢设计的轻量级机器人框架。它不追求大模型推理能力,也不堆砌复杂工作流,…
📅 2026/7/16 23:43:25
1. 微信支付V3投诉回调API封装实战第一次对接微信支付V3的投诉回调功能时,我踩了不少坑。官方文档虽然详细,但实际开发中还是会遇到各种意想不到的问题。下面就把我的实战经验分享给大家,从环境准备到完整封装,手把手带你避开那些…
📅 2026/7/16 23:42:25
婚姻背锅的真相:你感受到的不幸,是一场被多方合谋的认知陷阱
前阵子那句“普通人本来就很难获得幸福,只不过大家都将它归于婚姻”戳中了无数人。 但很少有人往下再问一层: 为什么我们会下意识把所有不如意都甩锅给婚姻? “结婚=人生圆满”的执念到底是谁灌输给我们的? 铺…
📅 2026/7/17 0:29:43
我不介意被人讨厌:渴望被喜欢,才是一个人最大的弱点 目录 我不介意被人讨厌:渴望被喜欢,才是一个人最大的弱点 穿衣服:舒服比“别人眼里的好看”重要 选工作:需求比“别人嘴里的体面”重要:其实根本没有什么好工作:因为好工作轮不到你,你不知道是不是好工作就是坏工作…
📅 2026/7/17 0:29:43
聊《大模型岗位变了,爬虫工程师该补的还是算法吗?》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚:看完之后,你应该能判断这件事值不值…
📅 2026/7/17 0:29:43
📌 PDF:大白话说Java面试题 — 07_Redis篇 第13题:Redis 的持久化机制有哪些?优缺点说说
📚 回答:
核心考点: Redis 持久化是保障数据安全的核心机制,大厂面试不会只问"RDB 和…
📅 2026/7/17 0:28:43
一、核心区别对比
特性startService()bindService()启动方式直接启动,无需组件绑定需要与组件(Activity/Fragment)绑定生命周期onCreate() → onStartCommand()onCreate() → onBind()与调用者关系调用者与 Service 无直接关联调用者与 Serv…
📅 2026/7/17 0:28:43
随着社会文明程度的不断提升,志愿服务作为社会公益事业的重要组成部分,正日益受到广泛关注与积极参与。然而,传统的志愿服务模式往往面临信息不对称、管理效率低下、服务资源分散等问题,难以满足日益增长的志愿服务需求。在此背景…
📅 2026/7/17 0:27:42
1. 为什么选择用DeepSeek V4替换Codex的底座模型去年我在开发一个智能代码补全工具时,发现Codex的默认底座模型在复杂业务逻辑场景下表现不尽如人意。经过多次测试对比,DeepSeek V4在以下几个关键指标上展现出明显优势:代码补全准确率&#x…
📅 2026/7/17 0:00:32
1. VS Code 高效配置基础作为一款轻量级但功能强大的代码编辑器,VS Code 的默认配置已经能满足基本需求,但通过合理调整设置可以大幅提升编码效率。我使用 VS Code 已经有五年多时间,期间尝试过各种配置方案,总结出这套适合大多数…
📅 2026/7/17 0:00:32
在异常检测领域,很多优秀算法最初都是以研究代码的形式发布的。它们能够在固定测试集上复现实验结果,却不一定能被普通用户直接拿来测试自己的图片。尤其是最近很多算法仅提供在固定测试集的测试环境,而gradio的demo演示也不会提供。
对工程应用和在自己的图片上进行测试来…
📅 2026/7/17 0:00:32
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/15 22:51:06
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/16 21:45:29
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/16 14:13:12
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/15 22:46:06
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/16 4:59:31
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/15 22:51:03