UiPath Documentation
ixp
latest
false
Importante :
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.
UiPath logo, featuring letters U and I in white

Guia do usuário do Communications Mining

Última atualização 1 de abr de 2026

Predictions

Obter previsões para um modelo fixado

docs image /api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict

Permissões necessárias: Exibir rótulos, Exibir origens

Importante:

Operação Faturável Será cobrado 1 AI Unit ou 0,2 Platform Units por comentário fornecido no corpo da solicitação.

  • Bash
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "documents": [
        {
          "messages": [
            {
              "body": {
                "text": "Hi Bob,\n\nCould you send me the figures for today?"
              },
              "from": "alice@company.com",
              "sent_at": "2020-01-09T16:34:45Z",
              "signature": {
                "text": "Thanks,\nAlice"
              },
              "subject": {
                "text": "Figures Request"
              },
              "to": [
                "bob@organisation.org"
              ]
            }
          ],
          "timestamp": "2013-09-12T20:01:20.000000+00:00",
          "user_properties": {
            "string:City": "London"
          }
        },
        {
          "messages": [
            {
              "body": {
                "text": "Alice,\n\nHere are the figures for today."
              },
              "from": "bob@organisation.org",
              "sent_at": "2020-01-09T16:44:45Z",
              "signature": {
                "text": "Regards,\nBob"
              },
              "subject": {
                "text": "Re: Figures Request"
              },
              "to": [
                "alice@company.com"
              ]
            }
          ],
          "timestamp": "2011-12-12T10:04:30.000000+00:00",
          "user_properties": {
            "string:City": "Bucharest"
          }
        }
      ],
      "threshold": 0.25
    }'
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "documents": [
        {
          "messages": [
            {
              "body": {
                "text": "Hi Bob,\n\nCould you send me the figures for today?"
              },
              "from": "alice@company.com",
              "sent_at": "2020-01-09T16:34:45Z",
              "signature": {
                "text": "Thanks,\nAlice"
              },
              "subject": {
                "text": "Figures Request"
              },
              "to": [
                "bob@organisation.org"
              ]
            }
          ],
          "timestamp": "2013-09-12T20:01:20.000000+00:00",
          "user_properties": {
            "string:City": "London"
          }
        },
        {
          "messages": [
            {
              "body": {
                "text": "Alice,\n\nHere are the figures for today."
              },
              "from": "bob@organisation.org",
              "sent_at": "2020-01-09T16:44:45Z",
              "signature": {
                "text": "Regards,\nBob"
              },
              "subject": {
                "text": "Re: Figures Request"
              },
              "to": [
                "alice@company.com"
              ]
            }
          ],
          "timestamp": "2011-12-12T10:04:30.000000+00:00",
          "user_properties": {
            "string:City": "Bucharest"
          }
        }
      ],
      "threshold": 0.25
    }'
    
  • const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          documents: [
            {
              messages: [
                {
                  body: {
                    text: "Hi Bob,\n\nCould you send me the figures for today?",
                  },
                  from: "alice@company.com",
                  sent_at: "2020-01-09T16:34:45Z",
                  signature: { text: "Thanks,\nAlice" },
                  subject: { text: "Figures Request" },
                  to: ["bob@organisation.org"],
                },
              ],
              timestamp: "2013-09-12T20:01:20.000000+00:00",
              user_properties: { "string:City": "London" },
            },
            {
              messages: [
                {
                  body: { text: "Alice,\n\nHere are the figures for today." },
                  from: "bob@organisation.org",
                  sent_at: "2020-01-09T16:44:45Z",
                  signature: { text: "Regards,\nBob" },
                  subject: { text: "Re: Figures Request" },
                  to: ["alice@company.com"],
                },
              ],
              timestamp: "2011-12-12T10:04:30.000000+00:00",
              user_properties: { "string:City": "Bucharest" },
            },
          ],
          threshold: 0.25,
        },
      },
      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/<project>/<dataset_name>/labellers/<version>/predict",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          documents: [
            {
              messages: [
                {
                  body: {
                    text: "Hi Bob,\n\nCould you send me the figures for today?",
                  },
                  from: "alice@company.com",
                  sent_at: "2020-01-09T16:34:45Z",
                  signature: { text: "Thanks,\nAlice" },
                  subject: { text: "Figures Request" },
                  to: ["bob@organisation.org"],
                },
              ],
              timestamp: "2013-09-12T20:01:20.000000+00:00",
              user_properties: { "string:City": "London" },
            },
            {
              messages: [
                {
                  body: { text: "Alice,\n\nHere are the figures for today." },
                  from: "bob@organisation.org",
                  sent_at: "2020-01-09T16:44:45Z",
                  signature: { text: "Regards,\nBob" },
                  subject: { text: "Re: Figures Request" },
                  to: ["alice@company.com"],
                },
              ],
              timestamp: "2011-12-12T10:04:30.000000+00:00",
              user_properties: { "string:City": "Bucharest" },
            },
          ],
          threshold: 0.25,
        },
      },
      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/<project>/<dataset_name>/labellers/<version>/predict",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "documents": [
                {
                    "messages": [
                        {
                            "from": "alice@company.com",
                            "to": ["bob@organisation.org"],
                            "sent_at": "2020-01-09T16:34:45Z",
                            "body": {
                                "text": "Hi Bob,\n\nCould you send me the figures for today?"
                            },
                            "subject": {"text": "Figures Request"},
                            "signature": {"text": "Thanks,\nAlice"},
                        }
                    ],
                    "timestamp": "2013-09-12T20:01:20.000000+00:00",
                    "user_properties": {"string:City": "London"},
                },
                {
                    "messages": [
                        {
                            "from": "bob@organisation.org",
                            "to": ["alice@company.com"],
                            "sent_at": "2020-01-09T16:44:45Z",
                            "body": {
                                "text": "Alice,\n\nHere are the figures for today."
                            },
                            "subject": {"text": "Re: Figures Request"},
                            "signature": {"text": "Regards,\nBob"},
                        }
                    ],
                    "timestamp": "2011-12-12T10:04:30.000000+00:00",
                    "user_properties": {"string:City": "Bucharest"},
                },
            ],
            "threshold": 0.25,
        },
    )
    
    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/<project>/<dataset_name>/labellers/<version>/predict",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "documents": [
                {
                    "messages": [
                        {
                            "from": "alice@company.com",
                            "to": ["bob@organisation.org"],
                            "sent_at": "2020-01-09T16:34:45Z",
                            "body": {
                                "text": "Hi Bob,\n\nCould you send me the figures for today?"
                            },
                            "subject": {"text": "Figures Request"},
                            "signature": {"text": "Thanks,\nAlice"},
                        }
                    ],
                    "timestamp": "2013-09-12T20:01:20.000000+00:00",
                    "user_properties": {"string:City": "London"},
                },
                {
                    "messages": [
                        {
                            "from": "bob@organisation.org",
                            "to": ["alice@company.com"],
                            "sent_at": "2020-01-09T16:44:45Z",
                            "body": {
                                "text": "Alice,\n\nHere are the figures for today."
                            },
                            "subject": {"text": "Re: Figures Request"},
                            "signature": {"text": "Regards,\nBob"},
                        }
                    ],
                    "timestamp": "2011-12-12T10:04:30.000000+00:00",
                    "user_properties": {"string:City": "Bucharest"},
                },
            ],
            "threshold": 0.25,
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Resposta
    {
      "entities": [
        [
          {
            "capture_ids": [],
            "formatted_value": "Bob",
            "id": "76aebf2646577a1d",
            "kind": "person",
            "name": "person",
            "probability": null,
            "span": {
              "char_end": 6,
              "char_start": 3,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 12,
              "utf16_byte_start": 6
            }
          },
          {
            "capture_ids": [],
            "formatted_value": "2020-01-09 00:00 UTC",
            "id": "20beddf4c5f5bb61",
            "kind": "date",
            "name": "date",
            "probability": null,
            "span": {
              "char_end": 48,
              "char_start": 43,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 96,
              "utf16_byte_start": 86
            }
          }
        ],
        []
      ],
      "model": {
        "time": "2020-02-06T20:42:58.047000Z",
        "version": 5
      },
      "predictions": [
        [
          {
            "name": ["Some Label"],
            "probability": 0.8896465003490448
          },
          {
            "name": ["Parent Label", "Child Label"],
            "probability": 0.26687008142471313,
            "sentiment": 0.8762539502232571
          }
        ],
        [
          {
            "name": ["Other Label"],
            "probability": 0.6406207121908665
          }
        ]
      ],
      "status": "ok"
    }
    {
      "entities": [
        [
          {
            "capture_ids": [],
            "formatted_value": "Bob",
            "id": "76aebf2646577a1d",
            "kind": "person",
            "name": "person",
            "probability": null,
            "span": {
              "char_end": 6,
              "char_start": 3,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 12,
              "utf16_byte_start": 6
            }
          },
          {
            "capture_ids": [],
            "formatted_value": "2020-01-09 00:00 UTC",
            "id": "20beddf4c5f5bb61",
            "kind": "date",
            "name": "date",
            "probability": null,
            "span": {
              "char_end": 48,
              "char_start": 43,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 96,
              "utf16_byte_start": 86
            }
          }
        ],
        []
      ],
      "model": {
        "time": "2020-02-06T20:42:58.047000Z",
        "version": 5
      },
      "predictions": [
        [
          {
            "name": ["Some Label"],
            "probability": 0.8896465003490448
          },
          {
            "name": ["Parent Label", "Child Label"],
            "probability": 0.26687008142471313,
            "sentiment": 0.8762539502232571
          }
        ],
        [
          {
            "name": ["Other Label"],
            "probability": 0.6406207121908665
          }
        ]
      ],
      "status": "ok"
    }
    

