Aracılığıyla paylaş


ai_parse_document fonksiyon

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

Important

Bu işlev Genel Önizleme aşamasındadır ve HIPAA ile uyumludur.

Önizleme sırasında:

İşlev, ai_parse_document() yapılandırılmamış belgelerden yapılandırılmış içerik ayıklamak için Databricks Foundation Model API'lerinden en son model oluşturan yapay zeka modelini çağırır.

Requirements

Important

Bu işlevi güçlendiren model, Mozaik AI Modeli Sunma Temel Modeli API'leri kullanılarak kullanılabilir hale getiriliyor. 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 geliştirici lisansları ve koşulları.

Gelecekte Databricks'in 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.

Veri güvenliği

Belge verileriniz Databricks güvenlik çevresi içinde işlenir. Databricks çağrılara ai_parse_document function geçirilen parametreleri depolamaz, ancak kullanılan Databricks Runtime sürümü gibi meta veri çalıştırma ayrıntılarını korur.

Desteklenen giriş dosyası biçimleri

Giriş veri dosyalarınızın bayt cinsinden blob verisi olarak depolanması gerekir; başka bir deyişle DataFrame veya Delta tablosunda ikili türdeki bir sütun. Kaynak belgeler bir Unity Kataloğu biriminde depolanıyorsa, ikili tür sütunu Spark binaryFile biçim okuyucusu kullanılarak oluşturulabilir.

Aşağıdaki dosya biçimleri desteklenir:

  • PDF
  • JPG / JPEG (Bir resim dosyası formatı)
  • PNG
  • DOC/DOCX
  • PPT/PPTX

Syntax

ai_parse_document(content)
ai_parse_document(content, Map("version" -> "2.0"))

Arguments

  • content BINARY: Giriş bayt dizisi verilerini temsil eden bir ifade.
  • version: Desteklenen çıkış şemasının sürümü: "2.0".
  • 'imageOutputPath': İsteğe bağlı. Referans veya çok modlu RAG uygulamaları için işlenen sayfa görüntülerini Unity Catalog birimine kaydedin.
  • 'descriptionElementTypes': Yapay zeka tarafından oluşturulan açıklamalar. Yalnızca figures açıklamaları sürüm 2.0'da desteklenir, bu nedenle '*' ve 'figure' aynı davranışı üretir.
    • '' (boş dize): Hiçbir açıklama oluşturulmaz. Bu, çok sayıda rakam içeren belgeler için gereken işlem ve maliyetleri azaltır.
    • 'figure': Yalnızca şekiller için açıklamalar oluşturun. Yalnızca yapay zeka tarafından oluşturulan açıklamaları destekler.
    • '*' (varsayılan): Desteklenen tüm öğe türleri için açıklamalar oluşturun.

Returns

ai_parse_document işlevi, belgeden , page_number, headergibi footerbağlamsal düzen meta verilerini ayıklar. Ayrıca, metin paragrafları gibi belgenin içeriğini ayıklar. Sürüm 2.0 için tablolar HTML ile gösterilir. Çıkış VARIANT türündedir.

Important

İşlev çıkış şeması major.minor biçimi kullanılarak sürümlenmiştir. Databricks, desteklenen veya varsayılan sürümü, devam eden araştırmalara göre geliştirilmiş gösterimleri yansıtacak şekilde yükseltebilir.

  • Küçük sürüm yükseltmeleri geriye dönük olarak uyumludur ve sadece yeni alanlar ekleyebilir.
  • Ana sürüm yükseltmeleri, alan eklemeleri, kaldırmalar veya yeniden adlandırmalar gibi uyumsuzluktan kaynaklanan değişiklikleri içerebilir.

Çıkış şeması aşağıdadır:

Uyarı

22 Eylül 2025 itibarıyla çıkış şeması "2.0" sürümündedir ve şunları içerecek şekilde güncelleştirilmiştir:

  • descriptions yapay zeka tarafından oluşturulan şekil açıklamaları için.
  • bbox sınırlandırıcı kutu koordinatları için.

Mevcut iş yüklerinizi güncelleştirilmiş şemayı kullanacak şekilde geçirmek için bkz. İş yüklerini güncelleştirilmiş şemaya geçirme.

