合同审查
接口描述
合同审查支持多种合同场景审查,精准定位关键审查点,提供专业的风险评估、判断依据及修改建议,加速合同审查流程。如希望快速可视化体验效果,可登录智能文档分析平台,一键上传文档,在线测试;在线工具和API服务的额度共享互通。
合同审查API服务为异步接口,需要先调用提交请求接口获取 taskID,然后调用获取结果接口进行结果轮询,建议提交请求后1~2分钟开始轮询。提交请求接口QPS为2,获取结果接口QPS为10。
提交请求接口
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求说明
请求示例
HTTP 方法:POST
请求URL: https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | multipart/form-data |
Body中放置请求参数,参数详情如下:
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
file | 和 file/fileURLList 二选一 | file | - | 文件数据,支持Word和PDF格式,文件大小不超过10M优先级: file > fileURLList,当file字段存在时,fileURLList字段失效 |
fileURLList | 和 file/fileURLList 二选一 | string | - | 文件完整URL,仅支持北京区域的BOS公网访问,URL长度不超过1024字节,支持PDF/doc/docx格式,仅支持上传1篇文件,文件大小不超过10M优先级: file > fileURLList,当file字段存在时,fileURLList字段失效请注意关闭URL防盗链 |
templateName | 是 | string | Sales_PartyA/ Sales_PartyB/ Lease_PartyA/ Lease_PartyB/TechDev_PartyA/TechDev_PartyB/Labor_PartyA/ Labor_PartyB/ Entrustment_PartyA/ Entrustment_PartyB/Work-for-hire_PartyA/ Work-for-hire_PartyB/ LaborDispatch_PartyA/LaborDispatch_PartyB/RealtySvcs_PartyA/RealtySvcs_PartyB/EquipPur_PartyA/ EquipPur_PartyB/ FinLease_PartyA/ FinLease_PartyB/ DebtAssign_PartyA/ DebtAssign_PartyB/ CISG_PartyA/ CISG_PartyB / GUAR_PartyA / GUAR_PartyB / CG_PartyA / CG_PartyB / Factoring_PartyA / Factoring_PartyB / | 选择需要审查的合同类型。 - Sales_PartyA:买卖合同-买方; - Sales_PartyB:买卖合同-卖方;- Lease_PartyA:租赁合同-出租方;- Lease_PartyB:租赁合同-承租方;- TechDev_PartyA:技术开发合同-委托方;- TechDev_PartyB:技术开发合同-受托方;- Labor_PartyA:劳动合同-用人单位;- Labor_PartyB:劳动合同-劳动者;- Entrustment_PartyA:委托合同-委托方;- Entrustment_PartyB:委托合同-受托方;- Work-for-hire_PartyA:承揽合同-定作人;- Work-for-hire_PartyB:承揽合同-承揽人;- LaborDispatch_PartyA:劳务派遣合同-用工单位;- LaborDispatch_PartyB:劳务派遣合同-劳务派遣单位;- RealtySvcs_PartyA:物业服务合同-业主;- RealtySvcs_PartyB:物业服务合同-物业服务人;- EquipPur_PartyA:设备采购合同-买方;- EquipPur_PartyB:设备采购合同-卖方;- FinLease_PartyA:融资租赁合同-出租方;- FinLease_PartyB:融资租赁合同-承租方;- DebtAssign_PartyA:债权转让合同-转让方;- DebtAssign_PartyB:债权转让合同-受让方;- CISG_PartyA:国际货物贸易合同-买方;- CISG_PartyB:国际货物贸易合同-卖方 ;- GUAR_PartyA:保证合同-保证方 ;- GUAR_PartyA:保证合同-债权方 ;- CG_PartyA:货运合同-承运方 ;- CG_PartyB:货运合同-托运方 ;- Factoring_PartyA:保理合同-保理商 ;- Factoring_PartyB:保理合同-卖方 |
commentRiskLevel | 否 | string | normal/major/all | 筛选下载的批注结果中展示的风险等级条款。默认为"major",即仅展示重大风险条款。 - normal:一般风险; - major:重大风险;- all:一般风险和重大风险 |
请求代码示例
提示一:使用示例代码前,请记得替换其中的示例Token、文档地址或Base64信息。
提示二:目前仅提供Python语言,如需其他语言示例可参考 示例代码中心 。
import requests
import os
'''
合同审查-提交请求
'''
request_host = "https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task"
# 二进制方式打开文档文件
f = '[本地文件]'
file = {"file": (os.path.basename(f), open(f, 'rb'), "multipart/form-data")}
# 将 templateName 放在表单数据中
data = {"templateName": "Sales_PartyA"}
access_token = '[调用鉴权接口获取的token]'
request_url = f"{request_host}?access_token={access_token}"
response = requests.post(request_url, data=data, files=file)
if response:
print(response.json())
返回说明
返回参数
字段 | 类型 | 说明 |
---|---|---|
log_id | uint64 | 唯一的log id,用于问题定位 |
error_code | int | 错误码 |
error_msg | string | 错误描述信息 |
result | dict | 返回的结果列表 |
+ taskId | string | 该请求生成的taskId,后续使用该taskId获取审查结果 |
返回示例
成功返回示例:
{
"error_code": 0,
"error_msg": "",
"log_id": "259575694341050368",
"result": {
"taskId": "textreview-task-xnejhkwvcz5qpr3c"
}
}
失败返回示例(详细的错误码说明见API文档-错误码):
{
"error_code": 282003,
"error_msg": "missing parameters",
"log_id": "259909120864665600"
}
获取结果接口
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求说明
请求示例
HTTP 方法:POST
请求URL: https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task/query
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | multipart/form-data |
Body中放置请求参数,参数详情如下:
请求参数
参数 | 是否必选 | 类型 | 说明 |
---|---|---|---|
taskId | 是 | string | 发送提交请求时返回的taskId |
请求代码示例
提示一:使用示例代码前,请记得替换其中的示例Token、taskId。
提示二:目前仅提供Python语言,如需其他语言示例可参考 示例代码中心 。
import requests
'''
合同审查-获取结果
'''
request_host = "https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task/query"
params = {"taskId": "[调用提交请求接口获取的taskId]"}
access_token = '[调用鉴权接口获取的token]'
request_url = f"{request_host}?access_token={access_token}"
response = requests.post(request_url, params=params, files=params)
if response:
print(response.json())
返回说明
返回参数
字段 | 类型 | 说明 |
---|---|---|
log_id | uint64 | 唯一的log id,用于问题定位 |
error_code | int | 错误码 |
error_msg | string | 错误描述信息 |
result | dict | 返回的结果列表 |
+ taskId | string | 任务ID |
+ status | string | 任务状态,pending:排队中;processing:运行中;success:成功;failed:失败 |
+ reason | string | 任务失败描述信息 |
+ createdAt | string | 任务创建时间 |
+ startedAt | string | 任务开始时间 |
+ finishedAt | string | 任务结束时间 |
+ duration | string | 任务执行时长 |
+ textreviewResult | dict | 合同审查结果列表 |
++ docId | string | 文档ID |
++ docName | string | 文档名称 |
++ status | string | 文件状态,success:成功;failed:失败 |
++ reason | string | 文件失败描述信息 |
++ fileURL | string | 解析后的含位置信息的PDF文件地址,地址有效期30天 |
++ reportURL | string | 包含重大风险条款批注的Word文档地址,地址有效期30天。若上传的源文件为PDF格式,则无法支持批注下载 |
++ reportStatus | string | 包含批注的Word文档状态,success:成功;failed:失败 |
++ chatContents | dict | 条款审查结果列表 |
+++ ruleId | string | 条款ID |
+++ ruleName | string | 条款名称 |
+++ riskName | string | 条款的风险等级 |
+++ predictResult | string | 条款的原始审查结果 |
+++ markdownResult | string | 条款的markdown格式审查结果 |
+++ tags | dict | 条款的原文和位置信息列表 |
++++ value | string | 条款的原文 |
++++ positions | dict | 条款的位置信息列表 |
+++++ pageNum | int | 条款的原文位置页码 |
+++++ box | [4]int | 条款的原文四角点坐标,每个框选范围包含左上角x坐标、左上角y坐标、矩形框宽度、矩形框高度,共四个数值,如[89,74,61,12] |
返回示例
成功返回示例:
{
"error_code": 0,
"error_msg": "",
"log_id": "303130814235373568",
"result": {
"taskId": "textreview-task-mssgzkk5r0h9g9di",
"status": "success",
"createdAt": "2024-04-16 10:13:02 +0000 UTC",
"startedAt": "2024-04-16 10:13:02 +0000 UTC",
"finishedAt": "2024-04-16 10:18:32 +0000 UTC",
"duration": "5分30秒",
"reason": "",
"textreviewResult": [
{
"docId": "doc-nyg7xt8jw8khpbw4",
"docName": "20-软硬件服务协议-0.docx",
"status": "success",
"reason": "",
"chatContents": [
{
"ruleId": "rule-ek8y3aybez6rbdrr",
"ruleName": "主体信息条款",
"tags": [
{
"value": "\n百度智能云软硬件服务协议\n甲方:\n地址:\n协议负责人:\n电话:\n邮箱:\n乙方:\n地址:\n协议负责人:\n电话:\n邮箱:\n甲乙双方在自愿平等、互利合作与共同发展的原则上,经友好协商,就乙方向甲方提供硬件及软件产品/服务的合作事宜(以下简称“本项目”),双方达成如下合同,以供遵守。",
"positions": [
{
"pageNum": 1,
"box": [
47,
104,
490,
386
]
}
]
},
{
"value": "\n单位名称:甲方有限公司\n纳税人识别号:\n地址、电话:成都市028-0000000 \n开户行及账号:支行02000000000000 ",
"positions": [
{
"pageNum": 4,
"box": [
98,
253,
183,
82
]
}
]
},
{
"value": "\n|组织单元|职责内容|\n|项目领导委员会|1. 监督、指导项目的方向2. 确保项目资源3. 参加项目进展报告会4. 审核批准项目最终成果|\n|项目管理组|1. 制定项目计划并监督执行2. 项目总体的协调、沟通、监控、管理3. 汇报工作内容与进度|\n|乙方项目经理|1. 制定项目实施计划2. 系统开发侧的协调、沟通、监督、管理3. 汇报工作内容与进度|\n|甲方项目经理|1. 制定项目保障计划2. 系统调IT支撑、第三方系统对接支撑|\n|IT系统支持组|4. 对甲方业务系统数据交换,业务系统迭代变更进行协调和支持5. 保障数据可采集,业务系统调研协调6. 云资源开通与运维|\n|需求分析组|7. 业务需求调研,确定需求范围和蓝图8. 数据产品设计,需求对接|\n|系统架构组|1. 总体系统架构设计2. 云产品使用支持3. ASR/TTS/NER/虚拟调度核心引擎产品安装部署4. 系统保障性运维支持|\n|应用开发组|1. 应用系统架构设计2. 前后端应用开发3. 系统数据接口开发4. 系统联调测试|\n|运维组|1. 提供项目交付验收后的运维保障2. 保障系统及接口稳定可用|\n",
"positions": [
{
"pageNum": 21,
"box": [
53,
230,
488,
491
]
}
]
}
],
"predictResult": "```json\n{\n \"风险等级\": \"重大风险\",\n \"风险分析\": \"合同原文中甲方和乙方的地址、协议负责人、电话、邮箱等信息均未填写,属于重大风险,因为这些信息是合同履行过程中联系和沟通的关键信息,缺失这些信息可能导致合同无法有效执行。\",\n \"修改建议\": \"建议合同双方补充完整地址、协议负责人、电话、邮箱等必要信息,确保合同的有效性和可执行性。\"\n}\n```",
"markdownResult": "风险等级:\n 重大风险\n\n风险分析:\n 合同原文中甲方和乙方的地址、协议负责人、电话、邮箱等信息均未填写,属于重大风险,因为这些信息是合同履行过程中联系和沟通的关键信息,缺失这些信息可能导致合同无法有效执行。\n\n修改建议:\n 建议合同双方补充完整地址、协议负责人、电话、邮箱等必要信息,确保合同的有效性和可执行性。\n\n",
"isShow": true,
"riskName": "重大风险"
}
],
"fileURL": "https://ai-textmind.bj.bcebos.com//data/mnt/text_flow/parser/doc-nyg7xt8jw8khpbw4/pdf/doc-nyg7xt8jw8khpbw4.pdf?authorization=bce-auth-v1%2FALTAKsXn1egl7w69bHDIfE3SOD%2F2024-04-16T10%3A14%3A04Z%2F2592000%2Fhost%2F4a1d359dcb659465a8ac293288f2d9380bc9e576b504ab180d53036526cd7d93",
"reportURL": "https://ai-textmind.bj.bcebos.com//data/mnt/text_flow/paas_textreview/textreview-task-mssgzkk5r0h9g9di/document_comment_op/doc-nyg7xt8jw8khpbw4/20-%E8%BD%AF%E7%A1%AC%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%AE%AE-0.docx?authorization=bce-auth-v1%2FALTAKsXn1egl7w69bHDIfE3SOD%2F2024-04-16T10%3A18%3A31Z%2F2592000%2Fhost%2F0a844e8ae2db203cf48f9defbbe7a566c72e5789fb2209829817248ab251e8a7",
"reportStatus": "success"
}
]
}
}
失败返回示例(详细的错误码说明见API文档-错误码):
{
"error_code": 0,
"error_msg": "",
"log_id": "259948703258030080",
"result": {
"taskId": "textreview-task-9d4zb1bqicjd93ce",
"status": "failed",
"createdAt": "2023-12-18 12:42:47 +0000 UTC",
"startedAt": "2023-12-18 12:42:47 +0000 UTC",
"finishedAt": "2023-12-18 12:47:01 +0000 UTC",
"duration": "0秒",
"reason": "任务处理失败",
"textreviewResult": [
{
"docId": "doc-hfpmjvsyev1bjpac",
"docName": "软硬件采购合同主版.docx",
"status": "failed",
"reason": "文档处理失败",
"chatContents": null,
"fileURL": "http://textmind.bj.bcebos.com//data/mnt/text_flow/parser/doc-hfpmjvsyev1bjpac/pdf/doc-hfpmjvsyev1bjpac.pdf?authorization=bce-auth-v1%2Fd9272b4e9a38476db4470c2714e1339a%2F2023-12-18T12%3A43%3A19Z%2F2592000%2Fhost%2F6199ef94229dacc1b70a933958d551e32a4036f9a4f5acc9d91d258628a3cbbb",
"reportURL": "",
"reportStatus": "failed"
}
]
}
}
前端SDK渲染
辅助用户在网页中便捷地调用合同审查服务,实现与当前智能文档分析平台-合同审查在线工具一致的前端渲染和交互界面。
使用说明
示例URL: https://textmind-sdk.bce.baidu.com/textmind/sdk/textreview/{taskId}?access_token={access_token}
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
taskId | 发送提交请求时返回的taskId |
iframe引入方式
提示一:使用示例代码前,请记得替换其中的示例Token、taskId。
<iframe
src="https://textmind-sdk.bce.baidu.com/textmind/sdk/textreview/{taskId}?access_token={access_token}"
/>