cURL
curl --request POST \
--url https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"app_id": "app_1406",
"prompt": "请从发票中抽取发票号码、开票日期和价税合计。"
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({app_id: 'app_1406', prompt: '请从发票中抽取发票号码、开票日期和价税合计。'})
};
fetch('https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
response = requests.post(
"https://adp.laiye.com/open/agentic_doc_processor/laiye/v1/app-manage/ai-recommend",
headers={"X-API-KEY": "YOUR_API_KEY"},
json={
"app_id": "app_1406",
"prompt": "请生成发票号码、开票日期和价税合计字段",
},
timeout=120,
)
response.raise_for_status()
result = response.json()
if result.get("code") not in ("success", 200, "200"):
raise RuntimeError(result.get("message") or result.get("code"))
HttpResponse<String> response = Unirest.post("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"app_id\": \"app_1406\",\n \"prompt\": \"请从发票中抽取发票号码、开票日期和价税合计。\"\n}")
.asString();const url = 'https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend';
const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({app_id: 'app_1406', prompt: '请从发票中抽取发票号码、开票日期和价税合计。'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend"
payload := strings.NewReader("{\n \"app_id\": \"app_1406\",\n \"prompt\": \"请从发票中抽取发票号码、开票日期和价税合计。\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}using RestSharp;
var options = new RestClientOptions("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-KEY", "<api-key>");
request.AddJsonBody("{\n \"app_id\": \"app_1406\",\n \"prompt\": \"请从发票中抽取发票号码、开票日期和价税合计。\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'app_id' => 'app_1406',
'prompt' => '请从发票中抽取发票号码、开票日期和价税合计。'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"code": "success",
"message": "",
"tips": null,
"data": {
"app_id": "app_1406",
"app_name": "",
"extract_fields": [
{
"field_name": "发票号码",
"field_type": "string",
"field_prompt": "抽取税务发票的唯一标识编号。"
},
{
"field_name": "开票日期",
"field_type": "date",
"field_prompt": "抽取发票开具日期。"
}
]
}
}应用管理
智能体生成抽取字段提示词
基于示例文档或提示词,AI 自动生成字段名称、字段类型和字段提示词等配置参考。标准版应用至少提供 prompt、file_url 或 file_base64 之一;高速版应用必须提供 file_url 或 file_base64,prompt 仅作为辅助生成提示。传入高速版自定义抽取应用的 app_id 时,会返回 common_rule、field_rule、table_rule 等配置预览;该接口不会保存配置版本,也不会自动回填到 Web 页面应用中。注意:HTTP 200 也可能表示业务失败,调用方必须同时检查响应中的业务 code。
POST
/
open
/
agentic_doc_processor
/
{tenant_name}
/
v1
/
app-manage
/
ai-recommend
cURL
curl --request POST \
--url https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"app_id": "app_1406",
"prompt": "请从发票中抽取发票号码、开票日期和价税合计。"
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({app_id: 'app_1406', prompt: '请从发票中抽取发票号码、开票日期和价税合计。'})
};
fetch('https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
response = requests.post(
"https://adp.laiye.com/open/agentic_doc_processor/laiye/v1/app-manage/ai-recommend",
headers={"X-API-KEY": "YOUR_API_KEY"},
json={
"app_id": "app_1406",
"prompt": "请生成发票号码、开票日期和价税合计字段",
},
timeout=120,
)
response.raise_for_status()
result = response.json()
if result.get("code") not in ("success", 200, "200"):
raise RuntimeError(result.get("message") or result.get("code"))
HttpResponse<String> response = Unirest.post("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"app_id\": \"app_1406\",\n \"prompt\": \"请从发票中抽取发票号码、开票日期和价税合计。\"\n}")
.asString();const url = 'https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend';
const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({app_id: 'app_1406', prompt: '请从发票中抽取发票号码、开票日期和价税合计。'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend"
payload := strings.NewReader("{\n \"app_id\": \"app_1406\",\n \"prompt\": \"请从发票中抽取发票号码、开票日期和价税合计。\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}using RestSharp;
var options = new RestClientOptions("https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-KEY", "<api-key>");
request.AddJsonBody("{\n \"app_id\": \"app_1406\",\n \"prompt\": \"请从发票中抽取发票号码、开票日期和价税合计。\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adp.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/app-manage/ai-recommend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'app_id' => 'app_1406',
'prompt' => '请从发票中抽取发票号码、开票日期和价税合计。'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"code": "success",
"message": "",
"tips": null,
"data": {
"app_id": "app_1406",
"app_name": "",
"extract_fields": [
{
"field_name": "发票号码",
"field_type": "string",
"field_prompt": "抽取税务发票的唯一标识编号。"
},
{
"field_name": "开票日期",
"field_type": "date",
"field_prompt": "抽取发票开具日期。"
}
]
}
}授权
生产环境 API Key,可在 ADP 平台的「我的 API」中查看。请确保 API Key 有效且属于生产环境。
路径参数
租户名称,默认 laiye。
请求体
application/json
- Option 1
- Option 2
- Option 3
智能体生成字段配置请求。标准版应用至少提供 prompt、file_url 或 file_base64 之一;高速版应用仍必须提供 file_url 或 file_base64,prompt 只作为辅助说明。应用类型由 app_id 对应的应用决定,因此 OpenAPI 无法仅根据请求字段进一步区分两种条件约束。
应用 ID。传入高速版自定义抽取应用时,返回高速版自动生成配置预览。
用户提供的生成提示。标准版可只传 prompt;高速版需要同时提供文件。
文件 Base64 编码。高速版应用与 file_url 二选一必填。
文件 URL。高速版应用与 file_base64 二选一必填。
文档类型。标准版自动生成建议时可传入;高速版会根据文档自动识别。
文档类型描述。标准版自动生成建议时可传入。