ai_query는 SQL 또는 Python 지원되는 AI 모델을 직접 쿼리할 수 있는 범용 AI 함수입니다. 단일 작업에 맞게 특별히 빌드되고 최적화된 작업별 AI Functions와 달리 모델, ai_query 프롬프트 및 매개 변수를 완전히 제어할 수 있습니다.
전체 구문 및 매개 변수 참조는 함수를 참조 ai_query 하세요.
Tip
계정에 Unity AI Gateway 베타 미리 보기가 사용하도록 설정된 경우 Azure Databricks 제공 엔드포인트에 대한 ai_query 요청이 Unity AI Gateway를 통해 자동으로 라우팅됩니다. 이렇게 하면 일괄 처리 유추 워크로드에 대한 사용량을 추적 할 수 있습니다. 자세한 내용은 쿼리 엔드포인트를 ai_query 참조하세요.
사용 시기 ai_query
Databricks는 목표와 일치하는 경우 작업별 AI 함수 로 시작하는 것이 좋습니다. 작업별 함수가 요구 사항을 충족하지 않는 경우에 사용합니다 ai_query . 예를 들어 다음을 수행해야 하는 경우
- 프롬프트, 모델 매개 변수 또는 출력 형식을 보다 정확하게 제어
- 사용자 지정, 미세 조정 또는 외부 모델 쿼리
- 처리량 또는 품질 최적화를 위한 유연성이 필요합니다.
모범 사례
- Databricks 호스팅 모델을 사용합니다. 프로비전된 처리량 엔드포인트 대신 Databricks에서 호스트되는
databricks-기본 모델 엔드포인트(접두사)를 사용합니다. 이러한 엔드포인트는 완전히 관리되며 프로비전 또는 구성 없이 자동으로 확장됩니다. - 일괄 처리 유추에 최적화된 모델을 선택합니다. Databricks는 처리량이 높은 일괄 처리 워크로드에 대한 특정 모델을 최적화합니다. 최적화되지 않은 모델을 사용하면 처리량이 줄어들고 작업 완료 시간이 길어질 수 있습니다. 일괄 처리 최적화 모델의 전체 목록은 지원되는 모델을 참조하세요.
- 단일 쿼리로 전체 데이터 세트를 제출합니다. AI 함수는 병렬 처리, 재시도 및 크기 조정을 자동으로 처리합니다. 데이터를 작은 일괄 처리로 수동으로 분할하면 처리량을 줄일 수 있습니다.
- 대규모 워크로드를 위해
failOnError를false로 설정하십시오. 이렇게 하면 작업이 실패한 행에 대한 오류 메시지를 완료하고 반환할 수 있으므로 전체 데이터 세트를 다시 처리하지 않고도 성공적인 결과를 유지할 수 있습니다.
지원되는 모델
ai_query 는 Databricks 호스팅 모델, 프로비전된 처리량 모델, 사용자 지정 모델 및 외부 모델을 지원합니다.
다음 표에는 지원되는 모델 유형, 연결된 모델 및 각각에 대한 엔드포인트 구성 요구 사항을 제공하는 모델이 요약되어 있습니다.
| 유형 | 설명 | 지원되는 모델 | 요구 사항 |
|---|---|---|---|
| Databricks 호스팅 모델 | Azure Databricks 이러한 기본 모델을 호스트하고 ai_query 사용하여 쿼리할 수 있는 미리 구성된 엔드포인트를 제공합니다. 각 Model Serving 기능에서 지원되는 모델과 해당 모델의 리전별 가용성은 Model Serving의 지원되는 파운데이션 모델을 참조하세요. |
모델 제공에서 지원되는 기본 모델의 전체 목록은 모델 제공에서 지원되는 기본 모델을 참조하세요. 이러한 모델은 일괄 처리 유추 및 프로덕션 워크플로를 시작하기 위해 지원되고 최적화됩니다.
OpenAI 및 Google Gemini 모델은 Databricks에서 제공하는 ADI 서비스를 통해서만 사용할 수 있습니다. Azure Databricks 환경에서 이러한 모델에 액세스하려면 ADI Services 참조하세요. 다른 Azure Databricks 호스팅 모델은 AI Functions에서 사용할 수 있지만 대규모 일괄 처리 유추 프로덕션 워크플로에는 권장되지 않습니다. 이러한 다른 모델은 토큰당 종량제 파운데이션 모델 API를 사용하여 실시간 유추에 사용할 수 있습니다. |
이 기능을 사용하려면 Databricks Runtime 15.4 LTS 이상이 필요합니다. 엔드포인트 프로비저닝 또는 구성이 필요하지 않습니다. 이러한 모델을 사용하는 경우 적용 가능한 모델 용어 및 AI Functions 지역 가용성이 적용됩니다. |
| 프로비전된 처리량 모델 | AI Functions는 모델 제공에 배포된 프로비전된 처리량 모델에서 작동합니다. |
|
|
| 사용자 지정 모델 및 외부 모델 | 사용자 고유의 사용자 지정 또는 외부 모델을 가져와서 AI Functions를 사용하여 쿼리할 수 있습니다. AI Functions는 실시간 유추 또는 일괄 처리 유추 시나리오에 대한 모델을 쿼리할 수 있도록 유연성을 제공합니다. |
|
|
기본 모델과 함께 사용 ai_query
다음 예제에서는 ai_query Azure Databricks 호스팅하는 기초 모델에서 사용하는 방법을 보여 줍니다.
- 구문 세부 정보 및 매개 변수는 함수를 참조
ai_query하세요. - 다중 모드 입력 쿼리 예제는 다중 모드 입력을 참조하세요.
-
고급 사용 사례에 대한 매개 변수를 구성하는 방법에 대한 지침은 다음과 같은 고급 시나리오에 대한 예제를 참조하세요.
-
를 사용하여 오류 처리
failOnError - Azure Databricks의 구조화된 출력 쿼리 응답을 위한 구조화된 출력을 지정하는 방법입니다.
-
를 사용하여 오류 처리
SQL
SELECT text, ai_query(
"databricks-gpt-oss-120b",
"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;
Python
df_out = df.selectExpr(
"ai_query('databricks-gpt-oss-120b', 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')
Notebook 예제: 일괄 처리 추론 및 구조적 데이터 추출
다음 예제 Notebook에서는 자동화된 추출 기술을 통해 원시 구조화되지 않은 데이터를 구성되고 사용 가능한 정보로 변환하는 데 사용하여 ai_query 기본 구조화된 데이터 추출을 수행하는 방법을 보여 줍니다. 이 노트북에서는 에이전트 평가를 활용하여 'ground truth' 데이터를 사용하여 정확성을 평가하는 방법을 보여줍니다.
일괄 처리 유추 및 구조적 데이터 추출 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 모델 일괄 처리 유추 예제를 보여 있습니다.