{
  "document": {
    "pages": [
      {
        "id": INT,                // 0-based page index
        "image_uri": STRING       // Path to saved page image (if enabled)
      }
    ],
    "elements": [
      {
        "id": INT,                 // 0-based element index
        "type": STRING,            // Supported: text, table, figure, table, title, caption, section_header,
                                   // page_footer, page_header, page_number, footnote
        "content": STRING,         // Text content of the target element
        "bbox": [                  // Bounding box coordinates
          {
            "coord": [ INT ],
            "page_id": INT
          }
        ],
        "description": STRING      // AI-generated description for figures
      }
    ]
  },
  "error_status": [
    {
      "error_message": STRING       // The detailed error message
      "page_id": INT                // 0-based page index
    }
  ],
  "metadata": {
    "id": STRING,
    "version": STRING,              // The version of the output schema
    "file_metadata": {
      "file_path": STRING,
      "file_name": STRING,
      "file_size": LONG,
      "file_modification_time": TIMESTAMP
    }
  }
}

İş yüklerini güncelleştirilmiş şemaya geçirme

Bu bölümdeki adımlarda, güncelleştirilmiş çıktı şemasını kullanmak için 22 Eylül 2025'den önce oluşturulan iş yüklerinin nasıl geçirildiği açıklanmaktadır.

  1. SQL isteğinizde parametresini version kullanarak belirli bir şema sürümü belirtin.
SELECT
ai_parse_document(
  content,
  map('version', '2.0')
) AS parsed
FROM READ_FILES('/path/to/documents', format => 'binaryFile');
  1. Kodunuzu elements dizisinden içerik okuyacak şekilde pages dizisi yerine değiştirin.
  2. Meta verileri yeniden değerlendirin. Örneğin, üst bilgi ve alt bilgi gibi meta veriler kullanıyorsanız, bu bilgileri page öğesinden ayıklamak için alternatif bir yaklaşım geliştirmeniz gerekir.
  3. Tüm iş yükünüzü geçirmeden önce güncelleştirilmiş mantığınızı örnek belgelerle doğrulayın.
  4. Kullanım örneğinizle ilgiliyse şekil açıklamalarını veya görüntü kalıcılığını etkinleştirmeyi göz önünde bulundurun.
  5. İzinleri denetleyin. Örneğin, görüntü kalıcılığını kullanmayı planlıyorsanız, hedef Unity Kataloğu birimi için doğru izinlere sahip olduğunuzdan emin olun.

Examples

Bu bölümde kullanımına ai_parse_documentyönelik örnekler verilmiştir.

Artımlı işleme senaryoları için ai_parse_document kullanan bu Databricks Varlık Paketleri örneğine bakın

Aşağıdaki örnek, metin öğelerini ayıklamak ve tüm metin içeriğini birleştirmek için kullanır ai_parse_document . Buradan Claude Sonnet 4 modeliyle satıcı adı, tarih, fatura numarası ve satın alınan ürünler gibi belirli yapılandırılmış bilgileri ayıklamak için kullanır ai_query .

WITH parsed_documents AS (
    SELECT
      path,
      ai_parse_document(
        content,
        map(
          'imageOutputPath', '/Volumes/catalog/schema/volume/parsed_images/',
          'descriptionElementTypes', '*'
        )
      ) AS parsed
    FROM READ_FILES('/Volumes/catalog/schema/volume/source_docs/*.{pdf,jpg,jpeg,png,doc,docx,ppt,pptx}', format => 'binaryFile')
  ),
  parsed_text AS (
    SELECT
      path,
      concat_ws(
        '\n\n',
        transform(
          try_cast(parsed:document:elements AS ARRAY<VARIANT>),
          element -> try_cast(element:content AS STRING)
        )
      ) AS text
    FROM parsed_documents
    WHERE try_cast(parsed:error_status AS STRING) IS NULL
  )
  SELECT
    path,
    text,
    ai_query(
      'databricks-claude-sonnet-4',
      concat(
        'Extract vendor name, date, invoice number, and items purchased from this document. ',
        'Return the result as a JSON object with keys: vendor, date, invoice_number, items (as an array). ',
        text
      ),
      returnType => 'STRING'
    ) AS structured_data
  FROM parsed_text
  WHERE text IS NOT NULL;

Aşağıdaki örnek, belge düzenlerini ai_parse_document kullanarak tek bir dosya için VARIANT çıktısı olarak ayıklamak ve belirtmek için kullanır:

  • İşlenen görüntülerin kaydedileceği yer.
  • Çıkış şeması sürümünü sabitler.
  • Şekiller için yapay zeka tarafından oluşturulan açıklamaları etkinleştirir.