Você deve fornecer a versão do modelo que deseja consultar para previsões na solicitação. Você pode usar o número inteiro da versão ou os valores especiais live ou staging para consultar a versão atual do modelo Live ou Staging.

Formato de solicitação

NomeTipoRequiredDescrição
documentsarray<Comment>simUm lote de 4096 documentos no máximo, no formato descrito na Referência de comentário. Lotes maiores são mais rápidos (por documento) do que os menores.
thresholdNúmeronãoO limite de confiança pelo qual filtrar os resultados do rótulo. Um número entre 1.0 e 0.0. 0.0 incluirá todos os resultados. Defina como "auto" para usar limites automáticos. Se não for definido, o limite padrão de 0.25 será usado.
labelsarray<Label>nãoUma lista dos rótulos solicitados a serem retornados com a opção de limites específicos de rótulos.
documentsarray<Comment>simUm lote de 4096 documentos no máximo, no formato descrito na Referência de comentário. Lotes maiores são mais rápidos (por documento) do que os menores.
thresholdNúmeronãoO limite de confiança pelo qual filtrar os resultados do rótulo. Um número entre 1.0 e 0.0. 0.0 incluirá todos os resultados. Defina como "auto" para usar limites automáticos. Se não for definido, o limite padrão de 0.25 será usado.
labelsarray<Label>nãoUma lista dos rótulos solicitados a serem retornados com a opção de limites específicos de rótulos.

