مكتبة عميل Azure Anomaly Detector ل JavaScript - الإصدار 3.0.0-beta.5

Azure AnomalyDetector تمكنك واجهة برمجة التطبيقات من مراقبة التشوهات واكتشافها في بيانات السلسلة الزمنية الخاصة بك باستخدام التعلم الآلي.

الروابط الرئيسية:

المفاهيم الرئيسية

AnomalyDetectorClient يوفر أساليب للكشف عن الحالات الشاذة:

  • detectEntireSeries - الكشف عن الحالات الشاذة على مجموعة بيانات بأكملها
  • detectLastPoint - يكتشف الحالات الشاذة في أحدث نقطة بيانات
  • detectChangePoint - تقييم درجة نقطة التغيير لكل نقطة سلسلة

الشروع في العمل

البيئات المعتمدة حاليًا

راجع سياسة الدعم الخاصة بنا لمزيد من التفاصيل.

المتطلبات الأساسية

إذا كنت تستخدم Azure CLI، فاستبدل <your-resource-group-name> وأسماءك <your-resource-name> الفريدة الخاصة:

az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>

تثبيت @azure/ai-anomaly-detectorالحزمة

قم بتثبيت مكتبة عميل Azure Anomaly Detector ل JavaScript باستخدام npm:

npm install @azure/ai-anomaly-detector

إنشاء ومصادقة AnomalyDetectorClient

لإنشاء كائن عميل للوصول إلى واجهة برمجة تطبيقات Anomaly Detector، ستحتاج إلى endpoint مورد Anomaly Detector الخاص بك و credential. يمكن لعميل Anomaly Detector استخدام بيانات اعتماد Azure Active Directory أو بيانات اعتماد مفتاح API للمصادقة.

يمكنك العثور على نقطة النهاية لمورد Anomaly Detector في مدخل Microsoft Azure بالنقر Keys and Endpoint ضمن إدارة الموارد في القائمة أو باستخدام قصاصة Azure CLI أدناه:

az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"

استخدام مفتاح واجهة برمجة التطبيقات

استخدم مدخل Microsoft Azure للاستعراض وصولا إلى مورد Anomaly Detector واسترداد مفتاح API بالنقر ضمن Keys and Endpoint Resource Management، أو استخدم قصاصة Azure CLI أدناه:

ملاحظه: في بعض الأحيان يشار إلى مفتاح واجهة برمجة التطبيقات باسم "مفتاح الاشتراك" أو "مفتاح واجهة برمجة تطبيقات الاشتراك".

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

بمجرد أن يكون لديك مفتاح واجهة برمجة التطبيقات ونقطة النهاية، يمكنك استخدام AzureKeyCredential الفئة لمصادقة العميل كما يلي:

const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");

const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));

استخدام بيانات اعتماد Azure Active Directory

يتم استخدام مصادقة مفتاح واجهة برمجة تطبيقات العميل في معظم الأمثلة، ولكن يمكنك أيضا المصادقة مع Azure Active Directory باستخدام [مكتبة هوية Azure]. لاستخدام موفر DefaultAzureCredential الموضح أدناه، أو موفري بيانات الاعتماد الآخرين المقدمين مع Azure SDK، يرجى تثبيت الحزمة @azure/identity :

npm install @azure/identity

ستحتاج أيضا إلى تسجيل تطبيق AAD جديد ومنح حق الوصول إلى Anomaly Detector عن طريق تعيين "Cognitive Services User" الدور إلى كيان الخدمة (ملاحظة: لن تمنح الأدوار الأخرى مثل "Owner" الأذونات اللازمة، إلا "Cognitive Services User" أنها تكفي لتشغيل الأمثلة ونموذج التعليمات البرمجية).

قم بتعيين قيم معرف العميل ومعرف المستأجر وسر العميل لتطبيق AAD كمتغيرات بيئة: AZURE_CLIENT_ID، ، AZURE_TENANT_ID. AZURE_CLIENT_SECRET

const { AnomalyDetectorClient } = require("@azure/ai-anomaly-detector");
const { DefaultAzureCredential } = require("@azure/identity");

const client = new AnomalyDetectorClient("<endpoint>", new DefaultAzureCredential());

أمثلة

الكشف عن نقاط التغيير

يوضح هذا النموذج كيفية الكشف عن نقاط التغيير على السلسلة بأكملها.

