ifly-pdf&image-ocr技能,支持图片OCR(AI驱动的LLM OCR)和PDF文档识别。用于用户请求识别图片、从图片提取文字等场景。
ifly-pdf&image-ocr.AI为图像和PDF文档提供使用iFlytek高级识别API的OCR服务.是一项面向实际任务的技能,主要用于QQS快速启动.;Image OCR (LLM OCR).;
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
基于科大讯飞先进识别 API 的图像与 PDF 文档 AI OCR 服务。
# 对图像执行 OCR 并提取文本 python3 scripts/image_ocr.py /path/to/image.jpg # 将结果保存至文件 python3 scripts/image_ocr.py /path/to/image.jpg -o output.txt # 指定输出格式 python3 scripts/image_ocr.py /path/to/image.jpg --format json python3 scripts/image_ocr.py /path/to/image.jpg --format markdown
# 将 PDF 转换为 Word(默认) python3 scripts/pdf_ocr.py document.pdf # 将 PDF 转换为 Markdown python3 scripts/pdf_ocr.py document.pdf --format markdown # 将 PDF 转换为 JSON python3 scripts/pdf_ocr.py document.pdf --format json # 从公开 URL 处理 PDF python3 scripts/pdf_ocr.py --pdf-url "https://example.com/doc.pdf" --format word
请前往科大讯飞开放平台获取凭据:
图像 OCR 所需凭据:
PDF OCR 所需凭据:
# 图像 OCR 和 PDF OCR 均需设置 export IFLY_APP_ID="your_app_id" # 图像 OCR 必需 export IFLY_API_KEY="your_api_key" # PDF OCR 必需 export IFLY_API_SECRET="your_api_secret"
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
image_path |
string | 是 | 图像文件路径 |
--format |
string | 否 | 输出格式:json、markdown、json,markdown(默认值:json,markdown) |
--output |
string | 否 | 将结果保存至指定文件 |
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
pdf_path |
string | 是* | PDF 文件路径 |
--pdf-url |
string | 否* | PDF 文件的公开 URL |
--format |
string | 否 | 输出格式:word、markdown、json(默认值:word) |
--no-poll |
flag | 否 | 仅返回任务 ID,不轮询查询状态 |
--poll-interval |
int | 否 | 轮询间隔(单位:秒;最小值为 5, 默认值:5) |
--max-wait |
int | 否 | 最大等待时间(单位:秒;默认值:300) |
*必须提供 pdf_path 或 --pdf-url 中的任意一项
采用 HMAC-SHA256 签名认证机制:
EEE, dd MMM yyyy HH:mm:ss GMThost: {host}\ndate: {date}\nPOST {path} HTTP/1.1HMAC-SHA256(signature_origin, apiSecret)hmac username="{apiKey}", algorithm="hmac-sha256", headers="host date request-line", signature="{signature}"?authorization={auth}&host={host}&date={date}采用 MD5 + HMAC-SHA1 签名认证机制:
auth = MD5(appId + timestamp)signature = Base64(HMAC-SHA1(auth, apiSecret))appId:应用 IDtimestamp:时间戳(单位:秒)signature:生成的签名重要提示:时间戳必须与服务器时间偏差在 ±5 分钟以内。
{
"header": {
"code": 0,
"message": "success"
},
"payload": {
"result": {
"text": "Base64-encoded OCR text..."
}
}
}
{
"flag": true,
"code": 0,
"desc": "成功",
"data": {
"taskNo": "25082744936879",
"status": "CREATE",
"tip": "任务创建成功"
}
}
{
"flag": true,
"code": 0,
"desc": "成功",
"data": {
"taskNo": "25082759289333",
"exportFormat": "word",
"status": "FINISH",
"downUrl": "http://bjcdn.openstorage.cn/...",
"tip": "已完成",
"pageList": [...]
}
}
| 状态 | 说明 |
|---|---|
CREATE |
任务创建成功 |
WAITING |
排队等待中 |
DOING |
处理中 |
FINISH |
已完成 |
FAILED |
失败 |
ANY_FAILED |
部分完成(部分页面处理失败) |
STOP |
已暂停 |
(。・ω・。) 嗨
| 错误码 | 说明 | 提示 | 解决方案 |
|---|---|---|---|
| 10009 | input invalid data | (◎_◎;) 数据格式有误 | 检查输入数据是否符合接口要求 |
| 10010 | service license not enough | (╯°□°)╯︵ ┻━┻ 授权数量不足或已过期! | 提交工单联系客服 |
| 10019 | service read buffer timeout | (。-`ω´-) session 超时 | 检查是否数据发送完毕但未关闭连接 |
| 10043 | Syscall AudioCodingDecode error | (◎_◎;) 音频解码失败 | 检查 aue 参数;若为 speex,请确保音频为 speex 格式、已分段压缩且帧大小一致 |
| 10114 | session timeout | (。-`ω´-) 会话超时 | 检查是否发送数据耗时超过 60 秒 |
| 10139 | invalid param | (◎_◎;) 参数有误 | 检查参数是否正确 |
| 10160 | parse request json error | (◎_◎;) 请求数据非合法 JSON | 检查请求数据是否为合法 JSON 格式 |
| 10161 | parse base64 string error | (◎_◎;) Base64 解码失败 | 检查发送的数据是否已做 Base64 编码 |
| 10163 | param validate error | (◎_◎;) 参数校验失败 | 详见具体错误描述 |
| 10200 | read data timeout | (。-`ω´-) 读取数据超时 | 检查是否累计 10 秒未发送数据且未关闭连接 |
| 10222 | context deadline exceeded | (╯°□°)╯︵ ┻━┻ 出错啦! | 1. 检查上传数据是否超出接口限制;2. SSL 证书无效,请提交工单 |
| 10223 | RemoteLB: can't find valued addr | (◎_◎;) 无法找到服务节点 | 提交工单联系技术人员 |
| 10313 | invalid appid | (◎_◎;) appid 与 apikey 不匹配 | 检查 appid 是否合法 |
| 10317 | invalid version | (◎_◎;) 版本号无效 | 请前往控制台提交工单联系技术人员 |
| 10700 | not authority | (╯°□°)╯︵ ┻━┻ 权限不足! | 参照开发文档检查报错原因;如仍无法解决,请提供 sid 及错误信息并提交工单 |
| 11200 | auth no license | (╯°□°)╯︵ ┻━┻ 功能未授权! | 检查 appid 是否正确;确认是否已开通对应服务;检查调用量是否超限或授权是否已过期 |
| 11201 | auth no enough license | (╯°□°)╯︵ ┻━┻ 每日调用次数超限! | 提交应用审核申请提额,或联系商务购买企业级接口 |
| 11503 | server error: atmos return error | (。-`ω´-) 服务器返回错误数据 | 提交工单 |
| 11502 | server error: too many datas | (。-`ω´-) 服务器配置异常 | 提交工单 |
| 100001~100010 | WrapperInitErr | (◎_◎;) 引擎调用出错 | 请根据 message 中的 errno 查阅引擎错误码说明 |
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 10000 | 系统错误 | 检查鉴权信息、请求方法及参数 |
| 10001 | 签名认证失败 | 检查凭据是否正确 |
| 10002 | 业务处理错误 | 参考错误消息内容排查 |
| 10003 | 配额/余额不足 | 检查账户余额 |
json,markdown 可同时获得结构化数据与带格式文本-o 参数将 OCR 结果保存至本地文件相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134万人学习
共49课时 | 82.5万人学习
最新文章