Onde Label tem o seguinte formato:

NomeTipoRequiredDescrição
namearray<string>simO nome do rótulo a ser retornado, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"].
thresholdNúmeronãoO limite de confiança a ser usado para o rótulo. Se não for especificado, o padrão será o limite especificado no nível superior.
namearray<string>simO nome do rótulo a ser retornado, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"].
thresholdNúmeronãoO limite de confiança a ser usado para o rótulo. Se não for especificado, o padrão será o limite especificado no nível superior.

Formato da Resposta

NomeTipoDescrição
statusStringok se a solicitação for bem-sucedida, ou error em caso de erro. Para saber mais sobre respostas de erros, consulte Visão geral.
predictionsarray<array<Label>>Uma lista de array<Label> na mesma ordem que os comentários na solicitação, onde cada Label tem o formato descrito aqui.
entitiesarray<array<Entity>>Uma lista de array<Entity> na mesma ordem que os comentários na solicitação, onde cada Entity tem o formato descrito aqui.
label_propertiesarray<LabelProperty>Uma matriz que contém as propriedades de rótulo previstas para este comentário, em que cada LabelProperty tem o formato descrito aqui.
modelModeloInformações sobre o modelo que foi usado para fazer as previsões, no formato descrito aqui.
statusStringok se a solicitação for bem-sucedida, ou error em caso de erro. Para saber mais sobre respostas de erros, consulte Visão geral.
predictionsarray<array<Label>>Uma lista de array<Label> na mesma ordem que os comentários na solicitação, onde cada Label tem o formato descrito aqui.
entitiesarray<array<Entity>>Uma lista de array<Entity> na mesma ordem que os comentários na solicitação, onde cada Entity tem o formato descrito aqui.
label_propertiesarray<LabelProperty>Uma matriz que contém as propriedades de rótulo previstas para este comentário, em que cada LabelProperty tem o formato descrito aqui.
modelModeloInformações sobre o modelo que foi usado para fazer as previsões, no formato descrito aqui.

Obter previsões para a versão mais recente do modelo

Para obter previsões da versão mais recente do modelo disponível para um conjunto de dados, consulte as instruções em Obter previsões para um modelo fixado, mas use latest em vez de uma versão de modelo fixada.

Obter previsões para um modelo fixado para emails brutos

docs image /api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails

Permissões necessárias: Exibir rótulos, Exibir origens

Importante:

