communications-mining
latest
false
Wichtig :
Dieser Inhalt wurde maschinell übersetzt.
Communications Mining-Entwicklerhandbuch
Last updated 24. Aug. 2024

Streams (Legacy)

Streams

Hinweis:

Streams wurden früher als Trigger bezeichnet.

Erstellen Sie einen Stream

docs image
/api/v1/datasets/<project>/<dataset_name>/streams
/api/v1/datasets/<project>/<dataset_name>/streams

Erforderliche Berechtigungen: Streams-Administrator, Bezeichnungen anzeigen

  • Bash
    curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "stream": {
        "comment_filter": {
          "user_properties": {
            "number:Spend": {
              "maximum": 100000,
              "minimum": 100
            },
            "number:Transactions": {
              "one_of": [
                1
              ]
            },
            "string:Country": {
              "one_of": [
                "uk",
                "de"
              ]
            }
          }
        },
        "description": "Used by ACME RPA to create tickets for disputes.",
        "model": {
          "label_thresholds": [
            {
              "name": [
                "Some Label"
              ],
              "threshold": 0.37
            },
            {
              "name": [
                "Another Label"
              ],
              "threshold": 0.46
            },
            {
              "name": [
                "Parent Label",
                "Child Label"
              ],
              "threshold": 0.41
            }
          ],
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes"
      }
    }'curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "stream": {
        "comment_filter": {
          "user_properties": {
            "number:Spend": {
              "maximum": 100000,
              "minimum": 100
            },
            "number:Transactions": {
              "one_of": [
                1
              ]
            },
            "string:Country": {
              "one_of": [
                "uk",
                "de"
              ]
            }
          }
        },
        "description": "Used by ACME RPA to create tickets for disputes.",
        "model": {
          "label_thresholds": [
            {
              "name": [
                "Some Label"
              ],
              "threshold": 0.37
            },
            {
              "name": [
                "Another Label"
              ],
              "threshold": 0.46
            },
            {
              "name": [
                "Parent Label",
                "Child Label"
              ],
              "threshold": 0.41
            }
          ],
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes"
      }
    }'
    
  • Knoten
    const request = require("request");
    
    request.put(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          stream: {
            comment_filter: {
              user_properties: {
                "number:Spend": { maximum: 100000, minimum: 100 },
                "number:Transactions": { one_of: [1] },
                "string:Country": { one_of: ["uk", "de"] },
              },
            },
            description: "Used by ACME RPA to create tickets for disputes.",
            model: {
              label_thresholds: [
                { name: ["Some Label"], threshold: 0.37 },
                { name: ["Another Label"], threshold: 0.46 },
                { name: ["Parent Label", "Child Label"], threshold: 0.41 },
              ],
              version: 8,
            },
            name: "dispute",
            title: "Collateral Disputes",
          },
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.put(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          stream: {
            comment_filter: {
              user_properties: {
                "number:Spend": { maximum: 100000, minimum: 100 },
                "number:Transactions": { one_of: [1] },
                "string:Country": { one_of: ["uk", "de"] },
              },
            },
            description: "Used by ACME RPA to create tickets for disputes.",
            model: {
              label_thresholds: [
                { name: ["Some Label"], threshold: 0.37 },
                { name: ["Another Label"], threshold: 0.46 },
                { name: ["Parent Label", "Child Label"], threshold: 0.41 },
              ],
              version: 8,
            },
            name: "dispute",
            title: "Collateral Disputes",
          },
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.put(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "stream": {
                "name": "dispute",
                "title": "Collateral Disputes",
                "description": "Used by ACME RPA to create tickets for disputes.",
                "model": {
                    "version": 8,
                    "label_thresholds": [
                        {"name": ["Some Label"], "threshold": 0.37},
                        {"name": ["Another Label"], "threshold": 0.46},
                        {
                            "name": ["Parent Label", "Child Label"],
                            "threshold": 0.41,
                        },
                    ],
                },
                "comment_filter": {
                    "user_properties": {
                        "string:Country": {"one_of": ["uk", "de"]},
                        "number:Spend": {"minimum": 100, "maximum": 100000},
                        "number:Transactions": {"one_of": [1]},
                    }
                },
            }
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.put(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "stream": {
                "name": "dispute",
                "title": "Collateral Disputes",
                "description": "Used by ACME RPA to create tickets for disputes.",
                "model": {
                    "version": 8,
                    "label_thresholds": [
                        {"name": ["Some Label"], "threshold": 0.37},
                        {"name": ["Another Label"], "threshold": 0.46},
                        {
                            "name": ["Parent Label", "Child Label"],
                            "threshold": 0.41,
                        },
                    ],
                },
                "comment_filter": {
                    "user_properties": {
                        "string:Country": {"one_of": ["uk", "de"]},
                        "number:Spend": {"minimum": 100, "maximum": 100000},
                        "number:Transactions": {"one_of": [1]},
                    }
                },
            }
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }{
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }

Streams ermöglichen eine persistente, zustandsbehaftete Iteration durch Kommentare in einem Dataset, mit vorhergesagten Beschriftungen und allgemeinen Feldern, die mit einem fixierten Modell berechnet werden.

Sobald ein Stream erstellt wurde, können die Abruf- und Advance -Methoden verwendet werden, um Kommentare zu durchlaufen.

NameTypErforderlichBESCHREIBUNG
namestringjaAPI-Name für den Stream, der in URLs verwendet wird. Muss innerhalb eines Datasets eindeutig sein und mit [A-Za-z0-9-_]{1,256} übereinstimmen.
titlestringneinEinzeiliger, visuell lesbarer Titel für den Stream.
descriptionstringneinEine längere Beschreibung des Streams.
modelModellneinWenn angegeben, enthalten aus diesem Stream abgerufene Kommentare Vorhersagen aus einem angehefteten Modell.
comment_filterCommentFilterneinWenn angegeben, werden Kommentare, die nicht mit dem Filter übereinstimmen, nicht zurückgegeben. Hier finden Sie Details dazu, wie sich der Kommentarfilter auf die vom Stream zurückgegebenen Ergebnisse auswirkt.

Dabei hat Model das folgende Format:

NameTypErforderlichBESCHREIBUNG
versionIntegerjaEine Modellversion, die über die Seite Modelle angeheftet wurde.
label_thresholdsarray<LabelThreshold>neinWenn diese Option festgelegt ist, werden nur Werte zurückgegeben, die den angegebenen label_thresholds entsprechen. Wenn diese Option nicht festgelegt ist, werden alle Beschriftungen und alle Vorhersagewerte zurückgegeben.
Dabei hat LabelThreshold das folgende Format:
NameTypErforderlichBESCHREIBUNG
namearray<string>jaDer Name der zurückzugebenden Bezeichnung, formatiert als Liste hierarchischer Bezeichnungen. Beispielsweise hat die Beschriftung "Some Label" das Format ["Some Label"] und die Beschriftung "Parent Label > Child Label" das Format ["Parent Label", "Child Label"].
thresholdNummerjaDer Konfidenz-Schwellenwert, der für die Bezeichnung verwendet werden soll (eine Zahl zwischen 0,0 und 1,0). Die Bezeichnung wird für einen Kommentar nur zurückgegeben, wenn die Vorhersage über diesem Schwellenwert liegt.
Dabei hat CommentFilter das folgende Format:
NameTypErforderlichBESCHREIBUNG
user_propertiesUserPropertyFilterneinEin Filter, der auf die Benutzereigenschaften eines Kommentars angewendet wird. Weitere Informationen zu Benutzereigenschaften finden Sie in der Kommentarreferenz.
UserPropertyFilter ist eine Zuordnung von Benutzereigenschaftsnamen, die gefiltert werden sollen. String-Eigenschaften können nach Werten in einem Satz gefiltert werden ({"one_of": ["val_1", "val_2"]}). Zahleneigenschaften können entweder nach Werten in einem Satz ({"one_of": [123, 456]}) oder nach einem Bereich ({"minimum": 123, "maximum": 456}) gefiltert werden.

Aktualisieren Sie einen Stream

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/api/v1/datasets/<project>/<dataset_name>/streams
Erforderliche Berechtigungen: Streams ändern, Beschriftungen anzeigen.
  • Bash
    curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "stream": {
        "comment_filter": {
          "user_properties": {
            "number:Spend": {
              "maximum": 100000,
              "minimum": 100
            },
            "number:Transactions": {
              "one_of": [
                1
              ]
            },
            "string:Country": {
              "one_of": [
                "uk",
                "de"
              ]
            }
          }
        },
        "description": "Used by ACME RPA to create tickets for disputes.",
        "model": {
          "label_thresholds": [
            {
              "name": [
                "Some Label"
              ],
              "threshold": 0.37
            },
            {
              "name": [
                "Another Label"
              ],
              "threshold": 0.46
            },
            {
              "name": [
                "Parent Label",
                "Child Label"
              ],
              "threshold": 0.41
            }
          ],
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes"
      }
    }'curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "stream": {
        "comment_filter": {
          "user_properties": {
            "number:Spend": {
              "maximum": 100000,
              "minimum": 100
            },
            "number:Transactions": {
              "one_of": [
                1
              ]
            },
            "string:Country": {
              "one_of": [
                "uk",
                "de"
              ]
            }
          }
        },
        "description": "Used by ACME RPA to create tickets for disputes.",
        "model": {
          "label_thresholds": [
            {
              "name": [
                "Some Label"
              ],
              "threshold": 0.37
            },
            {
              "name": [
                "Another Label"
              ],
              "threshold": 0.46
            },
            {
              "name": [
                "Parent Label",
                "Child Label"
              ],
              "threshold": 0.41
            }
          ],
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes"
      }
    }'
    
  • Knoten
    const request = require("request");
    
    request.put(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          stream: {
            comment_filter: {
              user_properties: {
                "number:Spend": { maximum: 100000, minimum: 100 },
                "number:Transactions": { one_of: [1] },
                "string:Country": { one_of: ["uk", "de"] },
              },
            },
            description: "Used by ACME RPA to create tickets for disputes.",
            model: {
              label_thresholds: [
                { name: ["Some Label"], threshold: 0.37 },
                { name: ["Another Label"], threshold: 0.46 },
                { name: ["Parent Label", "Child Label"], threshold: 0.41 },
              ],
              version: 8,
            },
            name: "dispute",
            title: "Collateral Disputes",
          },
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.put(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          stream: {
            comment_filter: {
              user_properties: {
                "number:Spend": { maximum: 100000, minimum: 100 },
                "number:Transactions": { one_of: [1] },
                "string:Country": { one_of: ["uk", "de"] },
              },
            },
            description: "Used by ACME RPA to create tickets for disputes.",
            model: {
              label_thresholds: [
                { name: ["Some Label"], threshold: 0.37 },
                { name: ["Another Label"], threshold: 0.46 },
                { name: ["Parent Label", "Child Label"], threshold: 0.41 },
              ],
              version: 8,
            },
            name: "dispute",
            title: "Collateral Disputes",
          },
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.put(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "stream": {
                "name": "dispute",
                "title": "Collateral Disputes",
                "description": "Used by ACME RPA to create tickets for disputes.",
                "model": {
                    "version": 8,
                    "label_thresholds": [
                        {"name": ["Some Label"], "threshold": 0.37},
                        {"name": ["Another Label"], "threshold": 0.46},
                        {
                            "name": ["Parent Label", "Child Label"],
                            "threshold": 0.41,
                        },
                    ],
                },
                "comment_filter": {
                    "user_properties": {
                        "string:Country": {"one_of": ["uk", "de"]},
                        "number:Spend": {"minimum": 100, "maximum": 100000},
                        "number:Transactions": {"one_of": [1]},
                    }
                },
            }
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.put(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "stream": {
                "name": "dispute",
                "title": "Collateral Disputes",
                "description": "Used by ACME RPA to create tickets for disputes.",
                "model": {
                    "version": 8,
                    "label_thresholds": [
                        {"name": ["Some Label"], "threshold": 0.37},
                        {"name": ["Another Label"], "threshold": 0.46},
                        {
                            "name": ["Parent Label", "Child Label"],
                            "threshold": 0.41,
                        },
                    ],
                },
                "comment_filter": {
                    "user_properties": {
                        "string:Country": {"one_of": ["uk", "de"]},
                        "number:Spend": {"minimum": 100, "maximum": 100000},
                        "number:Transactions": {"one_of": [1]},
                    }
                },
            }
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }{
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }

Rufen Sie einen Stream nach Namen ab

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>
Erforderliche Berechtigungen: Bezeichnungen anzeigen, Streams anzeigen
  • Bash
    curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute' \
        -H "Authorization: Bearer $REINFER_TOKEN"curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute' \
        -H "Authorization: Bearer $REINFER_TOKEN"
    
  • Knoten
    const request = require("request");
    
    request.get(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.get(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.get(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.get(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }{
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }

Rufen Sie alle Streams ab

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/api/v1/datasets/<project>/<dataset_name>/streams
Erforderliche Berechtigungen: Beschriftungen anzeigen, Streams anzeigen.
  • Bash
    curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \
        -H "Authorization: Bearer $REINFER_TOKEN"curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \
        -H "Authorization: Bearer $REINFER_TOKEN"
    
  • Knoten
    const request = require("request");
    
    request.get(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.get(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.get(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.get(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }{
      "status": "ok",
      "stream": {
        "context": "0",
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }

Löschen Sie einen Stream

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>
Erforderliche Berechtigungen: Streams-Administrator, Bezeichnungen anzeigen.
  • Bash
    curl -X DELETE 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute' \
        -H "Authorization: Bearer $REINFER_TOKEN"curl -X DELETE 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute' \
        -H "Authorization: Bearer $REINFER_TOKEN"
    
  • Knoten
    const request = require("request");
    
    request.delete(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.delete(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.delete(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.delete(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "status": "ok"
    }{
      "status": "ok"
    }

Kommentare aus einem Stream abrufen

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/fetch/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/fetch
Erforderliche Berechtigungen: Streams verbrauchen, Beschriftungen anzeigen, Quellen anzeigen.
  • Bash
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/fetch' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "size": 8
    }'curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/fetch' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "size": 8
    }'
    
  • Knoten
    const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/fetch",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: { size: 8 },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/fetch",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: { size: 8 },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.post(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/fetch",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={"size": 8},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.post(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/fetch",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={"size": 8},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "filtered": 6,
      "is_end_sequence": false,
      "results": [
        {
          "comment": {
            "context": "1",
            "created_at": "2018-10-15T15:39:51.815000Z",
            "id": "0123456789abcdef",
            "last_modified": "2018-10-15T15:39:51.815000Z",
            "messages": [
              {
                "body": {
                  "text": "Hi Bob,\n\nCould you send me today's figures?"
                },
                "from": "alice@company.com",
                "sent_at": "2011-12-11T11:02:03.000000+00:00",
                "signature": {
                  "text": "Thanks,\nAlice"
                },
                "subject": {
                  "text": "Today's figures"
                },
                "to": ["bob@organisation.org"]
              }
            ],
            "source_id": "18ba5ce699f8da1f",
            "text_format": "plain",
            "thread_id": "3c314542414538353242393446393",
            "timestamp": "2011-12-11T01:02:03.000000+00:00",
            "uid": "18ba5ce699f8da1f.0123456789abcdef",
            "user_properties": {
              "number:Participants": 2,
              "number:Position in Thread": 1,
              "number:Recipients": 1,
              "string:Folder": "Sent (/ Sent)",
              "string:Has Signature": "Yes",
              "string:Message ID": "<abcdef@abc.company.com>",
              "string:Sender": "alice@company.com",
              "string:Sender Domain": "company.com",
              "string:Thread": "<abcdef@abc.company.com>"
            }
          },
          "entities": [],
          "labels": [],
          "sequence_id": "qs8QcHIBAACuYzDeit-pwQdWGYGQImdy"
        },
        {
          "comment": {
            "context": "1",
            "created_at": "2018-10-15T18:39:51.815000Z",
            "id": "abcdef0123456789",
            "last_modified": "2018-10-15T18:39:51.815000Z",
            "messages": [
              {
                "body": {
                  "text": "Alice,\n\nHere are the figures for today."
                },
                "from": "bob@organisation.org",
                "sent_at": "2011-12-11T11:02:03.000000+00:00",
                "signature": {
                  "text": "Regards,\nBob"
                },
                "subject": {
                  "text": "RE: Today's figures"
                },
                "to": ["alice@company.com"]
              }
            ],
            "source_id": "18ba5ce699f8da1f",
            "text_format": "plain",
            "thread_id": "3c314542414538353242393446393",
            "timestamp": "2011-12-11T02:02:03.000000+00:00",
            "uid": "18ba5ce699f8da1f.abcdef0123456789",
            "user_properties": {
              "number:Participants": 3,
              "number:Position in Thread": 2,
              "number:Recipients": 2,
              "string:Folder": "Inbox (/ Inbox)",
              "string:Has Signature": "No",
              "string:Message ID": "def@xyz.project.com",
              "string:Sender": "bob@organisation.org",
              "string:Sender Domain": "organisation.org",
              "string:Thread": "<abcdef@abc.company.com>"
            }
          },
          "entities": [],
          "labels": [
            {
              "name": ["Some Top-Level Label"],
              "probability": 0.8374786376953125
            },
            {
              "name": ["Another Top-Level Label", "Child Label"],
              "probability": 0.6164003014564514
            }
          ],
          "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR"
        }
      ],
      "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
      "status": "ok"
    }{
      "filtered": 6,
      "is_end_sequence": false,
      "results": [
        {
          "comment": {
            "context": "1",
            "created_at": "2018-10-15T15:39:51.815000Z",
            "id": "0123456789abcdef",
            "last_modified": "2018-10-15T15:39:51.815000Z",
            "messages": [
              {
                "body": {
                  "text": "Hi Bob,\n\nCould you send me today's figures?"
                },
                "from": "alice@company.com",
                "sent_at": "2011-12-11T11:02:03.000000+00:00",
                "signature": {
                  "text": "Thanks,\nAlice"
                },
                "subject": {
                  "text": "Today's figures"
                },
                "to": ["bob@organisation.org"]
              }
            ],
            "source_id": "18ba5ce699f8da1f",
            "text_format": "plain",
            "thread_id": "3c314542414538353242393446393",
            "timestamp": "2011-12-11T01:02:03.000000+00:00",
            "uid": "18ba5ce699f8da1f.0123456789abcdef",
            "user_properties": {
              "number:Participants": 2,
              "number:Position in Thread": 1,
              "number:Recipients": 1,
              "string:Folder": "Sent (/ Sent)",
              "string:Has Signature": "Yes",
              "string:Message ID": "<abcdef@abc.company.com>",
              "string:Sender": "alice@company.com",
              "string:Sender Domain": "company.com",
              "string:Thread": "<abcdef@abc.company.com>"
            }
          },
          "entities": [],
          "labels": [],
          "sequence_id": "qs8QcHIBAACuYzDeit-pwQdWGYGQImdy"
        },
        {
          "comment": {
            "context": "1",
            "created_at": "2018-10-15T18:39:51.815000Z",
            "id": "abcdef0123456789",
            "last_modified": "2018-10-15T18:39:51.815000Z",
            "messages": [
              {
                "body": {
                  "text": "Alice,\n\nHere are the figures for today."
                },
                "from": "bob@organisation.org",
                "sent_at": "2011-12-11T11:02:03.000000+00:00",
                "signature": {
                  "text": "Regards,\nBob"
                },
                "subject": {
                  "text": "RE: Today's figures"
                },
                "to": ["alice@company.com"]
              }
            ],
            "source_id": "18ba5ce699f8da1f",
            "text_format": "plain",
            "thread_id": "3c314542414538353242393446393",
            "timestamp": "2011-12-11T02:02:03.000000+00:00",
            "uid": "18ba5ce699f8da1f.abcdef0123456789",
            "user_properties": {
              "number:Participants": 3,
              "number:Position in Thread": 2,
              "number:Recipients": 2,
              "string:Folder": "Inbox (/ Inbox)",
              "string:Has Signature": "No",
              "string:Message ID": "def@xyz.project.com",
              "string:Sender": "bob@organisation.org",
              "string:Sender Domain": "organisation.org",
              "string:Thread": "<abcdef@abc.company.com>"
            }
          },
          "entities": [],
          "labels": [
            {
              "name": ["Some Top-Level Label"],
              "probability": 0.8374786376953125
            },
            {
              "name": ["Another Top-Level Label", "Child Label"],
              "probability": 0.6164003014564514
            }
          ],
          "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR"
        }
      ],
      "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
      "status": "ok"
    }

Sobald ein Stream erstellt wurde, kann er abgefragt werden, um Kommentare und deren vorhergesagte Beschriftungen und allgemeine Felder abzurufen. Im Folgenden finden Sie einige wichtige Aspekte, die beim Abrufen von Kommentaren aus einem Stream beachtet werden sollten.

Kommentarwarteschlange

Wenn ein Stream erstellt wird, wird seine Anfangsposition gleich seiner Erstellungszeit festgelegt. Bei Bedarf können Sie den Stream auf eine andere Position einstellen (entweder zeitlich vorwärts oder rückwärts), indem Sie den Endpunkt zurücksetzen verwenden. Der Stream gibt Kommentare ab seiner aktuellen Position zurück. Die Position des Kommentars in der Kommentarwarteschlange wird durch die Reihenfolge bestimmt, in der die Kommentare hochgeladen wurden.

Vorrücken Ihrer Position in der Warteschlange

Da der Stream ab seiner aktuellen Position immer Kommentare zurückgibt, sollte er nach jeder Abrufanforderung mithilfe des erweiterten Endpunkts zur nächsten Position vorrückt werden. Auf diese Weise garantiert die API, dass alle Kommentare mindestens einmal verarbeitet werden – wenn Ihre Anwendung bei der Verarbeitung eines Batches fehlschlägt, wird sie beim Neustart desselben Batches aufgenommen. (Beachten Sie, dass eine Anwendung einen Kommentar erfolgreich verarbeiten kann, aber im Vorabschritt fehlschlagen kann. Daher ist es wichtig, dass ein Kommentar mehrmals angezeigt wird.)

Je nach Anwendungsdesign können Sie wählen, ob Sie den Stream einmal für den gesamten Batch vorrücken (mit dem in der Antwort enthaltenen sequence_id des Batches) oder ihn für jeden einzelnen Kommentar vorrücken (mit dem in der Antwort enthaltenen sequence_id des Kommentars). .

Kommentar-Filter

Wenn beim Erstellen des Streams ein comment_filter angegeben wurde, werden Kommentare, die dem Filter nicht entsprechen, nicht in die Ergebnisse aufgenommen, zählen aber weiterhin zum angeforderten size, sodass Sie möglicherweise Antworten sehen, bei denen alle size -Kommentare gefiltert werden out, was zu einem leeren results -Array führt. Im folgenden Beispiel fordern wir 8 Kommentare an, die alle herausgefiltert werden.
{
  "filtered": 8,
  "results": [],
  "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
  "status": "ok"
}{
  "filtered": 8,
  "results": [],
  "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
  "status": "ok"
}
Um dies zu verhindern, können Sie den optionalen Parameter max_filtered festlegen, der verhindert, dass gefilterte Kommentare auf den angeforderten size werden.
Anforderungsformat
NameTypErforderlichBESCHREIBUNG
sizeNummerjaDie Anzahl der Kommentare, die für diesen Stream abgerufen werden sollen. Gibt weniger zurück, wenn das Ende des Batches erreicht wird oder wenn Kommentare gemäß dem Kommentarfilter herausgefiltert werden. Der Maximalwert ist 1024.
max_filteredNummerneinPraktischer Parameter für Streams mit einem Kommentarfilter. Wenn angegeben, werden bis zu max_filtered gefilterte Kommentare nicht auf die angeforderten size. Dies ist nützlich, wenn Sie erwarten, dass eine große Anzahl von Kommentaren nicht mit dem Filter übereinstimmt. Hat keine Auswirkung auf Streams ohne Kommentarfilter. Der Maximalwert ist 1024.
Antwortformat
NameTypBESCHREIBUNG
statusstringok wenn die Anforderung erfolgreich ist, oder error im Falle eines Fehlers. Weitere Informationen zu Fehlerantworten finden Sie in der Übersicht .
filteredNummerAnzahl der Kommentare, die gemäß einem Kommentarfilter herausgefiltert wurden. Wenn der Stream ohne Filter erstellt wurde, ist diese Zahl immer 0.
sequence_idstringDie Batch-Sequence-ID. Wird verwendet, um die Verarbeitung dieses Batches zu bestätigen und mit dem Stream zum nächsten Batch fortzufahren.
is_end_sequence_bool_„true“, wenn zum Zeitpunkt der Anforderung keine zusätzlichen Ergebnisse im Stream vorhanden waren. Andernfalls „False“.
resultsarray<Result>Ein Array mit Ergebnisobjekten.
Dabei hat Result das folgende Format:
NameTypBESCHREIBUNG
commentKommentar (Comment)Kommentieren Sie Daten aus. Eine detaillierte Erklärung finden Sie unter Kommentarreferenz.
sequence_idstringDie Sequence-ID des Kommentars. Wird verwendet, um die Verarbeitung dieses Kommentars zu bestätigen und den Stream zum nächsten Kommentar fortzusetzen.
labelsarray<Label>Ein Array mit vorhergesagten Beschriftungen für diesen Kommentar, bei dem Label das hier beschriebene Format hat.
entitiesarray<Entity>Ein Array mit vorhergesagten Entitäten für diesen Kommentar, wobei Entity ein hier beschriebenes Format hat.
label_propertiesarray<LabelProperty>Ein Array mit vorhergesagten Beschriftungseigenschaften für diesen Kommentar, bei dem LabelProperty ein hier beschriebenes Format hat.

Bringen Sie einen Stream vor

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/advance/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/advance

Erforderliche Berechtigungen: Streams verbrauchen, Beschriftungen anzeigen.

  • Bash
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/advance' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR"
    }'curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/advance' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR"
    }'
  • Knoten
    const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/advance",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: { sequence_id: "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR" },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/advance",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: { sequence_id: "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR" },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.post(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/advance",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={"sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR"},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.post(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/advance",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={"sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR"},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
      "status": "ok"
    }{
      "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
      "status": "ok"
    }
Jede Abrufanforderung gibt ein sequence_id zurück, das die Position darstellt, an der sie abgerufen wurde. Wenn Sie den gleichen sequence_id an die Vorab-API übergeben, wird sichergestellt, dass der Stream beim nächsten Abruf an dieser Position gestartet wird. Sie können zum nächsten Batch vorgehen, indem Sie die sequence_id des aktuellen Batches verwenden. Alternativ können Sie mit dem sequence_id des aktuellen Kommentars zum nächsten Kommentar übergehen.

Da eine Anwendung einen Kommentar erfolgreich verarbeiten kann, aber im erweiterten Schritt fehlschlagen kann, ist es wichtig, dass ein Kommentar auf der Clientanwendungsseite mehrmals angezeigt wird.

NameTypErforderlichBESCHREIBUNG
sequence_idstringjaDie Sequence-ID, zu der der Stream weitergeleitet werden soll.

Einen Stream zurücksetzen

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/reset/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/reset

Erforderliche Berechtigungen: Streams verbrauchen, Beschriftungen anzeigen.

  • Bash
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/reset' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "to_comment_created_at": "2020-06-03T16:05:00"
    }'curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/reset' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "to_comment_created_at": "2020-06-03T16:05:00"
    }'
  • Knoten
    const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/reset",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: { to_comment_created_at: "2020-06-03T16:05:00" },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/reset",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: { to_comment_created_at: "2020-06-03T16:05:00" },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.post(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/reset",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={"to_comment_created_at": "2020-06-03T16:05:00"},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.post(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/reset",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={"to_comment_created_at": "2020-06-03T16:05:00"},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "sequence_id": "4LvtenIBAAA=",
      "status": "ok",
      "stream": {
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }{
      "sequence_id": "4LvtenIBAAA=",
      "status": "ok",
      "stream": {
        "created_at": "2019-08-03T12:30:00.123456Z",
        "dataset_id": "abcdef0123456789",
        "description": "Used by ACME RPA to create tickets for disputes.",
        "id": "0123456789abcdef",
        "model": {
          "version": 8
        },
        "name": "dispute",
        "title": "Collateral Disputes",
        "updated_at": "2019-08-03T12:30:00.123456Z"
      }
    }
Ein Stream kann zurückgesetzt werden, um seine Position im Zeitverlauf vorwärts oder rückwärts zu verschieben, um entweder zuvor zurückgegebene Kommentare zu wiederholen oder Kommentare zu überspringen. Der Zeitstempel, der zum Zurücksetzen eines Streams verwendet wird, bezieht sich auf die Zeit, zu der die Kommentare hochgeladen wurden (d. h. die Eigenschaft created_at des Kommentars und nicht die Eigenschaft timestamp ).
NameTypErforderlichBESCHREIBUNG
to_comment_created_atstringjaEin ISO-8601-Zeitstempel.
Die Antwort enthält das sequence_id , das der neuen Streamposition entspricht.

Kennzeichnen Sie eine Ausnahme

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/exceptions/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/exceptions
Erforderliche Berechtigungen: Streams konsumieren, Quellen anzeigen.
  • Bash
    curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "exceptions": [
        {
          "metadata": {
            "type": "No Prediction"
          },
          "uid": "18ba5ce699f8da1f.abcdef0123456789"
        },
        {
          "metadata": {
            "type": "Wrong Prediction"
          },
          "uid": "18ba5ce699f8da1f.0123456789abcdef"
        }
      ]
    }'curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "exceptions": [
        {
          "metadata": {
            "type": "No Prediction"
          },
          "uid": "18ba5ce699f8da1f.abcdef0123456789"
        },
        {
          "metadata": {
            "type": "Wrong Prediction"
          },
          "uid": "18ba5ce699f8da1f.0123456789abcdef"
        }
      ]
    }'
  • Knoten
    const request = require("request");
    
    request.put(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          exceptions: [
            {
              metadata: { type: "No Prediction" },
              uid: "18ba5ce699f8da1f.abcdef0123456789",
            },
            {
              metadata: { type: "Wrong Prediction" },
              uid: "18ba5ce699f8da1f.0123456789abcdef",
            },
          ],
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.put(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          exceptions: [
            {
              metadata: { type: "No Prediction" },
              uid: "18ba5ce699f8da1f.abcdef0123456789",
            },
            {
              metadata: { type: "Wrong Prediction" },
              uid: "18ba5ce699f8da1f.0123456789abcdef",
            },
          ],
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.put(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "exceptions": [
                {
                    "uid": "18ba5ce699f8da1f.abcdef0123456789",
                    "metadata": {"type": "No Prediction"},
                },
                {
                    "uid": "18ba5ce699f8da1f.0123456789abcdef",
                    "metadata": {"type": "Wrong Prediction"},
                },
            ]
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.put(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "exceptions": [
                {
                    "uid": "18ba5ce699f8da1f.abcdef0123456789",
                    "metadata": {"type": "No Prediction"},
                },
                {
                    "uid": "18ba5ce699f8da1f.0123456789abcdef",
                    "metadata": {"type": "Wrong Prediction"},
                },
            ]
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "status": "ok"
    }{
      "status": "ok"
    }

Mit diesem Endpunkt können Sie Kommentare als Ausnahmen in der Plattform mit Tags versehen, sodass ein Modelltrainer sie überprüfen und beschriften kann, um das Modell zu verbessern. Wir empfehlen, die Kommentare zu markieren, für die das Modell keine Vorhersagen zurückgegeben hat, und Kommentare, für die das Modell falsche Vorhersagen zurückgegeben hat. (Hilfe beim Entwerfen des Ablaufs der Ausnahmebehandlung finden Sie im Integrationshandbuch).

NameTypErforderlichBESCHREIBUNG
exceptionsarray<Exception>jaEine Liste der Ausnahmen.
Dabei hat Exception das folgende Format:
NameTypErforderlichBESCHREIBUNG
uidstringjaDer uid des Kommentars, der als Ausnahme gekennzeichnet werden soll.
metadataMetadatajaEin Objekt, das Ausnahmemetadaten enthält.
Dabei hat Metadata das folgende Format:
NameTypErforderlichBESCHREIBUNG
typestringjaDer Ausnahmetyp ist als Filtereigenschaft in der Communications Mining-UI verfügbar. Der Wert kann eine beliebige Zeichenfolge sein. Wählen Sie eine kurze, leicht verständliche Zeichenfolge wie „Keine Vorhersage“ und „False Vorhersage“.

Entfernen Sie das Tag einer Ausnahme

docs image
/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/exceptions?uid=<comment_uid0>[&uid=<comment_uid1>...]/api/v1/datasets/<project>/<dataset_name>/streams/<stream_name>/exceptions?uid=<comment_uid0>[&uid=<comment_uid1>...]
Erforderliche Berechtigungen: Streams konsumieren, Quellen anzeigen.
  • Bash
    curl -X DELETE 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions?uid=18ba5ce699f8da1f.abcdef0123456789&uid=18ba5ce699f8da1f.0123456789abcdef' \
        -H "Authorization: Bearer $REINFER_TOKEN"curl -X DELETE 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions?uid=18ba5ce699f8da1f.abcdef0123456789&uid=18ba5ce699f8da1f.0123456789abcdef' \
        -H "Authorization: Bearer $REINFER_TOKEN"
  • Knoten
    const request = require("request");
    
    request.delete(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions?uid=18ba5ce699f8da1f.abcdef0123456789&uid=18ba5ce699f8da1f.0123456789abcdef",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );const request = require("request");
    
    request.delete(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions?uid=18ba5ce699f8da1f.abcdef0123456789&uid=18ba5ce699f8da1f.0123456789abcdef",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
      },
      function (error, response, json) {
        // digest response
        console.log(JSON.stringify(json, null, 2));
      }
    );
  • Python
    import json
    import os
    
    import requests
    
    response = requests.delete(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions?uid=18ba5ce699f8da1f.abcdef0123456789&uid=18ba5ce699f8da1f.0123456789abcdef",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))import json
    import os
    
    import requests
    
    response = requests.delete(
        "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/exceptions?uid=18ba5ce699f8da1f.abcdef0123456789&uid=18ba5ce699f8da1f.0123456789abcdef",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Antwort
    {
      "status": "ok"
    }{
      "status": "ok"
    }

Ausnahmen können mit der Kommentar-UID nicht mehr markiert werden.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten