RAG (menschliches Feedback) ermöglicht es Ihnen, Eagle Doc aus korrigierten Extraktionen zu trainieren, damit künftige Extraktionen besser werden. Als Business wird jedes gelernte Beispiel über denselben Kunden-Header — x-sub-business-ref oder x-sub-business-id —, den Sie bereits bei Extraktionsanfragen senden, einem Ihrer Kunden zugeordnet.
🧠
Gleicher Header, Lernen pro Kunde
Fügen Sie einer Lernanfrage den Kunden-Header hinzu, und das korrigierte Beispiel wird diesem Kunden zugeordnet. Lassen Sie ihn weg, wird das Beispiel business-weit. Ansonsten ändert sich an der Human-Feedback-API nichts, wenn Sie einen Business-API-Schlüssel verwenden.
So funktioniert die Zuordnung pro Kunde
Die Zuordnung entscheidet, welche gelernten Beispiele die Extraktionen eines bestimmten Kunden beeinflussen. Die Regeln sind deterministisch:
🎯
Zuordnungsregeln
Die eigenen Beispiele eines Kunden werden für die Extraktionen dieses Kunden zuerst gewichtet.
Business-weite Beispiele — ohne Kunden-Header übermittelt — gelten für jeden Kunden.
Beispiele, die anderen Kunden gehören, sind ausgeschlossen — die Korrekturen eines Kunden fließen niemals in die Ergebnisse eines anderen ein.
Die Zuordnung beginnt zum Zeitpunkt der Übermittlung und ist nicht rückwirkend — frühere Beispiele behalten den Kunden, unter dem sie übermittelt wurden.
Ein korrigiertes Beispiel übermitteln
Senden Sie die korrigierte Extraktion als Multipart-Form-Data an den Lern-Endpunkt — das Ausgangsdokument (file), die original-Extraktions-JSON und Ihre corrected-JSON. Fügen Sie den Kunden-Header hinzu, um das Beispiel diesem Kunden zuzuordnen.
Parameters
Name
Description
api-key (header)
Your business API key, prefixed APIB-. Usage is billed to the business subscription.
x-sub-business-ref (header, optional)
Your own client number. Attributes this example to that client (zero-touch: the client is created on first use). Omit to make the example business-wide.
x-sub-business-id (header, optional)
Alternative to x-sub-business-ref: the Eagle Doc client id. Use one or the other, not both.
file (form-data)
The source document (PNG, JPEG or PDF). For multi-page documents, attach a PDF or all page images.
original (form-data)
The original extraction JSON, exactly as Eagle Doc returned it. Compared against corrected so the wrong fields are found automatically.
corrected (form-data)
The same JSON with only the wrong field values fixed. Keep everything else intact.
Responses
Code
Description
200
OK — the corrected example was learned and attributed to the resolved client.
{
"message": "The learning has been updated successfully."
}
403
BadCredentialException — the API key is missing or invalid. The error body follows the standard shape:
import requests
resp = requests.post(
"https://de.eagle-doc.com/api/docu/learning",
headers={
"api-key": "APIB-your-business-key",
"x-sub-business-ref": "A-1023", # attribute this example to a client
},
files={
"file": open("invoice.pdf", "rb"),
"original": open("original.json", "rb"),
"corrected": open("corrected.json", "rb"),
},
)
print(resp.json())
import fs from "node:fs";
const form = new FormData();
form.append("file", new Blob([fs.readFileSync("invoice.pdf")]), "invoice.pdf");
form.append("original", new Blob([fs.readFileSync("original.json")]), "original.json");
form.append("corrected", new Blob([fs.readFileSync("corrected.json")]), "corrected.json");
const resp = await fetch("https://de.eagle-doc.com/api/docu/learning", {
method: "POST",
headers: {
"api-key": "APIB-your-business-key",
"x-sub-business-ref": "A-1023", // attribute this example to a client
},
body: form,
});
console.log(await resp.json());
Die Regeln für Korrekturen auf Feldebene (Kontext, Notizen, Fixes-Arrays, Produktlisten) sind identisch mit dem Ablauf bei persönlichen Schlüsseln. Die vollständige Feldreferenz und ausgearbeitete Beispiele finden Sie in der vollständigen Human-Feedback-Referenz.
Lernen aus Anweisungen
Statt eines vollständig korrigierten Dokuments können Sie ein einzelnes Feld mit einer Regel in natürlicher Sprache über den Endpunkt für Lernanweisungen trainieren. Er akzeptiert denselben Kunden-Header, sodass die Anweisung nur für diesen Kunden gelernt wird.
Parameters
Name
Description
api-key (header)
Your business API key, prefixed APIB-.
x-sub-business-ref (header, optional)
Your own client number. Learns the instruction for that client only. Omit to make it business-wide.
instructions (query parameter)
The extraction rule, e.g. "from text 'paid by Feb 02, 2025', get InvoiceDueDate: '2025-02-02'". Concatenate multiple rules with semicolons (;).
corrected (form-data)
The corrected extraction JSON the instruction applies to.
overwrite (query parameter)
Boolean — whether to overwrite prior learnings for this document.
Responses
Code
Description
200
OK — the instruction was learned for the resolved client.
{
"message": "The learning has been updated successfully."
}
403
BadCredentialException — the API key is missing or invalid.
500
InternalServerErrorException — something went wrong. Reason is not known.
import requests
resp = requests.post(
"https://de.eagle-doc.com/api/docu/learning/instructions",
params={
"instructions": "from text 'paid by Feb 02, 2025', get InvoiceDueDate: '2025-02-02'",
"overwrite": "false",
},
headers={
"api-key": "APIB-your-business-key",
"x-sub-business-ref": "A-1023", # learn for this client only
},
files={"corrected": open("corrected.json", "rb")},
)
print(resp.json())
import fs from "node:fs";
const url = new URL("https://de.eagle-doc.com/api/docu/learning/instructions");
url.searchParams.set("instructions", "from text 'paid by Feb 02, 2025', get InvoiceDueDate: '2025-02-02'");
url.searchParams.set("overwrite", "false");
const form = new FormData();
form.append("corrected", new Blob([fs.readFileSync("corrected.json")]), "corrected.json");
const resp = await fetch(url, {
method: "POST",
headers: {
"api-key": "APIB-your-business-key",
"x-sub-business-ref": "A-1023", // learn for this client only
},
body: form,
});
console.log(await resp.json());
📈
Korrekturen summieren sich — pro Kunde
Halten Sie die Korrekturen jedes Kunden am Laufen, und die Extraktionen dieses Kunden werden immer besser — unabhängig von Ihren anderen Kunden. Das Feedback eines Kunden wirkt sich niemals auf die Ergebnisse eines anderen aus.