ai_decide fonksiyon

Şunun için geçerlidir:Evet olarak işaretlendi Databricks SQL Evet olarak işaretlendi Databricks Runtime

Important

Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Bu ai_decide() fonksiyon, bir veya daha fazla soruyu metin veya yapılandırılmış verilerle karşılaştırır. Her soru için ya olasılık, ya adlandırılmış kriterlerden bir seçim ya da sıralı bir ölçekte puan verir. Destek biletlerini yönlendirmek, bir etkinliğin dikkat gerektirip gerektirmediğini değerlendirmek veya belirlediğiniz bir rubrikle çalışmayı önceliklendirmek için kullanın.

Bir aramadaki tüm sorular aynı girdi, yani state. Farklı soru türlerini tek bir çağrıda birleştirebilir ve geri dönen cevapları aşağı akış SQL sorgularında kullanabilirsiniz.

Veri güvenliği

Belge verileriniz Databricks güvenlik çevresi içinde işlenir. Databricks, yapay zeka fonksiyon çağrılarına iletilen parametreleri saklamaz, ancak kullanılan Databricks Çalışma Zamanı versiyonu gibi metaveri çalışma detaylarını korur.

Gereksinimler

Apache 2.0 lisansı

Şu anda kullanılabilecek temel modeller Apache 2.0 Lisansı, Telif Hakkı © Apache Software Foundation kapsamında lisanslandırılır. Müşteriler, geçerli model lisanslarıyla uyumluluğu sağlamakla sorumludur.

Databricks, geçerli koşullarla uyumluluğu sağlamak için bu lisansların gözden geçirilmesini önerir. Gelecekte Databricks'in iç karşılaştırmalarına göre daha iyi performans gösteren modeller ortaya çıkarsa Databricks modeli (ve bu sayfada sağlanan geçerli lisansların listesini) değiştirebilir.

Bu işlevi güçlendiren model, Model Sunma Temeli Model API'leri kullanılarak kullanılabilir hale getirilir. Databricks'te hangi modellerin kullanılabildiği ve bu modellerin kullanımını yöneten lisanslar ve ilkeler hakkında bilgi için bkz. Geçerli model koşulları .

Azure Databricks iç karşılaştırmalarına göre daha iyi performans gösteren modeller ortaya çıkarsa Databricks modelleri değiştirebilir ve belgeleri güncelleştirebilir.

Sözdizimi

ai_decide(state, questions [, options])

Arguments

  • state: A VARIANT veya STRING soruları yanıtlamak için gereken içerik, bağlam ve örnekleri içeren ifade. Değer satıra göre değişebilir. Kabul eder:

    • Düz STRING metin veya JSON kodlu nesne veya diziyi içeren bir dizi. JSON nesneleri ve diziler yapılandırılmış veri olarak yorumlanır. Diğer dizeler metin olarak kabul edilir.
    • VARIANT Başka bir yapay zeka işlevi (veya ai_parse_documentgibiai_extract) tarafından üretilen bir
  • questions: Boş olmayan bir JSON nesnesi içeren sabit STRING bir ifade. Her anahtar boş olmayan bir soru kimliğidir ve her değer bir soru tanımıdır. Aynı tanımlar her satır için geçerlidir. Soru tanımlarına bakınız.

  • options: İsteğe bağlı sabit MAP<STRING, STRING> bir ifade. Desteklenen seçenik version, değeri '1.0'ile . Varsayılan sürüm 1.0. Açıkça belirtmek için map('version', '1.0').

Soru tanımları

Her soru tanımı, type ve instructionscriteria ve ile soru türü gerektirdiğinde bunu gerektirir. Zorunlu alanlar olamaz null. Diğer alanlar desteklenmiyor.

  • type: noul, choice veya score öğelerinden biri.
  • instructions: Durumu değerlendirmek için talimatlar, bir dizgi, JSON nesnesi veya JSON dizisi olarak ifade edilir.
  • criteria: Nasıl cevap verileceğini tanımlayan açıklamalar. Gerekli şekil şuna bağlıdır.type

Noul soruları

Bir sorunun doğru olma olasılığını tahmin etmek için kullanın noul . Sonuç olarak 0'dan 1'e kadar bir sayı ortaya çıkar.

Isteğe bağlı criteria nesne, bu sonuçları tanımlayan ve false anahtarlar içerebilirtrue. Her tanım bir dize, JSON nesnesi veya JSON dizisi olabilir. Bu açıklamalara ihtiyacınız yoksa çıkarın criteria . Eğer sunuluyorsa, criteria bir nesne olmalıdır ve olamaz null.

{
  "needs_escalation": {
    "type": "noul",
    "instructions": "Does this ticket need immediate escalation?",
    "criteria": {
      "true": "An active service outage blocks the customer from working.",
      "false": "The customer can continue working or has a workaround."
    }
  }
}

Seçim soruları

Bir dizi isimlendirilmiş kriter arasından bir etiket seçmek için kullanılır choice .

Gerekli criteria nesne, 1'i 255'e kadar boş olmayan etiketi açıklamalara eşler. Her tanım bir dizi, JSON nesnesi, JSON dizisi veya null. Etiket sadece seçimi açıkladığında kullanın null .

{
  "team": {
    "type": "choice",
    "instructions": "Which team should handle this ticket?",
    "criteria": {
      "shipping": "Delivery or shipment issues",
      "billing": "Payment or invoice issues",
      "technical_support": "Product technical problems"
    }
  }
}

Puan soruları

Durumu düzenli bir ölçekle karşılaştırmak için kullanılır score .