const { AnomalyDetectorClient, TimeGranularity } = require("@azure/ai-anomaly-detector");
const { AzureKeyCredential } = require("@azure/core-auth");

// You will need to set this environment variables in .env file or edit the following values
const apiKey = process.env["API_KEY"] || "";
const endpoint = process.env["ENDPOINT"] || "";

async function main() {
  // create client
  const client = new AnomalyDetectorClient(endpoint, new AzureKeyCredential(apiKey));

  // construct request
  const request = {
    series: [
      { timestamp: new Date("2018-03-01T00:00:00Z"), value: 32858923 },
      { timestamp: new Date("2018-03-02T00:00:00Z"), value: 29615278 },
      { timestamp: new Date("2018-03-03T00:00:00Z"), value: 22839355 },
      { timestamp: new Date("2018-03-04T00:00:00Z"), value: 25948736 },
      { timestamp: new Date("2018-03-05T00:00:00Z"), value: 34139159 },
      { timestamp: new Date("2018-03-06T00:00:00Z"), value: 33843985 },
      { timestamp: new Date("2018-03-07T00:00:00Z"), value: 33637661 },
      { timestamp: new Date("2018-03-08T00:00:00Z"), value: 32627350 },
      { timestamp: new Date("2018-03-09T00:00:00Z"), value: 29881076 },
      { timestamp: new Date("2018-03-10T00:00:00Z"), value: 22681575 },
      { timestamp: new Date("2018-03-11T00:00:00Z"), value: 24629393 },
      { timestamp: new Date("2018-03-12T00:00:00Z"), value: 34010679 },
      { timestamp: new Date("2018-03-13T00:00:00Z"), value: 33893888 },
      { timestamp: new Date("2018-03-14T00:00:00Z"), value: 33760076 },
      { timestamp: new Date("2018-03-15T00:00:00Z"), value: 33093515 }
    ],
    granularity: TimeGranularity.daily
  };

  // get change point detect results
  const result = await client.detectChangePoint(request);
  const isChangePointDetected = result.isChangePoint.some((changePoint) => changePoint);

  if (isChangePointDetected) {
    console.log("Change points were detected from the series at index:");
    result.isChangePoint.forEach((changePoint, index) => {
      if (changePoint === true) {
        console.log(index);
      }
    });
  } else {
    console.log("There is no change point detected from the series.");
  }
  // output:
  // Change points were detected from the series at index:
  // 9
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

يمكن العثور على المزيد من العينات هنا

استكشاف الأخطاء وإصلاحها

تسجيل الدخول

قد يساعد تمكين التسجيل في الكشف عن معلومات مفيدة حول حالات الفشل. للاطلاع على سجل لطلبات HTTP واستجاباته، قم بتعيين AZURE_LOG_LEVELمتغير البيئة إلى info. بدلًا من ذلك، يمكن تمكين التسجيل في وقت التشغيل عن طريق الاتصال setLogLevelبـ @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

للحصول على إرشادات أكثر تفصيلا حول كيفية تمكين السجلات، يمكنك إلقاء نظرة على مستندات حزمة @azure/المسجل.

الخطوات التالية

يرجى إلقاء نظرة على دليل العينات للحصول على أمثلة مفصلة حول كيفية استخدام هذه المكتبة.

المساهمة

هذا المشروع يرحب بالمساهمات والاقتراحات. معظم المساهمات تتطلب منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في منحنا حق استخدام مساهمتك. لمزيد من التفاصيل، قم بزيارة https://cla.microsoft.com.

عند إرسال طلب سحب، سيحدد روبوت CLA-bot تلقائيًا ما إذا كنت بحاجة إلى تقديم CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال، التسمية أو التعليق). ما عليك سوى اتباع التعليمات التي يقدمها الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع عمليات إعادة الشراء باستخدام CLA الخاص بنا.

اعتمد هذا المشروع مدونة السلوك من المصادر المفتوحة من Microsoft. لمزيد من المعلومات، راجع الأسئلة المتداولة حول قواعد السلوك أو الاتصال opencode@microsoft.com بأي أسئلة أو تعليقات إضافية.

إذا كنت ترغب في المساهمة في هذه المكتبة، يرجى قراءة دليل المساهمة لمعرفة المزيد حول كيفية إنشاء التعليمات البرمجية واختبارها.