Definieren des benutzerdefinierten Skill-Schemas
Der benutzerdefinierte Skill muss das erwartete Schema für Eingabe- und Ausgabedaten implementieren, das von Skills in einem Azure KI-Suche-Skillset erwartet wird.
Eingabeschema
Das Eingabeschema für einen benutzerdefinierten Skill definiert eine JSON-Struktur, die einen Datensatz für jedes zu verarbeitende Dokument enthält. Jedes Dokument verfügt über einen eindeutigen Bezeichner und eine Datennutzlast mit einer oder mehr Eingaben:
{
"values": [
{
"recordId": "<unique_identifier>",
"data":
{
"<input1_name>": "<input1_value>",
"<input2_name>": "<input2_value>",
...
}
},
{
"recordId": "<unique_identifier>",
"data":
{
"<input1_name>": "<input1_value>",
"<input2_name>": "<input2_value>",
...
}
},
...
]
}
Ausgabeschema
Das Schema für die vom benutzerdefinierten Skill zurückgegebenen Ergebnisse spiegelt das Eingabeschema wider. Es wird davon ausgegangen, dass die Ausgabe einen Datensatz für jeden Eingabedatensatz enthält, entweder mit den Ergebnissen, die vom Skill erzeugt werden, oder mit Details zu aufgetretenen Fehlern.
{
"values": [
{
"recordId": "<unique_identifier_from_input>",
"data":
{
"<output1_name>": "<output1_value>",
...
},
"errors": [...],
"warnings": [...]
},
{
"recordId": "< unique_identifier_from_input>",
"data":
{
"<output1_name>": "<output1_value>",
...
},
"errors": [...],
"warnings": [...]
},
...
]
}
Der Ausgabewert in diesem Schema ist eine Eigenschaftensammlung (PropertyBag), die jede JSON-Struktur enthalten kann. Dies zeigt, dass Indexfelder nicht unbedingt einfache Datenwerte sind, sondern komplexe Typen enthalten können.