File size: 2,378 Bytes
e59cbb0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# MinerUapi - PDF Processing Serverless API
基于 magic-pdf 0.9.2 版本的 PDF 处理 Serverless API。
## 功能特性
- PDF文本提取和OCR处理
- 自动识别文本PDF和OCR PDF
- 支持混合模式PDF处理
- S3存储集成
## API 使用说明
### 请求格式
json
{
"pdf_bytes": "base64编码的PDF文件内容",
"lang": "zh", // 可选,默认"zh"
"layout_model": true, // 可选,默认true
"formula_enable": true, // 可选,默认true
"table_enable": true, // 可选,默认true
"is_debug": false // 可选,默认false
}
### 响应格式
成功响应:
json
{
"status": "success",
"data": {
"_parse_type": "txt或ocr",
"_version_name": "0.9.2",
"_lang": "zh",
// 其他PDF解析结果
}
}
错误响应:
json
{
"status": "error",
"message": "错误信息"
}
## 环境变量要求
部署时需要配置以下环境变量:
- `S3_ACCESS_KEY`: S3访问密钥
- `S3_SECRET_KEY`: S3访问密钥密文
- `S3_ENDPOINT`: S3服务端点
- `S3_BUCKET`: S3存储桶名称
## Python调用示例
python
from huggingface_hub import InferenceClient
import base64
def process_pdf(pdf_path: str, hf_token: str):
# 创建客户端
client = InferenceClient(
model="kitjesen/MinerUapi", # 替换为您的模型ID
token=hf_token
)
# 读取并编码PDF
with open(pdf_path, 'rb') as f:
pdf_bytes = base64.b64encode(f.read()).decode()
# 发送请求
response = client.post(json={
"pdf_bytes": pdf_bytes,
"lang": "zh",
"layout_model": True,
"formula_enable": True,
"table_enable": True
})
return response
# 使用示例
try:
result = process_pdf("example.pdf", "your_hf_token")
if result["status"] == "success":
print("解析类型:", result["data"]["_parse_type"])
print("版本:", result["data"]["_version_name"])
else:
print("处理失败:", result["message"])
except Exception as e:
print(f"调用出错: {str(e)}")
## 注意事项
1. 文件限制:
- PDF大小建议不超过10MB
- 支持文本PDF和扫描PDF
2. 处理时间:
- 文本PDF: 通常几秒内完成
- OCR PDF: 可能需要较长时间
3. S3存储:
- 确保配置的S3权限正确
- 建议定期清理临时文件
4. 版本说明:
- 当前使用 magic-pdf 0.9.2 版本
- 建议定期检查版本更新 |