다음을 통해 공유


Azure Databricks AI Functions를 사용하여 데이터에 AI 적용

중요한

이 기능은 공개 미리 보기 상태입니다.

이 문서에서는 Azure Databricks AI Functions 및 지원되는 함수에 대해 설명합니다.

AI Functions란?

AI 함수는 Databricks에 저장된 데이터에 텍스트 번역 또는 감정 분석과 같은 AI를 적용하는 데 사용할 수 있는 기본 제공 함수입니다. Databricks SQL, Notebook, Lakeflow Spark 선언적 파이프라인 및 워크플로를 포함하여 Databricks의 어디에서나 실행할 수 있습니다.

AI 함수는 사용하기 쉽고 빠르며 확장 가능합니다. 분석가는 이를 사용하여 독점 데이터에 데이터 인텔리전스를 적용할 수 있으며, 데이터 과학자와 기계 학습 엔지니어는 이를 사용하여 프로덕션 수준의 일괄 처리 파이프라인을 빌드할 수 있습니다.

AI 함수는 작업별 범용 함수를 제공합니다.

  • 작업별 함수는 텍스트 및 번역 요약과 같은 작업에 대해 높은 수준의 AI 기능을 제공합니다. 이러한 작업별 함수는 Databricks에서 호스트 및 관리하는 최신 생성 AI 모델에 의해 구동됩니다. 지원되는 함수 및 모델에 대한 작업별 AI 함수 참조하세요.
  • ai_query 데이터에 모든 유형의 AI 모델을 적용할 수 있는 범용 함수입니다. 범용 함수: ai_query을 참조하세요.

작업별 AI 함수

작업별 함수는 특정 작업에 대해 범위가 지정되므로 간단한 요약 및 빠른 번역과 같은 일상적인 작업을 자동화할 수 있습니다. Databricks는 Databricks에서 유지 관리하는 최첨단 생성 AI 모델을 호출하며 사용자 지정이 필요하지 않기 때문에 이러한 함수를 시작하기 위해 권장합니다.

예제는 AI Functions 사용하여 고객 리뷰 분석을 참조하세요.

다음 표에서는 지원되는 함수와 해당 함수가 수행하는 작업을 나열합니다.

기능 설명
AI 감성 분석 최신 생성 AI 모델을 사용하여 입력 텍스트에 대한 감정 분석을 수행합니다.
ai_classify 최첨단 생성 AI 모델을 사용하여 제공하는 레이블에 따라 입력 텍스트를 분류합니다.
ai_extract 최신 생성 AI 모델을 사용하여 텍스트에서 레이블로 지정된 엔터티를 추출합니다.
ai_문법_수정 최신 생성 AI 모델을 사용하여 텍스트의 문법 오류를 수정합니다.
ai_gen 최신 생성 AI 모델을 사용하여 사용자가 제공한 프롬프트에 응답합니다.
ai_mask 최첨단 생성 AI 모델을 사용하여 텍스트에서 지정된 엔터티를 마스크합니다.
ai_parse_document 최신 생성 AI 모델을 사용하여 구조화되지 않은 문서에서 구조화된 콘텐츠를 추출합니다.
ai_similarity 두 문자열을 비교하고 최첨단 생성 AI 모델을 사용하여 의미 체계 유사성 점수를 계산합니다.
ai_summarize SQL 및 최신 생성 AI 모델을 사용하여 텍스트 요약을 생성합니다.
ai_translate 최첨단 생성 AI 모델을 사용하여 텍스트를 지정된 대상 언어로 번역합니다.
ai_forecast 지정된 수평선까지 데이터를 예측합니다. 이 테이블 반환 함수는 시계열 데이터를 미래로 추정하도록 설계되었습니다.
vector_search 최신 생성 AI 모델을 사용하여 Mosaic AI Vector Search 인덱스를 검색하고 쿼리를 수행합니다.

범용 함수: ai_query

ai_query() 함수를 사용하면 정보 추출, 콘텐츠 요약, 사기 식별 및 수익 예측 등 생성 AI 및 클래식 ML 작업 모두에 대한 데이터에 AI 모델을 적용할 수 있습니다. 구문 세부 정보 및 매개 변수는 함수를 참조 ai_query 하세요.