Operação Faturável Será cobrada 1 AI Unit ou 0,2 Platform Units por email bruto fornecido no corpo da solicitação.

  • Bash
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "documents": [
        {
          "raw_email": {
            "body": {
              "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice"
            },
            "headers": {
              "parsed": {
                "Date": "Thu, 09 Jan 2020 16:34:45 +0000",
                "From": "alice@company.com",
                "Message-ID": "abcdef@company.com",
                "References": "<01234@company.com> <56789@company.com>",
                "Subject": "Figures Request",
                "To": "bob@organisation.org"
              }
            }
          },
          "user_properties": {
            "string:City": "London"
          }
        },
        {
          "raw_email": {
            "body": {
              "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>"
            },
            "headers": {
              "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com"
            }
          },
          "user_properties": {
            "string:City": "Bucharest"
          }
        }
      ],
      "include_comments": false,
      "threshold": 0.25,
      "transform_tag": "generic.0.CONVKER5"
    }'
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "documents": [
        {
          "raw_email": {
            "body": {
              "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice"
            },
            "headers": {
              "parsed": {
                "Date": "Thu, 09 Jan 2020 16:34:45 +0000",
                "From": "alice@company.com",
                "Message-ID": "abcdef@company.com",
                "References": "<01234@company.com> <56789@company.com>",
                "Subject": "Figures Request",
                "To": "bob@organisation.org"
              }
            }
          },
          "user_properties": {
            "string:City": "London"
          }
        },
        {
          "raw_email": {
            "body": {
              "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>"
            },
            "headers": {
              "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com"
            }
          },
          "user_properties": {
            "string:City": "Bucharest"
          }
        }
      ],
      "include_comments": false,
      "threshold": 0.25,
      "transform_tag": "generic.0.CONVKER5"
    }'
    
  • const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          documents: [
            {
              raw_email: {
                body: {
                  plain:
                    "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice",
                },
                headers: {
                  parsed: {
                    Date: "Thu, 09 Jan 2020 16:34:45 +0000",
                    From: "alice@company.com",
                    "Message-ID": "abcdef@company.com",
                    References: "<01234@company.com> <56789@company.com>",
                    Subject: "Figures Request",
                    To: "bob@organisation.org",
                  },
                },
              },
              user_properties: { "string:City": "London" },
            },
            {
              raw_email: {
                body: {
                  html: "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>",
                },
                headers: {
                  raw: "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com",
                },
              },
              user_properties: { "string:City": "Bucharest" },
            },
          ],
          include_comments: false,
          threshold: 0.25,
          transform_tag: "generic.0.CONVKER5",
        },
      },
      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/<project>/<dataset_name>/labellers/<version>/predict-raw-emails",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          documents: [
            {
              raw_email: {
                body: {
                  plain:
                    "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice",
                },
                headers: {
                  parsed: {
                    Date: "Thu, 09 Jan 2020 16:34:45 +0000",
                    From: "alice@company.com",
                    "Message-ID": "abcdef@company.com",
                    References: "<01234@company.com> <56789@company.com>",
                    Subject: "Figures Request",
                    To: "bob@organisation.org",
                  },
                },
              },
              user_properties: { "string:City": "London" },
            },
            {
              raw_email: {
                body: {
                  html: "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>",
                },
                headers: {
                  raw: "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com",
                },
              },
              user_properties: { "string:City": "Bucharest" },
            },
          ],
          include_comments: false,
          threshold: 0.25,
          transform_tag: "generic.0.CONVKER5",
        },
      },
      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/<project>/<dataset_name>/labellers/<version>/predict-raw-emails",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "transform_tag": "generic.0.CONVKER5",
            "documents": [
                {
                    "raw_email": {
                        "headers": {
                            "parsed": {
                                "Message-ID": "abcdef@company.com",
                                "Date": "Thu, 09 Jan 2020 16:34:45 +0000",
                                "Subject": "Figures Request",
                                "From": "alice@company.com",
                                "To": "bob@organisation.org",
                                "References": "<01234@company.com> <56789@company.com>",
                            }
                        },
                        "body": {
                            "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice"
                        },
                    },
                    "user_properties": {"string:City": "London"},
                },
                {
                    "raw_email": {
                        "headers": {
                            "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com"
                        },
                        "body": {
                            "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>"
                        },
                    },
                    "user_properties": {"string:City": "Bucharest"},
                },
            ],
            "threshold": 0.25,
            "include_comments": False,
        },
    )
    
    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/<project>/<dataset_name>/labellers/<version>/predict-raw-emails",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "transform_tag": "generic.0.CONVKER5",
            "documents": [
                {
                    "raw_email": {
                        "headers": {
                            "parsed": {
                                "Message-ID": "abcdef@company.com",
                                "Date": "Thu, 09 Jan 2020 16:34:45 +0000",
                                "Subject": "Figures Request",
                                "From": "alice@company.com",
                                "To": "bob@organisation.org",
                                "References": "<01234@company.com> <56789@company.com>",
                            }
                        },
                        "body": {
                            "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice"
                        },
                    },
                    "user_properties": {"string:City": "London"},
                },
                {
                    "raw_email": {
                        "headers": {
                            "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com"
                        },
                        "body": {
                            "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>"
                        },
                    },
                    "user_properties": {"string:City": "Bucharest"},
                },
            ],
            "threshold": 0.25,
            "include_comments": False,
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Resposta
    {
      "entities": [
        [
          {
            "capture_ids": [],
            "formatted_value": "Bob",
            "id": "76aebf2646577a1d",
            "kind": "person",
            "name": "person",
            "probability": null,
            "span": {
              "char_end": 6,
              "char_start": 3,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 12,
              "utf16_byte_start": 6
            }
          },
          {
            "capture_ids": [],
            "formatted_value": "2020-01-09 00:00 UTC",
            "id": "20beddf4c5f5bb61",
            "kind": "date",
            "name": "date",
            "probability": null,
            "span": {
              "char_end": 48,
              "char_start": 43,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 96,
              "utf16_byte_start": 86
            }
          }
        ],
        []
      ],
      "model": {
        "time": "2020-02-06T20:42:58.047000Z",
        "version": 5
      },
      "predictions": [
        [
          {
            "name": ["Some Label"],
            "probability": 0.8896465003490448
          },
          {
            "name": ["Parent Label", "Child Label"],
            "probability": 0.26687008142471313,
            "sentiment": 0.8762539502232571
          }
        ],
        [
          {
            "name": ["Other Label"],
            "probability": 0.6406207121908665
          }
        ]
      ],
      "status": "ok"
    }
    {
      "entities": [
        [
          {
            "capture_ids": [],
            "formatted_value": "Bob",
            "id": "76aebf2646577a1d",
            "kind": "person",
            "name": "person",
            "probability": null,
            "span": {
              "char_end": 6,
              "char_start": 3,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 12,
              "utf16_byte_start": 6
            }
          },
          {
            "capture_ids": [],
            "formatted_value": "2020-01-09 00:00 UTC",
            "id": "20beddf4c5f5bb61",
            "kind": "date",
            "name": "date",
            "probability": null,
            "span": {
              "char_end": 48,
              "char_start": 43,
              "content_part": "body",
              "message_index": 0,
              "utf16_byte_end": 96,
              "utf16_byte_start": 86
            }
          }
        ],
        []
      ],
      "model": {
        "time": "2020-02-06T20:42:58.047000Z",
        "version": 5
      },
      "predictions": [
        [
          {
            "name": ["Some Label"],
            "probability": 0.8896465003490448
          },
          {
            "name": ["Parent Label", "Child Label"],
            "probability": 0.26687008142471313,
            "sentiment": 0.8762539502232571
          }
        ],
        [
          {
            "name": ["Other Label"],
            "probability": 0.6406207121908665
          }
        ]
      ],
      "status": "ok"
    }
    