Gerekli criteria dizi, en düşükten en yükseğe sıralanmış 2 ila 10 tanım içerir. Her tanım bir dize, JSON nesnesi veya JSON dizisi olabilir. İlk kriter indekse 0sahiptir, bir sonraki indeks 1ve benzeri bir şekilde devam eder.

Sonuç olarak, bu endekslerin olasılık ağırlıklı ortalaması ortaya çıkar. Kesirli olabilir ve kriter sayısı bir eksik olarak değişir 0 . Örneğin, , 0.3, ve 0.6 üç kriter üzerindeki olasılıklar 0.1bir puan 1.5verir.

{
  "urgency": {
    "type": "score",
    "instructions": "How urgent is this ticket?",
    "criteria": [
      "Routine request with no time pressure",
      "Time-sensitive issue with a workaround",
      "Critical issue that blocks the customer"
    ]
  }
}

İadeler

A'yı , , ve alanlarıyla metadataresponseerror_messagedöndürür.VARIANT Alan, response her soru için bir giriş içeren bir answers nesne içerir. Soru kimlikleri, parametrede questions verilen kimliklerle tam olarak eşleşir. Her cevap, soru türüne uyan bir type alan içerir: noul, choice, veya score. Aşağıdaki örnekler her soru türü için alanı gösterir response :

  • Noul soruları: probability 0'dan 1'e A, sorunun doğru olma olasılığını tahmin eder.

    {
      "answers": {
        "needs_escalation": {
          "type": "noul",
          "probability": 0.1
        }
      }
    }
    
  • Seçim soruları: En choice yüksek olasılıklı etiketi içeren ve her etiketi olasılıkla eşleyen bir probabilities nesne. confidence 0'dan 1'e kadar olan bir sayıdır ve eyaletin değerlendirmeyi ne kadar desteklediğini gösterir. Değerler probabilities 1'e ulaşır. Etiket isimleri, tam olarak 'de belirtilenlerle criteriaörtüşüyor.

    {
      "answers": {
        "team": {
          "type": "choice",
          "choice": "shipping",
          "probabilities": {
            "shipping": 0.8,
            "billing": 0.1,
            "technical_support": 0.1
          },
          "confidence": 0.9
        }
      }
    }
    
  • Puan soruları: Kriter indekslerinin olasılık ağırlıklı ortalamasını içeren A score , legend orijinal kriter açıklamalarına eşleyen bir dizi dizi indeksleri (örneğin "0") ve bu indeksleri olasılıklara eşleyen bir probabilities nesne. confidence 0'dan 1'e kadar olan bir sayıdır ve eyaletin değerlendirmeyi ne kadar desteklediğini gösterir. Değerler probabilities 1'e ulaşır.

    {
      "answers": {
        "urgency": {
          "type": "score",
          "score": 1.5,
          "legend": {
            "0": "Routine request with no time pressure",
            "1": "Time-sensitive issue with a workaround",
            "2": "Critical issue that blocks the customer"
          },
          "probabilities": {
            "0": 0.1,
            "1": 0.3,
            "2": 0.6
          },
          "confidence": 0.8
        }
      }
    }
    

Başarıda, metadata.version kullanılan fonksiyon versiyonunu tanımlar ve error_message .null

Başarısızlık üzerinenull, response ve error_message başarısızlığı tanımlar. Geçersiz argüman türleri veya sabit olmayan soru tanımları da sorgu hatalarına yol açabilir.

Examples

Aşağıdaki örnek, tek bir görüşmede birkaç soruyu nasıl değerlendireceğinizi gösterir. Oluşturulan cevaplar aramalar arasında değişebilir.

Birden fazla soru türünü değerlendirin

Bu örnek, bir ürün listesini kategorisi, geri dönüştürülmüş malzemelerin kullanımı ve yağmurlu havada yürüyüş için uygunluğu açısından değerlendirir:

SELECT ai_decide(
  '{"name": "TrailShell jacket", "description": "Lightweight waterproof hiking jacket made from recycled polyester. Packs into its own pocket."}',
  '{
    "category": {
      "type": "choice",
      "instructions": "Which product category best fits this item?",
      "criteria": {
        "outerwear": "Jackets, coats, and other protective outer layers",
        "footwear": "Shoes, boots, and sandals",
        "accessories": "Bags, hats, and other accessories"
      }
    },
    "recycled_materials": {
      "type": "noul",
      "instructions": "Does the listing state that the product uses recycled materials?"
    },
    "hiking_suitability": {
      "type": "score",
      "instructions": "How suitable is this product for hiking in rainy weather?",
      "criteria": [
        "Not suitable for outdoor use in rain",
        "Offers some protection from rain",
        "Designed for hiking with waterproof protection"
      ]
    }
  }',
  map('version', '1.0')
) AS decision;

Örnek yanıt:

{
  "response": {
    "answers": {
      "category": {
        "type": "choice",
        "choice": "outerwear",
        "probabilities": { "outerwear": 0.95, "footwear": 0.01, "accessories": 0.04 },
        "confidence": 0.95
      },
      "recycled_materials": { "type": "noul", "probability": 0.98 },
      "hiking_suitability": {
        "type": "score",
        "score": 1.8,
        "legend": {
          "0": "Not suitable for outdoor use in rain",
          "1": "Offers some protection from rain",
          "2": "Designed for hiking with waterproof protection"
        },
        "probabilities": { "0": 0.05, "1": 0.1, "2": 0.85 },
        "confidence": 0.9
      }
    }
  },
  "metadata": { "version": "1.0" },
  "error_message": null
}