做网站划算还是做app划算,电子科技公司网站,建手机网站软件,现在网站开发技术有哪些本期文心开发者说邀请到飞桨开发者技术专家徐嘉祁#xff0c;主要介绍了如何通过小模型与大模型的结合#xff0c;解决数据分析中的问题。 项目背景
在智能涌现的大模型时代#xff0c;越来越多的企业和研究机构开始探索如何利用大模型来提升工作效率#xff0c;助力业务智…本期文心开发者说邀请到飞桨开发者技术专家徐嘉祁主要介绍了如何通过小模型与大模型的结合解决数据分析中的问题。 项目背景
在智能涌现的大模型时代越来越多的企业和研究机构开始探索如何利用大模型来提升工作效率助力业务智能化转型。但其实小模型与大模型结合后能够更加高效、低成本地解决业务中出现的问题带给用户不一样的体验。我想分享的内容是小模型与大模型结合后产生的理解记忆逻辑和生成能力。
在工作场景下普遍存在效率问题。比如要想了解一张股东持股数据图的最大值与最小值但面对密密麻麻的数据人眼排序出错率高。比如你是一位数据工程师领导让你对数据进行分析如何能更快地将图片数据转为JSON格式。
在日常生活中也常常出现难以解决或耗时过长的问题。例如购买进口产品国内消费者最大的困扰在于看不懂英文说明书。有些人可能会使用手机拍照翻译来理解或使用说明书但这无法从根本上解决问题。
在这一背景下我们的项目应运而生。
在2023年的WAVE SUMMIT深度学习开发者大会上文心一言通过飞桨星河社区提供一整套开发机制社区用户可以通过API和SDK使用文心大模型的基础能力并支持插件、多工具智能编排开发创造AI原生应用。文心一言强大的能力也使得多个模态贯通成为可能亦给我带来更多延伸思考如果数据的呈现形式不是文档而是图片我们是否依旧能对图片中的数据进行分析甚至将其绘制成饼状图呢
对此我这次尝试给出的解决方案是使用小模型加大模型也就是PP-OCR加上文心一言带来新的体验也可以使得文心一言的应用范围更加广泛。
项目实现流程
该项目是如何实现的呢
首先用户上传图片通过PP-OCR进行文本提取将结果结合Prompt上传文心一言。文心一言同时对第一轮对话输入的Prompt和PP-OCR进行初步分析再反馈结果给用户。 项目前储备
PP-OCR
PP-OCR应用领域广泛如自动化录入、数据统计、档案管理等。它可以将纸质文档快速准确地转化为数字化信息极大地提升了办公效率与工作便利性。然而PP-OCR还存在着一些挑战例如对于手写字体、复杂排版或图像质量的识别准确性仍存在局限。该项目使用的是PP-OCR v3的版本在PP-OCR v2版本的基础上有所升级能够优化后续开发流程。 PP-OCR v3效果
飞桨星河社区 ERNIE SDK
ERNIE SDK提供便捷易用的接口可以调用文心一言的能力包含文本创作、通用对话、语义向量、Al作图等。
环境配置
环境配置包括星河社区的基础平台与环境Python 3.7的版本PaddlePaddle2.1.2ERNIE SDK。
案例
接下来将以两个案例作为示意说明应用的开发步骤。
股东持股
PP-OCR的配置
首先安装PP-OCR默认的是PP-OCR v3的版本。
!pip install paddleocr -i https://mirror.baidu.com/pypi/simple通过以下这段代码检查是否有PP-OCR的数据集中间需要选择股东持股的照片因此需要先下载PP-OCR的数据集再进行解压。
import os
file_path ppocr_img.zip
if os.path.isfile(file_path):print(file_path, OK)
else:!wget https://paddleocr.bj.bcebos.com/dygraph_v2.1/ppocr_img.zip
file_path ppocr_img/imgs/00015504.jpg #这里选择的是股东持股的图片后面完成其他项目的时候需要改为说明书的图片
if os.path.isfile(file_path):print(file_path, OK)
else:!unzip ppocr_img.zipprint(unzip OK!)其次将股东持股的图片路径传给变量确认输入图片是否正确。
from IPython import display
display.Image(filenamefile_path, width640) #看看待处理图片随后PP-OCR对图片的文本数据进行提取。
#图片OCR识别
from paddleocr import PaddleOCR, draw_ocr
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如ch, en, fr, german, korean, japan
ocr PaddleOCR(use_angle_clsTrue, langch)
img_path file_path
result ocr.ocr(img_path, clsTrue)
for idx in range(len(result)):res result[idx]for line in res:print(line)由于直接使用OCR输出结果进行文本分析和抽取的效果不佳并且存在大量无关内容影响大模型的处理速度因此需要处理将识别出的内容删除无关信息留下关键数据。初步处理数据后OCR输出的结果被存储在变量ocr_result1中这是进行内容整理的基础。
ocr_result1
for idx in range(len(result)):res result[idx]for line in res:
# print(line[1][0])ocr_result1 ocr_result1 str(line[1][0])
# break
print(ocr_result1)与文心一言进行交互
首先需要对Prompt进行设计这一步会影响到文心一言输出的结果。本项目的Prompt设置为“你现在的任务是从OCR文字识别的结果中提取我指定的关键信息。OCR的文字识别结果使用符号包围包含所识别出来的文字顺序在原始图片从左至右、从上至下。我指定的关键信息使用符号包围。请注意OCR文字识别结果可能会存在长句子换行被切断、不合理的分词、对应错位等问题你需要结合上下文语义进行综合判断以抽取准确的关键信息输出为JSON格式。”
如果希望获得更详细的信息需要与文心一言进行多轮对话。那么需要将设计好的Prompt传给文心一言。
#多轮对话
model ernie-bot
messages [{role: user, content: 你现在的任务是从OCR文字识别的结果中提取我指定的关键信息。OCR的文字识别结果使用符号包围包含所识别出来的文字顺序在原始图片中从左至右、从上至下。我指定的关键信息使用[]符号包围。请注意OCR的文字识别结果可能存在长句子换行被切断、不合理的分词、对应错位等问题你需要结合上下文语义进行综合判断以抽取准确的关键信息。输出为JSON格式。}]
first_response erniebot.ChatCompletion.create(modelmodel,messagesmessages,
)
print(first_response.result)接着将OCR的结果传给文心一言进行第二轮对话。第二轮对话的结果是基于第一轮对话的Prompt和第二轮输入的OCR的result。
messages.append({role: assistant, content: first_response.result})
messages.append({role: user, content: ocr_result1})second_response erniebot.ChatCompletion.create(modelmodel,messagesmessages,
)
print(second_response.result)随后便可以开启第三轮对话此处Prompt设计为“请你帮我分析前十名股东持股情况中持股比例最多的是哪个”
messages.append({role: assistant, content: second_response.result})
messages.append({role: user, content: 请你帮我分析前十名普通股东持股情况中持股比例最多的是哪个})third_response erniebot.ChatCompletion.create(modelmodel,messagesmessages,
)
print(third_response.result)根据提供的信息前十名普通股东持股情况中持股比例最多的是“成都交子金融控股集团有限公司”其持股比例为18.0613%。可以看到文心一言不仅对数据做出了初步处理还对数据进行了分析找出了占比最大值。
英文说明书
流程和股东持股基本一致都是采用小模型加大模型的流程进行开发需要对Prompt进行修改。第一步将图片路径改成“说明书的图片路径”。
file_path /home/aistudio/sms.jpg #这里选择的是说明书的图片from IPython import display
display.Image(filenamefile_path, width600) #看看待处理图片第二步对图片进行OCR识别。
#图片OCR识别
from paddleocr import PaddleOCR, draw_ocr
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如ch, en, fr, german, korean, japan
ocr PaddleOCR(use_angle_clsTrue, langen)
img_path file_path
result ocr.ocr(img_path, clsTrue)
for idx in range(len(result)):res result[idx]for line in res:print(line)与第一个案例不同的是该段内容由大段英文组成需要再次对输出的结果进行处理删除无关内容将结果命名为OCR result 2。
第三步对输出的result进行处理。
ocr_result2
for idx in range(len(result)):res result[idx]for line in res:
# print(line[1][0])ocr_result2 ocr_result2 str(line[1][0])
# break
print(ocr_result2)第四步设计Prompt文心一言能够进行机器翻译将result翻译成中文格式。接下来可以进行多轮对话。
#多轮对话
model ernie-bot
messages [{role: user, content: 你现在的任务是从OCR文字识别的结果中提取我指定的关键信息。OCR的文字识别结果使用符号包围包含所识别出来的文字顺序在原始图片中从左至右、从上至下。我指定的关键信息使用[]符号包围。请注意OCR的文字识别结果可能存在长句子换行被切断、不合理的分词、对应错位等问题你需要结合上下文语义进行综合判断以抽取准确的关键信息。输出为JSON中文格式。}]
first_response erniebot.ChatCompletion.create(modelmodel,messagesmessages,
)
print(first_response.result)messages.append({role: assistant, content: first_response.result})
messages.append({role: user, content: ocr_result2})second_response erniebot.ChatCompletion.create(modelmodel,messagesmessages,
)
print(second_response.result)json
{重要安全说明: [仅按本手册中的说明使用该产品否则可能导致严重伤害。,使用电子设备时应始终遵循基本预防措施以减少火灾、电击和人身伤害的风险包括以下内容,使用前请勿在浴室等潮湿位置使用该设备。,警告为减少火灾或电击的风险请勿将本风扇与任何固态速度控制装置一起使用。,清洁说明请勿使用腐蚀性化学品清洁电源插头或电源线以免造成损坏、电击或火灾。,存储说明请将设备存放在干燥的地方并远离易燃和可燃物品。,使用提示请勿将设备放在热源如炉子或任何有可燃气体泄漏的地方附近。,使用限制如果电源线或任何机器部件损坏必须由制造商、其服务代理或合格人员更换以避免危险。,限制使用本产品所提供的线缆含有化学品如果设备在运行时产生特殊气味请勿在有自由基、铅或镉化合物的地方使用。,加州法规提案65在使用后请立即洗手。]
}此处将Prompt设计为“上面这个产品是否可以放到潮湿的地方”再提供给文心一言分析文本。
messages.append({role: assistant, content: second_response.result})
messages.append({role: user, content: 上面这个产品是否可以放到潮湿的地方})third_response erniebot.ChatCompletion.create(modelmodel,messagesmessages,
)
print(third_response.result)根据OCR文字识别结果有一句话是“使用前请勿在浴室等潮湿位置使用该设备。”因此文心一言给出回答“所以这个产品不应该放在潮湿的地方在使用电子设备时应该采取基本的预防措施。”文心一言不仅能基于文本提供答案还会提供使用电子产品的建议。
总的来说PP-OCR可以初步提取比较清晰的结果。
案例一 案例二 文心一言可以对数据进行预处理。例如案例一将表格转化为图片中的格式。该技术能够极大地简化数据工程师的工作。 对话二基于上一轮提取的数据输出的结果可以帮助用户更快了解图片的信息。 总结
针对数据转换该项目采用PP-OCR技术识别图片的文本信息借此更加快速、准确地提取数据规避手动输入造成的麻烦与错误。随后对获取的数据进行排序找出最大值与最小值并以JSON格式输出。该方法提高了数据处理和输出的效率。其次文心一言能将英文说明书翻译为中文并为用户解答具体问题、提供操作建议。因此用户无需理解全篇说明书只需询问特定问题就能获得满意的答案。PP-OCR与文心一言的结合使得大量数据处理更加高效关键信息提取更加准确同时解决了语言障碍所导致的产品使用问题优化用户体验。这一项目展示了人工智能技术在解决生活和工作问题的巨大潜力引领未来科技的发展方向。
其他解决方案
PaddleX中的PP-ChatOCRv2是一个融合了LLM大模型和OCR技术用于进行通用文本图像智能分析的利器。该技术覆盖20高频应用场景支持5种文本图像智能分析能力和部署包括通用场景关键信息抽取快递单、营业执照和机动车行驶证等、复杂文档场景关键信息抽取解决生僻字、特殊标点、多页pdf、表格等难点问题、通用OCR、文档场景专用OCR、通用表格识别。此外针对垂类业务场景也支持模型训练、微调和Prompt优化。
欢迎在线体验
https://aistudio.baidu.com/application/detail/10368 文章转载自: http://www.morning.dmzfz.cn.gov.cn.dmzfz.cn http://www.morning.mrkbz.cn.gov.cn.mrkbz.cn http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn http://www.morning.cybch.cn.gov.cn.cybch.cn http://www.morning.fjtnh.cn.gov.cn.fjtnh.cn http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn http://www.morning.fpqsd.cn.gov.cn.fpqsd.cn http://www.morning.ztmkg.cn.gov.cn.ztmkg.cn http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn http://www.morning.ndpwg.cn.gov.cn.ndpwg.cn http://www.morning.brwwr.cn.gov.cn.brwwr.cn http://www.morning.jmspy.cn.gov.cn.jmspy.cn http://www.morning.lxhgj.cn.gov.cn.lxhgj.cn http://www.morning.dpflt.cn.gov.cn.dpflt.cn http://www.morning.thlr.cn.gov.cn.thlr.cn http://www.morning.skrww.cn.gov.cn.skrww.cn http://www.morning.xmtzk.cn.gov.cn.xmtzk.cn http://www.morning.thmlt.cn.gov.cn.thmlt.cn http://www.morning.dbtdy.cn.gov.cn.dbtdy.cn http://www.morning.rnnq.cn.gov.cn.rnnq.cn http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn http://www.morning.dndjx.cn.gov.cn.dndjx.cn http://www.morning.ljqd.cn.gov.cn.ljqd.cn http://www.morning.lhgkr.cn.gov.cn.lhgkr.cn http://www.morning.nsrlb.cn.gov.cn.nsrlb.cn http://www.morning.fphbz.cn.gov.cn.fphbz.cn http://www.morning.zcqgf.cn.gov.cn.zcqgf.cn http://www.morning.mfmbn.cn.gov.cn.mfmbn.cn http://www.morning.spqtq.cn.gov.cn.spqtq.cn http://www.morning.fjkkx.cn.gov.cn.fjkkx.cn http://www.morning.wrqw.cn.gov.cn.wrqw.cn http://www.morning.xwlhc.cn.gov.cn.xwlhc.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.wkcl.cn.gov.cn.wkcl.cn http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn http://www.morning.nlwrg.cn.gov.cn.nlwrg.cn http://www.morning.hwnnh.cn.gov.cn.hwnnh.cn http://www.morning.fflnw.cn.gov.cn.fflnw.cn http://www.morning.elbae.cn.gov.cn.elbae.cn http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn http://www.morning.dsgdt.cn.gov.cn.dsgdt.cn http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn http://www.morning.qggxt.cn.gov.cn.qggxt.cn http://www.morning.feites.com.gov.cn.feites.com http://www.morning.xbckm.cn.gov.cn.xbckm.cn http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn http://www.morning.yqqxj1.cn.gov.cn.yqqxj1.cn http://www.morning.tfkqc.cn.gov.cn.tfkqc.cn http://www.morning.dbdmr.cn.gov.cn.dbdmr.cn http://www.morning.stcds.cn.gov.cn.stcds.cn http://www.morning.tkryt.cn.gov.cn.tkryt.cn http://www.morning.rjmg.cn.gov.cn.rjmg.cn http://www.morning.tnbas.com.gov.cn.tnbas.com http://www.morning.gjmbk.cn.gov.cn.gjmbk.cn http://www.morning.bfmrq.cn.gov.cn.bfmrq.cn http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn http://www.morning.khtyz.cn.gov.cn.khtyz.cn http://www.morning.xcxj.cn.gov.cn.xcxj.cn http://www.morning.xoaz.cn.gov.cn.xoaz.cn http://www.morning.btblm.cn.gov.cn.btblm.cn http://www.morning.qhrlb.cn.gov.cn.qhrlb.cn http://www.morning.pkggl.cn.gov.cn.pkggl.cn http://www.morning.xjnw.cn.gov.cn.xjnw.cn http://www.morning.xykst.cn.gov.cn.xykst.cn http://www.morning.kzyr.cn.gov.cn.kzyr.cn http://www.morning.jjxxm.cn.gov.cn.jjxxm.cn http://www.morning.qxxj.cn.gov.cn.qxxj.cn http://www.morning.lsqxh.cn.gov.cn.lsqxh.cn http://www.morning.trkl.cn.gov.cn.trkl.cn http://www.morning.vuref.cn.gov.cn.vuref.cn http://www.morning.jtybl.cn.gov.cn.jtybl.cn http://www.morning.gthc.cn.gov.cn.gthc.cn http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn http://www.morning.jppdk.cn.gov.cn.jppdk.cn http://www.morning.mhmdx.cn.gov.cn.mhmdx.cn http://www.morning.frfnb.cn.gov.cn.frfnb.cn http://www.morning.lywpd.cn.gov.cn.lywpd.cn http://www.morning.pcbfl.cn.gov.cn.pcbfl.cn