Você deve fornecer a versão do modelo que deseja consultar para previsões na solicitação. Você pode usar o número inteiro da versão ou os valores especiais live ou staging para consultar a versão atual do modelo Live ou Staging.

Formato de solicitação

NomeTipoRequiredDescrição
transform_tagStringsimUma tag que especifica como os dados brutos devem ser processados.
documentsarray<Document>simUm lote de no máximo 4096 documentos no formato descrito na tabela a seguir. Lotes maiores são mais rápidos (por documento) do que os menores.
thresholdNúmeronãoO limite de confiança pelo qual filtrar os resultados do rótulo. Um número entre 1.0 e 0.0. 0.0 incluirá todos os resultados. Defina como "auto" para usar limites automáticos. Se não for definido, o limite padrão de 0.25 será usado.
labelsarray<Label>nãoUma lista dos rótulos solicitados a serem retornados com a opção de limites específicos de rótulos.
include_commentsBooleanonãoSe definido como true, os comentários analisados dos e-mails serão retornados no corpo da resposta.
transform_tagStringsimUma tag que especifica como os dados brutos devem ser processados.
documentsarray<Document>simUm lote de no máximo 4096 documentos no formato descrito na tabela a seguir. Lotes maiores são mais rápidos (por documento) do que os menores.
thresholdNúmeronãoO limite de confiança pelo qual filtrar os resultados do rótulo. Um número entre 1.0 e 0.0. 0.0 incluirá todos os resultados. Defina como "auto" para usar limites automáticos. Se não for definido, o limite padrão de 0.25 será usado.
labelsarray<Label>nãoUma lista dos rótulos solicitados a serem retornados com a opção de limites específicos de rótulos.
include_commentsBooleanonãoSe definido como true, os comentários analisados dos e-mails serão retornados no corpo da resposta.

Onde Document tem o seguinte formato:

NomeTipoRequiredDescrição
raw_emailRawEmailsimDados de email no formato descrito Comentários.
user_properties`map<string, stringnúmero >`não

Onde Label tem o seguinte formato:

NomeTipoRequiredDescrição
namearray<string>simO nome do rótulo a ser retornado, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"].
thresholdNúmeronãoO limite de confiança a ser usado para o rótulo. Se não for especificado, o padrão será o limite especificado no nível superior.
namearray<string>simO nome do rótulo a ser retornado, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"].
thresholdNúmeronãoO limite de confiança a ser usado para o rótulo. Se não for especificado, o padrão será o limite especificado no nível superior.

Formato da Resposta