다음 표에는 지원되는 모델 유형, 연결된 모델 및 각각에 대한 엔드포인트 구성 요구 사항을 제공하는 모델이 요약되어 있습니다.

유형 설명 지원되는 모델 요구 사항
미리 배포된 모델 이러한 기본 모델은 Databricks에서 호스트되며 , 를 사용하여 ai_query쿼리할 수 있는 미리 구성된 엔드포인트를 제공합니다. 각 모델 서비스 기능 및 해당 지역 가용성에 대해 지원되는 모델을 제공하는 Mosaic AI Model Service에서 지원되는 기본 모델을 참조하세요. 이러한 모델은 일괄 처리 유추 및 프로덕션 워크플로를 시작하기 위해 지원되고 최적화됩니다.
  • databricks-claude-sonnet-4
  • databricks-gpt-oss-20b
  • databricks-gpt-oss-120b
  • databricks-gemma-3-12b
  • databricks-llama-4-maverick
  • databricks-meta-llama-3-3-70b-instruct
  • databricks-meta-llama-3-1-8b-instruct
  • databricks-gte-large-en

다른 Databricks 호스팅 모델은 AI Functions와 함께 사용할 수 있지만 대규모 일괄 처리 유추 프로덕션 워크플로에는 권장되지 않습니다. 이러한 다른 모델은 토큰당 종량제 파운데이션 모델 API를 사용하여 실시간 유추에 사용할 수 있습니다.
이 기능을 사용하려면 Databricks Runtime 15.4 LTS 이상이 필요합니다. 엔드포인트 프로비저닝 또는 구성이 필요하지 않습니다. 이러한 모델을 사용하는 경우 적용 가능한 모델 개발자 라이선스 및 사용 약관 및 AI Functions 지역 가용성이 적용됩니다.
사용자 고유의 모델 가져오기 AI Functions를 사용하여 사용자 고유의 모델을 가져와서 쿼리할 수 있습니다. AI Functions는 실시간 유추 또는 일괄 처리 유추 시나리오에 대한 모델을 쿼리할 수 있도록 유연성을 제공합니다.

기본 모델에서 ai_query 사용

다음 예제에서는 Databricks에서 호스트하는 기본 모델을 사용하여 ai_query 사용하는 방법을 보여 줍니다.


SELECT text, ai_query(
    "databricks-meta-llama-3-3-70b-instruct",
    "Summarize the given text comprehensively, covering key points and main ideas concisely while retaining relevant details and examples. Ensure clarity and accuracy without unnecessary repetition or omissions: " || text
) AS summary
FROM uc_catalog.schema.table;

Notebook 예제: 일괄 처리 추론 및 구조적 데이터 추출

다음 예제 Notebook에서는 자동화된 추출 기술을 통해 원시 구조화되지 않은 데이터를 구성되고 사용 가능한 정보로 변환하는 데 사용하여 ai_query 기본 구조화된 데이터 추출을 수행하는 방법을 보여 줍니다. 또한 이 노트북은 Mosaic AI 에이전트 평가를 활용하여 실제 데이터(ground truth data)를 사용해 정확도를 평가하는 방법을 보여줍니다.

일괄 처리 유추 및 구조적 데이터 추출 Notebook

노트북 받기

기존 ML 모델과 함께 사용 ai_query

ai_query 완전히 사용자 지정 모델을 포함하여 기존 ML 모델을 지원합니다. 이러한 모델은 모델 서비스 엔드포인트에 배포되어야 합니다. 구문 세부 정보 및 매개 변수는 ai_query 함수 함수를 참조하세요.

SELECT text, ai_query(
  endpoint => "spam-classification",
  request => named_struct(
    "timestamp", timestamp,
    "sender", from_number,
    "text", text),
  returnType => "BOOLEAN") AS is_spam
FROM catalog.schema.inbox_messages
LIMIT 10

Notebook 예제: 개체명 인식을 위한 BERT를 활용한 일괄 추론

다음 Notebook은 BERT를 사용하는 기존 ML 모델 일괄 처리 유추 예제를 보여 있습니다.

BERT를 이용한 명명된 개체 인식을 위한 일괄 추론 Notebook

노트북 받기

기존 Python 워크플로에서 AI Functions 사용

AI 함수는 기존 Python 워크플로에 쉽게 통합할 수 있습니다.

