
使用NestJS和Prisma构建REST API:身份验证
案例一:股东持股
现在的任务是从OCR文字识别的结果中提取我指定的关键信息。OCR的文字识别结果使用符号包围,包含所识别出来的文字,顺序在原始图片中从左至右、从上至下。我指定的关键信息使用[]符号包围。请注意OCR的文字识别结果可能存在长句子换行被切断、不合理的分词、对应错位等问题,你需要结合上下文语义进行综合判断,以抽取准确的关键信息。输出为json格式。
环境要求与配置
!pip install erniebot==0.3.1
调用文心一言大模型功能是收费服务,所以使用EB SDK需要认证鉴权。
EB SDK认证鉴权主要是设置后端和access token,分别通过api_type
和access_token
参数来指定。
此处,我们使用aistudio
后端。在AI Studio个人中心的访问令牌页面,大家可以获取aistudio
后端的access token,然后填入下面代码中(替换{YOUR-ACCESS-TOKEN}
)。
请注意:
aistudio
后端的access token对应大家的个人账户,目前每个账户有100万token的免费额度,可以用于EB SDK调用文心一言大模型。ERNIE Bot SDK是文心&飞桨官方提供的Python软件开发工具包,简称EB SDK。
https://aistudio.baidu.com/projectdetail/6779542
环境要求与配置
使用AIStudio实现,通过文心一言API接口调用文心一言大语言模型,并使用适当的Prompt来辅进行开发。
下面这些代码通过百度AI平台的接口,使用文心一言(ERNIE Bot)语言模型进行文本处理。在导入所需库后它首先获取访问令牌(access_token),然后定义待处理的文本内容和主函数main(),随后使用requests库发送POST请求,最后提取相应结果并进行打印输出。整个过程使用了requests库和json库来处理
请求和JSON数据。我们首先定义如下函数,在之后的prompt案例中,我们只需要更换内容,再调用以下函数即可。
PP-OCR技术在很多领域都有广泛的应用,如自动化录入、数据统计、档案管理等。它可以将纸质文档快速准确地转化为数字化信息,大大提高了工作效率和便利性。然而,需要注意的是,PP-OCR技术还存在着一些挑战,例如对于手写字体、复杂排版或图像质量的识别准确性可能有所限制。
环境搭建
!pip install paddleocr -i https://mirror.baidu.com/pypi/simple
由于直接使用OCR输出结果进行文本分析和抽取效果不佳,并且存在大量无关内容,影响大模型的处理速度,因此我们将识别出的内容进行整理,以便后续使用。我们注意到,OCR输出的结果被存储在变量ocr_result1
中,这是我们进行内容整理的基础。
2.2截至报告期末的普通股股东总数,前十名普通股股东、前十名无限售条件的普通 股股东的持股情况 单位:股 股东总数(户) 75,103 前十名股东持股情况 持有有限售条 质押或冻结情况 股东名称 期末持股数量 比例 件股份数量 股东性质 股份状态 数量 成都交子金融控股集团 有限公司 652,418.000|18.0613% 652,418,000 国有法人 Hong Leong Bank Berhad 650,000,000|17.9943% 650,000,000 境外法人 渤海产业投资基金管理 240,000,000 6.6441% 240,000,000 境内非国有法人 有限公司 成都工投资产经营有限 公司 180,600,242 4.9997% 0 国有法人 北京能源集团有限责任 公司 160,000,000 4.4294% 160,000,000 国有法人 成都欣天颐投资有限责 任公司 124,194,000 3.4381% 0 国有法人 上海东昌投资发展有限 公司 120,000,000 3.3220% 0 冻结 50.000.000境内非国有法人 新华文轩出版传媒股份 有限公司 80,000,000 2.2147% 国有法人 四川新华发行集团有限 公司 71,243,800 1.9723% 0 国有法人 成都市协成资产管理有 限责任公司 71,154,900 1.9698% 0 国有法人
使用文心一言初步对提取数据进行了处理。
请你帮我分析前十名普通股东持股情况中,持股比例最多的是哪个?
使用文心千帆调用文心一言API实现
现在的任务是从OCR文字识别的结果中提取我指定的关键信息。OCR的文字识别结果使用符号包围,包含所识别出来的文字,顺序在原始图片中从左至右、从上至下。我指定的关键信息使用[]符号包围。请注意OCR的文字识别结果可能存在长句子换行被切断、不合理的分词、对应错位等问题,你需要结合上下文语义进行综合判断,以抽取准确的关键信息。输出为json中文格式。
由于直接使用OCR输出结果进行文本分析和抽取效果不佳,并且存在大量无关内容,影响大模型的处理速度,因此我们将识别出的内容进行整理,以便后续使用。我们注意到,OCR输出的结果被存储在变量ocr_result2中,这是我们进行内容整理的基础。
READ AND SAVE THE INSTrUCTION IMPORTANT SAFETY NOTES Thisproductshouldonlybeusedinaccordancewiththespecificationsoutlinedinthismanual. Usageother thanwhathasbeenspecifiedheremayresultinseriousinjury.Whileusingelectronic appliances,basicprecautionsshouldalwaysbefollowedtoreducetheriskoffire,electricshock and bodyinjuryincluding thefollowing: BeforeUse Thls appllancehasapolarlzedplug(oneblade Iswlderthan theother).To Please do not use the devlce when you use bug spray. reduce the rlsk electrlc shock, thls plug Is Intended to fit In a polarlzed To avold any electrlc shock,flre dlsaster or any other damages, outlet only one way,ifthe plug does not ft fully In outlet,reverse the plug. If It stll does not fit, contact a qualfed electrlclan. temperature, wet places, such as bathroom, etc. ●WARNING: To Reduce The Risk Of Fire or Electrlc Shock, Do Not Use Thls Fan With Any Solld-State Speed Control Devlce ●To avold fre or shock hazard, plug the appllance dlrectly lnto a 120V AC NoticeofCleani
使用AI Studio提供的文心一言SDK实现
根据提供的OCR文字识别结果,以下是我提取的关键信息:
“`json
{
“重要安全说明”: [
“仅按本手册中的说明使用该产品,否则可能导致严重伤害。”,
“使用电子设备时,应始终遵循基本预防措施以减少火灾、电击和人身伤害的风险,包括以下内容:”,
“使用前:请勿在浴室等潮湿位置使用该设备。”,
“警告:为减少火灾或电击的风险,请勿将本风扇与任何固态速度控制装置一起使用。”,
“清洁说明:请勿使用腐蚀性化学品清洁电源插头或电源线,以免造成损坏、电击或火灾。”,
“存储说明:请将设备存放在干燥的地方,并远离易燃和可燃物品。”,
“使用提示:请勿将设备放在热源(如炉子或任何有可燃气体泄漏的地方)附近。”,
“使用限制:如果电源线或任何机器部件损坏,必须由制造商、其服务代理或合格人员更换,以避免危险。”,
“限制使用:本产品所提供的线缆含有化学品,如果设备在运行时产生特殊气味,请勿在有自由基、铅或镉化合物的地方使用。”,
“加州法规提案65:在使用后,请立即洗手。”
]
}“`
使用文心千帆调用文心一言API实现
{“id”:”as-kadxxnsg46″,”object”:”chat.completion”,
“created”:1697467921,”result”:”根据您提供的OCR文字识别结果,
以下是抽取的关键信息:\n\n“`json\n{\n
\”问题\”: \”产品是否可以放到潮湿的地方?\”,\n
\”回答\”: \”不可以。产品应仅按照本手册中说明的规格使用。
除指定使用外,使用可能导致严重伤害。在潮湿的地方使用可能会导致火灾、
电击和身体伤害的风险。\”\n}\n“`”,”is_truncated”:false,
“need_clear_history”:false,”usage”:{“prompt_tokens”:912,
“completion_tokens”:103,”total_tokens”:1015}}
=======================================
可以看到,使用文心千帆调用文心一言API,也对我们的问题作出了回答,完成了我们的基本任务。
本文章转载微信公众号@机器学习AI算法工程