NomeTipoDescrição
statusStringok se a solicitação for bem-sucedida, ou error em caso de erro. Para saber mais sobre respostas de erros, consulte Visão geral.
commentsarray<Comment>Uma lista de comentários analisados dos emails brutos carregados, no formato descrito na Referência do comentário. Retornado apenas se você definir include_comments na solicitação.
predictionsarray<array<Label>>Uma lista de array<Label> na mesma ordem que os comentários na solicitação, onde cada Label tem o formato descrito aqui.
entitiesarray<array<Entity>>Uma lista de array<Entity> na mesma ordem que os comentários na solicitação, onde cada Entity tem o formato descrito aqui.
label_propertiesarray<LabelProperty>Uma matriz que contém as propriedades de rótulo previstas para este comentário, em que cada LabelProperty tem o formato descrito aqui.
modelModeloInformações sobre o modelo que foi usado para fazer as previsões, no formato descrito aqui.
statusStringok se a solicitação for bem-sucedida, ou error em caso de erro. Para saber mais sobre respostas de erros, consulte Visão geral.
commentsarray<Comment>Uma lista de comentários analisados dos emails brutos carregados, no formato descrito na Referência do comentário. Retornado apenas se você definir include_comments na solicitação.
predictionsarray<array<Label>>Uma lista de array<Label> na mesma ordem que os comentários na solicitação, onde cada Label tem o formato descrito aqui.
entitiesarray<array<Entity>>Uma lista de array<Entity> na mesma ordem que os comentários na solicitação, onde cada Entity tem o formato descrito aqui.
label_propertiesarray<LabelProperty>Uma matriz que contém as propriedades de rótulo previstas para este comentário, em que cada LabelProperty tem o formato descrito aqui.
modelModeloInformações sobre o modelo que foi usado para fazer as previsões, no formato descrito aqui.
Observação:

Para solicitações grandes, esse ponto de extremidade pode levar mais tempo para responder. Você deve aumentar o tempo limite do cliente.

Obter previsões para um modelo fixado por ID do comentário

docs image /api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments

Permissões necessárias: Exibir rótulos, Exibir origens

  • Bash
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "threshold": 0.25,
      "uids": [
        "18ba5ce699f8da1f.0001",
        "18ba5ce699f8da1f.0002"
      ]
    }'
    curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments' \
        -H "Authorization: Bearer $REINFER_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
      "threshold": 0.25,
      "uids": [
        "18ba5ce699f8da1f.0001",
        "18ba5ce699f8da1f.0002"
      ]
    }'
    
  • const request = require("request");
    
    request.post(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          threshold: 0.25,
          uids: ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"],
        },
      },
      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/<project>/<dataset_name>/labellers/<version>/predict-comments",
        headers: {
          Authorization: "Bearer " + process.env.REINFER_TOKEN,
        },
        json: true,
        body: {
          threshold: 0.25,
          uids: ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"],
        },
      },
      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/<project>/<dataset_name>/labellers/<version>/predict-comments",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "uids": ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"],
            "threshold": 0.25,
        },
    )
    
    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/<project>/<dataset_name>/labellers/<version>/predict-comments",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
        json={
            "uids": ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"],
            "threshold": 0.25,
        },
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Resposta
    {
      "model": {
        "time": "2020-02-06T20:42:58.047000Z",
        "version": 5
      },
      "predictions": [
        {
          "entities": [
            {
              "capture_ids": [],
              "formatted_value": "Bob",
              "id": "76aebf2646577a1d",
              "kind": "person",
              "name": "person",
              "probability": null,
              "span": {
                "char_end": 6,
                "char_start": 3,
                "content_part": "body",
                "message_index": 0,
                "utf16_byte_end": 12,
                "utf16_byte_start": 6
              }
            },
            {
              "capture_ids": [],
              "formatted_value": "2020-01-09 00:00 UTC",
              "id": "20beddf4c5f5bb61",
              "kind": "date",
              "name": "date",
              "probability": null,
              "span": {
                "char_end": 48,
                "char_start": 43,
                "content_part": "body",
                "message_index": 0,
                "utf16_byte_end": 96,
                "utf16_byte_start": 86
              }
            }
          ],
          "labels": [
            {
              "name": ["Some Label"],
              "probability": 0.8896465003490448
            },
            {
              "name": ["Parent Label", "Child Label"],
              "probability": 0.26687008142471313,
              "sentiment": 0.8762539502232571
            }
          ],
          "uid": "18ba5ce699f8da1f.0001"
        },
        {
          "entities": [],
          "labels": [
            {
              "name": ["Other Label"],
              "probability": 0.6406207121908665
            }
          ],
          "uid": "18ba5ce699f8da1f.0002"
        }
      ],
      "status": "ok"
    }
    {
      "model": {
        "time": "2020-02-06T20:42:58.047000Z",
        "version": 5
      },
      "predictions": [
        {
          "entities": [
            {
              "capture_ids": [],
              "formatted_value": "Bob",
              "id": "76aebf2646577a1d",
              "kind": "person",
              "name": "person",
              "probability": null,
              "span": {
                "char_end": 6,
                "char_start": 3,
                "content_part": "body",
                "message_index": 0,
                "utf16_byte_end": 12,
                "utf16_byte_start": 6
              }
            },
            {
              "capture_ids": [],
              "formatted_value": "2020-01-09 00:00 UTC",
              "id": "20beddf4c5f5bb61",
              "kind": "date",
              "name": "date",
              "probability": null,
              "span": {
                "char_end": 48,
                "char_start": 43,
                "content_part": "body",
                "message_index": 0,
                "utf16_byte_end": 96,
                "utf16_byte_start": 86
              }
            }
          ],
          "labels": [
            {
              "name": ["Some Label"],
              "probability": 0.8896465003490448
            },
            {
              "name": ["Parent Label", "Child Label"],
              "probability": 0.26687008142471313,
              "sentiment": 0.8762539502232571
            }
          ],
          "uid": "18ba5ce699f8da1f.0001"
        },
        {
          "entities": [],
          "labels": [
            {
              "name": ["Other Label"],
              "probability": 0.6406207121908665
            }
          ],
          "uid": "18ba5ce699f8da1f.0002"
        }
      ],
      "status": "ok"
    }
    