다음에서는 ai_query의 출력을 출력 테이블에 기록합니다.


df_out = df.selectExpr(
  "ai_query('databricks-meta-llama-3-3-70b-instruct', CONCAT('Please provide a summary of the following text: ', text), modelParameters => named_struct('max_tokens', 100, 'temperature', 0.7)) as summary"
)
df_out.write.mode("overwrite").saveAsTable('output_table')

다음은 요약된 텍스트를 표에 씁니다.

df_summary = df.selectExpr("ai_summarize(text) as summary")
df_summary.write.mode('overwrite').saveAsTable('summarized_table')

프로덕션 워크플로에서 AI Functions 사용

대규모 일괄 처리 유추의 경우 작업별 AI 함수 또는 범용 함수 ai_query 를 Lakeflow Spark 선언적 파이프라인, Databricks 워크플로 및 구조적 스트리밍과 같은 프로덕션 워크플로에 통합할 수 있습니다. 이를 통해 프로덕션 등급 처리를 대규모로 수행할 수 있습니다. 예제 및 세부 정보는 일괄 처리 유추 파이프라인 배포 를 참조하세요.

AI 함수 진행률 모니터링

완료 또는 실패한 유추 수를 파악하고 성능 문제를 해결하려면 쿼리 프로필 기능을 사용하여 AI Functions의 진행률을 모니터링할 수 있습니다.

Databricks Runtime 16.1 ML 이상의 작업 영역의 SQL 편집기 쿼리 창에서 다음을 수행합니다.

  1. 원시 결과 창 아래쪽에서 실행--- 링크를 선택합니다. 성능 창이 오른쪽에 나타납니다.
  2. 쿼리 프로필을 클릭하여 성능 세부 정보를 확인합니다.
  3. AI 쿼리 클릭하여 완료 및 실패한 유추 수와 요청이 완료되는 데 걸린 총 시간을 포함하여 특정 쿼리에 대한 메트릭을 확인합니다.

AI 기능 진행률 모니터

AI 함수 워크로드에 대한 비용 보기

AI 함수 비용은 MODEL_SERVING 제공 유형에서 BATCH_INFERENCE 제품의 일부로 기록됩니다. 배치 추론 워크로드의 비용 보기에 대한 예제 쿼리를 참조하세요.

비고

ai_parse_document 비용은 AI_FUNCTIONS 제품의 일부로 기록됩니다. 예제 쿼리 의 실행에 대한 ai_parse_document 비용 보기를 참조하세요.

일괄 처리 유추 워크로드에 대한 비용 보기

다음 예제에서는 작업, 컴퓨팅, SQL 웨어하우스 및 Lakeflow Spark 선언적 파이프라인을 기반으로 일괄 처리 유추 워크로드를 필터링하는 방법을 보여 줍니다.

AI Functions를 사용하는 일괄 추론 워크로드의 비용을 확인하는 방법에 대한 일반적인 예시는 모델 서비스 비용 모니터링을 참조하세요.

Jobs

다음 쿼리는 시스템 테이블을 사용하여 system.workflow.jobs 일괄 처리 유추에 사용되는 작업을 보여줍니다. 시스템 테이블을 사용하여 작업 비용 및 성능 모니터링을 참조하세요.


SELECT *
FROM system.billing.usage u
  JOIN system.workflow.jobs x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.job_id = x.job_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Compute

다음은 시스템 테이블을 사용하여 일괄 처리 유추에 사용되는 클러스터를 system.compute.clusters 보여 줍니다.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Lakeflow Spark 선언적 파이프라인

다음은 system.lakeflow.pipelines 시스템 테이블을 사용하여 일괄 추론에 사용되는 Lakeflow Spark 선언적 파이프라인을 보여 줍니다.

SELECT *
FROM system.billing.usage u
  JOIN system.lakeflow.pipelines x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

SQL 웨어하우스

다음은 시스템 테이블을 사용하여 일괄 처리 추론에 사용되는 SQL 웨어하우스를 보여 줍니다 system.compute.warehouses.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

실행 비용 보기 ai_parse_document

다음 예제에서는 청구 시스템 테이블을 쿼리하여 ai_parse_document 작업 비용을 보는 방법을 보여 줍니다.


SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
  AND u.billing_origin_product = "AI_FUNCTIONS"
  AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";