Aracılığıyla paylaş


PySpark ile ai.extract kullanma

İşlev, ai.extract giriş metnini taramak ve seçtiğiniz etiketler (örneğin, konumlar veya adlar) tarafından belirlenen belirli bilgi türlerini ayıklamak için üretken yapay zeka kullanır. Yalnızca tek bir kod satırı kullanır.

Uyarı

Genel Bakış

ai.extract İşlev, Spark DataFrames için kullanılabilir. Var olan bir giriş sütununun adını parametre olarak ve her metin satırından ayıklanması gereken varlık türlerinin listesini belirtmelisiniz.

İşlev, her giriş satırı için ayıklanan değerleri içeren belirtilen her varlık türü için ayrı bir sütun içeren yeni bir DataFrame döndürür.

Sözdizimi

df.ai.extract(labels=["entity1", "entity2", "entity3"], input_col="input")

Parametreler

İsim Description
labels
Gerekli
Giriş sütunundaki metin değerlerinden ayıklanan varlık türleri kümesini temsil eden dize dizisi.
input_col
Gerekli
Özel varlıkları taramak için giriş metin değerlerine sahip mevcut bir sütunun adını içeren dize .
aifunc.ExtractLabel
Opsiyonel
Ayıklanması gereken alanların tanımını içeren bir veya daha fazla etiket tanımı. Daha fazla bilgi için ExtractLabel Parametreleri tablosuna bakın.
error_col
Opsiyonel
Her giriş metin satırının işlenmesinden kaynaklanan OpenAI hatalarını depolamak için yeni sütunun adını içeren bir dizesi. Bu parametreyi ayarlamazsanız hata sütunu için varsayılan bir ad oluşturur. Giriş satırında hata yoksa, bu sütundaki değer nullolur.

ExtractLabel Parametreleri

İsim Description
label
Gerekli
Giriş metni değerlerinden ayıklanan varlığı temsil eden bir dize .
description
Opsiyonel
Yapay zeka modeli için ek bağlam ekleyen bir dize . Yapay zekanın ayıklama sırasında dikkate alması gereken bağlamı, gereksinimleri veya yönergeleri içerebilir.
max_items
Opsiyonel
Bu etiket için ayıklanması gereken en fazla öğe sayısını belirten bir int .
type
Opsiyonel
Ayıklanan değer için JSON şema türü. Bu sınıf için desteklenen türler : string, number, integer, boolean, objectve array.
properties
Opsiyonel
Sözlük olarak türü için daha fazla JSON şema özelliği. Diziler için "öğeler", nesneler için "özellikler", sabit listesi türleri için "numaralandırma" ve daha fazlası gibi desteklenen özellikleri içerebilir. Bu makaledeki örnek kullanıma bakın.
raw_col
Opsiyonel
Ham LLM yanıtı için sütun adını ayarlayan dize . Ham yanıt, "reason" ve "extraction_text" dahil olmak üzere her varlık etiketi için sözlük çiftlerinin listesini sağlar.

İade

İşlev, belirtilen her varlık türü için yeni bir sütun içeren bir Spark DataFrame döndürür. Sütun veya sütunlar, giriş metninin her satırı için ayıklanan varlıkları içerir. İşlev bir varlık için birden fazla eşleşme tanımlarsa, bu eşleşmelerden yalnızca birini döndürür. Eşleşme bulunmazsa, sonuç nullolur.

Varsayılan dönüş türü, her etiket için bir dize listesidir. Kullanıcılar yapılandırmada aifunc.ExtractLabel "type=integer" gibi farklı bir tür belirtmeyi seçerse, çıkış python int listesi olur. Kullanıcılar yapılandırmada aifunc.ExtractLabel "max_items=1" belirtirse, bu etiket için türün yalnızca bir öğesi döndürülür.

Example

# This code uses AI. Always review output for mistakes. 

df = spark.createDataFrame([
        ("MJ Lee lives in Tuscon, AZ, and works as a software engineer for Contoso.",),
        ("Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey.",)
    ], ["descriptions"])

df_entities = df.ai.extract(labels=["name", "profession", "city"], input_col="descriptions")
display(df_entities)

Bu örnek kod hücresi aşağıdaki çıkışı sağlar:

Özgün veri çerçevesinden ayıklanan verileri içeren 'name', 'profession' ve 'city' sütunlarını içeren yeni bir veri çerçevesini gösteren ekran görüntüsü.