Você deve fornecer a versão do modelo que deseja consultar para previsões na solicitação. Você pode usar o número inteiro da versão ou os valores especiais live ou staging para consultar a versão atual do modelo Live ou Staging.

Formato de solicitação

NomeTipoRequiredDescrição
uidsarray<string>simUma lista de no máximo 4096 -s source_ide comment_id-s combinados no formato source_id.comment_id. As origens não precisam pertencer ao conjunto de dados atual - para que você possa solicitar previsões de comentários para uma origem em um conjunto de dados diferente (ou nenhum). Listas maiores são mais rápidas (por comentário) do que listas menores.
uidsarray<string>simUma lista de no máximo 4096 -s source_ide comment_id-s combinados no formato source_id.comment_id. As origens não precisam pertencer ao conjunto de dados atual - para que você possa solicitar previsões de comentários para uma origem em um conjunto de dados diferente (ou nenhum). Listas maiores são mais rápidas (por comentário) do que listas menores.
thresholdNúmeronãoO limite de confiança pelo qual filtrar os resultados do rótulo. Um número entre 1.0 e 0.0. 0.0 incluirá todos os resultados. Defina como "auto" para usar limites automáticos. Se não for definido, o limite padrão de 0.25 será usado.
labelsarray<Label>nãoUma lista dos rótulos solicitados a serem retornados com a opção de limites específicos de rótulos.
labelsarray<Label>nãoUma lista dos rótulos solicitados a serem retornados com a opção de limites específicos de rótulos.

Onde Label tem o seguinte formato:

NomeTipoRequiredDescrição
namearray<string>simO nome do rótulo a ser retornado, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"].
namearray<string>simO nome do rótulo a ser retornado, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"].
thresholdNúmeronãoO limite de confiança a ser usado para o rótulo. Se não for especificado, o padrão será o limite especificado no nível superior.

Formato da Resposta

NomeTipoDescrição
statusStringok se a solicitação for bem-sucedida, ou error em caso de erro. Para saber mais sobre respostas de erros, consulte Visão geral.
predictionsarray<Prediction>Uma lista de previsões no formato descrito na tabela a seguir.
modelModeloInformações sobre o modelo que foi usado para fazer as previsões, no formato descrito aqui.
statusStringok se a solicitação for bem-sucedida, ou error em caso de erro. Para saber mais sobre respostas de erros, consulte Visão geral.
predictionsarray<Prediction>Uma lista de previsões no formato descrito na tabela a seguir.
modelModeloInformações sobre o modelo que foi usado para fazer as previsões, no formato descrito aqui.

Onde Prediction tem o seguinte formato:

NomeTipoDescrição
uidStringUma combinação de source_id e comment_id no formato de source_id.comment_id.
labelsarray<Label>Uma matriz que contém rótulos previstos para este comentário, em que Label tem o formato descrito aqui.
entitiesarray<Entity>Uma matriz que contém entidades previstas para este comentário, em que Entity tem o formato descrito aqui.
label_propertiesarray<LabelProperty>Uma matriz que contém as propriedades de rótulo previstas para este comentário, em que cada LabelProperty tem o formato descrito aqui.
uidStringUma combinação de source_id e comment_id no formato de source_id.comment_id.
labelsarray<Label>Uma matriz que contém rótulos previstos para este comentário, em que Label tem o formato descrito aqui.
entitiesarray<Entity>Uma matriz que contém entidades previstas para este comentário, em que Entity tem o formato descrito aqui.
label_propertiesarray<LabelProperty>Uma matriz que contém as propriedades de rótulo previstas para este comentário, em que cada LabelProperty tem o formato descrito aqui.
Observação:

Para solicitações grandes, esse ponto de extremidade pode levar mais tempo para responder. Você deve aumentar o tempo limite do cliente.

Obter estatísticas de validação do modelo

docs image /api/v1/datasets/<project>/<dataset_name>/labellers/<version>/validation