SELECT
  path,
  ai_parse_document(
    content,
    map(
      'version', '2.0',
      'imageOutputPath', '/Volumes/catalog/schema/volume/directory/',
      'descriptionElementTypes', '*'
    )
  ) as parsed_doc
FROM READ_FILES('/Volumes/data/documents/', format => 'binaryFile');

Aşağıdaki örnek, belge düzenlerini bir Unity Kataloğu birimindeki dosyalar için ai_parse_document kullanarak VARIANT çıktısı olarak ayıklar.

SQL

SELECT
  path,
  ai_parse_document(content)
FROM READ_FILES('/Volumes/path/to/your/directory', format => 'binaryFile');

Python

from pyspark.sql.functions import *


df = spark.read.format("binaryFile") \
  .load("/Volumes/path/to/your/directory") \
  .withColumn(
    "parsed",
    expr("ai_parse_document(content)"))
display(df)

Scala

import org.apache.spark.sql.functions._


val df = spark.read.format("binaryFile")
  .load("/Volumes/path/to/your/directory")
  .withColumn(
    "parsed",
    ai_parse_document($"content"))
display(df)

Aşağıdaki örnek, çıkışın her üst düzey alanını ayırmak için ai_parse_document kullanır. Örneğin, document.pages, document.elements, error_statusve metadata tek tek sütunlar halinde.

SQL

WITH corpus AS (
  SELECT
    path,
    ai_parse_document(content) AS parsed
  FROM
    READ_FILES('/Volumes/path/to/source/file.pdf', format => 'binaryFile')
)
SELECT
  path,
  parsed:document:pages,
  parsed:document:elements,
  parsed:error_status,
  parsed:metadata
FROM corpus;

Python

from pyspark.sql.functions import *

df = (
  spark.read.format("binaryFile")
    .load("/Volumes/path/to/source/file.pdf")
    .withColumn("parsed", ai_parse_document(col("content")))
    .select(
      "path",
      expr("parsed:document:pages"),
      expr("parsed:document:elements"),
      expr("parsed:error_status"),
      expr("parsed:metadata")
    )
)
display(df)

Scala


import com.databricks.sql.catalyst.unstructured.DocumentParseResultV2_0
import org.apache.spark.sql.functions._


val df = spark.read.format("binaryFile")
 .load("/Volumes/path/to/source/file.pdf")
 .withColumn(
   "parsed",
   ai_parse_document($"content").cast(DocumentParseResultV2_0.SCHEMA))
 .select(
   $"path",
   $"parsed.*")
display(df)

Hata ayıklama arabirimi not defteri

Aşağıdaki defter, ai_parse_document işlevinin çıkışını analiz etmek için görsel bir hata ayıklama arabirimi sağlar. Ayrıştırılmış belgeleri etkileşimli sınırlayıcı kutu katmanlarıyla işler ve belgelerinizin her bölgesinden hangi içeriğin ayıklandığını incelemenize olanak sağlar

Hata ayıklama arabirimi not defteri

Dizüstü bilgisayar al

Sınırlama

  • Databricks tüm özelliklerini geliştirmek için sürekli olarak çalışsa da LLM'ler yeni ortaya çıkan bir teknolojidir ve hatalara neden olabilir.
  • İşlevin ai_parse_document belge içeriğini ayıklaması zaman alabilir ve özellikle yüksek oranda yoğun içerik içeren veya düşük çözünürlüğe sahip olan belgeler için yapısal bilgileri korur. Bazı durumlarda işlevin çalışması veya içeriği göz ardı etmesi biraz zaman alabilir. Databricks, gecikme süresini geliştirmek için sürekli çalışmaktadır.
  • Bkz. Desteklenen giriş dosyası biçimleri. Databricks, kuruluşunuz için hangi ek biçimlerin en önemli olduğu konusunda geri bildirimde bulunur.
  • ai_parse_document için modeli özelleştirmek veya ai_parse_document için müşteri tarafından sağlanan bir modeli kullanmak desteklenmez.
  • Temel alınan model, Japonca veya Korece gibi Latin alfabesi olmayan metinleri kullanarak görüntüleri işlerken en iyi performansı göstermeyebilir.
  • Dijital imzalı belgeler doğru işlenmeyebilir.