Permissões necessárias: Exibir rótulos, Exibir origens

  • Bash
    curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation' \
        -H "Authorization: Bearer $REINFER_TOKEN"
    curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation' \
        -H "Authorization: Bearer $REINFER_TOKEN"
    
  • const request = require("request");
    
    request.get(
      {
        url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation",
        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/labellers/live/validation",
        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/labellers/live/validation",
        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/labellers/live/validation",
        headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
    )
    
    print(json.dumps(response.json(), indent=2, sort_keys=True))
    
  • Resposta
    {
      "status": "ok",
      "validation": {
        "coverage": 0.9119927883148193,
        "dataset_quality": "good",
        "labels": [
          {
            "name": "Notification",
            "parts": ["Notification"]
          },
          {
            "name": "Notification > Out of Office",
            "parts": ["Notification", "Out of Office"]
          },
          {
            "name": "Notification > Public Holiday",
            "parts": ["Notification", "Public Holiday"]
          }
        ],
        "mean_average_precision_safe": 0.83,
        "num_amber_labels": 1,
        "num_labels": 3,
        "num_red_labels": 1,
        "num_reviewed_comments": 10251,
        "version": 5
      }
    }
    {
      "status": "ok",
      "validation": {
        "coverage": 0.9119927883148193,
        "dataset_quality": "good",
        "labels": [
          {
            "name": "Notification",
            "parts": ["Notification"]
          },
          {
            "name": "Notification > Out of Office",
            "parts": ["Notification", "Out of Office"]
          },
          {
            "name": "Notification > Public Holiday",
            "parts": ["Notification", "Public Holiday"]
          }
        ],
        "mean_average_precision_safe": 0.83,
        "num_amber_labels": 1,
        "num_labels": 3,
        "num_red_labels": 1,
        "num_reviewed_comments": 10251,
        "version": 5
      }
    }
    

Essa rota retorna estatísticas de como um modelo está funcionando. As mesmas estatísticas podem ser visualizadas na página Validação. As estatísticas de um modelo podem ser solicitadas com seu número inteiro version . Você pode usar os valores especiais live e staging para recuperar estatísticas para as versões atuais do modelo Live ou Staging, ou o valor especial latest para a versão do modelo mais recente disponível.

Embora esse ponto de extremidade aceite versões de modelo fixadas e não fixadas, recomendamos consultar as versões do modelo fixadas ou o valor especial latest, pois não é garantido que as estatísticas estejam disponíveis para versões de modelo não fixadas.

O objeto validation da resposta contém os campos a seguir:

NomeTipoDescrição
mean_average_precision_safefloatPontuação de Precisão média média (entre 0.0 e 1.0). Este campo será null se o MAP não estiver disponível.
num_labelsNúmeroNúmero de rótulos na taxonomia (no momento em que a versão do modelo foi fixada).
labelsarray<Label>Lista de rótulos na taxonomia (no momento em que a versão do modelo foi fixada).
Observação: como o exemplo de resposta demonstra, os rótulos pai são retornados como um rótulo separado além de serem retornados como parte dos rótulos filho.
num_reviewed_commentsNúmeroNúmero de comentários revisados no conjunto de dados (no momento em que a versão do modelo foi fixada).
versionNúmeroVersão do modelo.
num_amber_labelsNúmeroNúmero de rótulos no estado de aviso laranja.
num_red_labelsNúmeroNúmero de rótulos no estado de alerta vermelho.
dataset_scoreNúmeroPontuação geral do conjunto de dados, entre 0 e 100.
dataset_qualityStringUm "poor", "average", "good", "excellent", representando a classificação de qualidade geral do conjunto de dados. Pode ser null se não houver dados suficientes.
balancefloatUma medida da similaridade entre comentários revisados e não revisados (entre 0.0 e 1.0). Pode ser null se não houver dados suficientes.
balance_qualityStringUm entre "poor", "average", "good", "excellent", representando a classificação de qualidade do saldo. Pode ser null se não houver dados suficientes.
coveragefloatUm valor fracionário da cobertura do rótulo no conjunto de dados (entre 0.0 e 1.0). Pode ser null se não houver dados suficientes.
coverage_qualityStringUma "poor", "average", "good", "excellent", representando a classificação de qualidade da cobertura. Pode ser null se não houver dados suficientes.
all_labels_qualityStringUm "poor", "average", "good", "excellent", representando toda a classificação de qualidade dos rótulos. Pode ser null se não houver dados suficientes.
underperforming_labels_qualityStringUm entre "poor", "average", "good", "excellent", representando a classificação de qualidade dos rótulos de baixo desempenho. Pode ser null se não houver dados suficientes.

Onde Label tem o seguinte formato:

NomeTipoDescrição
nameStringO nome do rótulo, formatado como uma cadeia de caracteres.
partsarray<string>O nome do rótulo, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"]
nameStringO nome do rótulo, formatado como uma cadeia de caracteres.
partsarray<string>O nome do rótulo, formatado como uma lista de rótulos hierárquicos. Por exemplo, o rótulo "Parent Label > Child Label" terá o formato ["Parent Label", "Child Label"]

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades