Microsoft Fabric의 AI 기능은 한 줄의 코드df.ai.<function_name>()로 대형 판다나 PySpark DataFrame에 한 줄의 LLM 기반 변환을 적용합니다. 수백 개의 비동기 추론 호출을 수행하면서 행 단위의 콘텐츠 격리를 유지함으로써 높은 동시성을 유지합니다. 이 접근법은 비정형 텍스트와 문서에서 데이터를 빠르게 풍부하게 하고, 분류하며, 요약하고, 추출할 수 있게 해줍니다.
이 표를 사용해 이 개요 문서 또는 pandas 및 PySpark의 자세한 문서에 있는 예제로 바로 이동하세요.
| Function | Description | 자세한 설명서 |
|---|---|---|
ai.analyze_sentiment |
입력 텍스트의 감정 상태를 검색합니다. 예제. | 판다스, 파이스파크 |
ai.classify |
레이블에 따라 입력 텍스트를 분류합니다. 예제. | 판다스, 파이스파크 |
ai.embed |
입력 텍스트에 대한 벡터 포함을 생성합니다. 예제. | 판다스, 파이스파크 |
ai.extract |
위치, 이름 또는 사용자 지정 엔터티와 같은 필드를 추출합니다. 예제. | 판다스, 파이스파크 |
ai.fix_grammar |
맞춤법, 문법 및 문장 부호를 수정합니다. 예제. | 판다스, 파이스파크 |
ai.generate_response |
지침에 따라 응답을 생성합니다. 예제. | 판다스, 파이스파크 |
ai.similarity |
텍스트 의미를 한 값 또는 다른 열과 비교합니다. 예제. | 판다스, 파이스파크 |
ai.summarize |
텍스트, 파일 또는 행 데이터를 요약합니다. 예제. | 판다스, 파이스파크 |
ai.translate |
입력 텍스트를 다른 언어로 번역합니다. 예제. | 판다스, 파이스파크 |
pandas 또는 PySpark를 사용하는 노트북, SQL 쿼리 및 Dataflow Gen2에서 AI Functions를 사용할 수 있습니다. Fabric 기본 제공 모델에 대한 엔드포인트 설정을 처리합니다.
Fabric 환경에서 AI 함수 사용
AI 함수는 여러 Fabric 환경에서 사용할 수 있습니다.
- Notebooks: pandas 및 PySpark API를 사용하여 데이터 과학 및 데이터 엔지니어링 워크플로에서 DataFrame을 보강합니다.
-
웨어하우스 및 SQL 분석 엔드포인트: 웨어하우스 또는 SQL 분석 엔드포인트에서 AI Functions를 사용하여 T-SQL 쿼리에서 직접 SQL 버전 함수를
ai_summarizeai_classifyai_generate_response호출합니다. - Dataflow Gen2: Dataflow Gen2에서 Fabric AI Prompt 사용하여 파워 쿼리에서 AI가 생성한 열을 추가합니다.
- T-SQL 코드 - Fabric Data Warehouse, Lakehouse용 SQL 엔드포인트 또는 미러링된 데이터베이스에서 실행되는 T-SQL 스크립트나 노트북, 프로시저, 함수 또는 외부 애플리케이션을 사용하여 AI 기능을 호출할 수 있습니다. 이 방법은 분석가와 개발자가 AI 기능을 SQL 기반 데이터 파이프라인과 쿼리에 직접 내장하여 노트북 환경으로 전환하지 않고도 접근할 수 있게 합니다.
다중 모드 AI 함수 사용
다중 모드 AI 함수는 텍스트 값 외에도 이미지, PDF 및 텍스트 파일을 처리합니다. PDF를 요약하거나, 이미지를 분류하거나, 문서 필드를 추출하거나, 파일 콘텐츠에 접지된 응답을 생성하는 데 사용합니다.
지원되는 파일 형식에는 JPG/JPEG, PNG, 정적 GIF, WebP, PDF, MD, TXT, CSV, TSV, JSON, XML, PY 및 기타 텍스트 파일이 포함됩니다. pandas에서 column_type="path"를 설정하거나 PySpark에서 input_col_type 또는 col_types를 설정합니다. 예제는 AI Functions에서 다중 모드 입력 사용을 참조하세요.
Prerequisites
- Fabric 기본 제공 AI 엔드포인트에서 AI Functions를 사용하려면 관리자가 Copilot 및 Azure OpenAI 통해 제공되는 기타 기능에 대한 테넌트 스위치를 사용하도록 설정해야 합니다.
- 위치에 따라 지역 간 처리를 위해 테넌트 설정을 사용하도록 설정해야 할 수 있습니다. Azure OpenAI Service에 사용 가능한 지역에 대해 자세히 알아봅니다.
- 유료 Fabric 용량(F2 이상 또는 P 에디션)이 필요합니다.
Note
- AI 함수는 Fabric 런타임 1.3 이상에서 지원됩니다.
- AI 함수 [pandas, PySpark, Dataflow Gen2, Datawarehouse SQL]은 기본값으로
gpt-5-mini설정되어reasoning_effortlow있습니다. 이 모델에는 400,000개의 토큰 컨텍스트 창과 128,000개의 토큰 최대 출력이 있습니다. 모델 제한 및 속도는 언어 모델 테이블을 참조하세요. - AI Functions는 사용자 프롬프트, 입력 데이터 또는 출력을 기록하거나 저장하지 않습니다.
모델 및 공급자
AI 함수는 기본적으로 기본 제공 Fabric 엔드포인트를 사용합니다. pandas 및 PySpark AI Functions가 chat_completions 또는 responses API를 지원하는 모든 LLM을 사용하도록 구성할 수도 있으며, 여기에는 다음이 포함됩니다.
- Azure OpenAI 모델
- Microsoft Qwen, Kimi, Grok, LLaMA, Mistral 등과 같은 Foundry 모델이 있습니다.
구성 옵션은 pandas를 사용하여 AI 함수 사용자 지정 및 PySpark를 사용하여 AI 함수 사용자 지정을 참조하세요.
AI 함수 설정
AI Functions는 Python 런타임에서는 pandas를 지원하고, PySpark 런타임에서는 PySpark를 지원합니다. 런타임에 필요한 패키지만 설치합니다.
종속성 설치
| Runtime | 종속성 |
|---|---|
| pandas(Python 런타임) |
synapseml_internal 및 synapseml_core wheel 파일을 설치합니다. SDK 네이티브 클라이언트 동작 또는 Pydantic 응답 형식 예제가 필요한 경우에만 버전 1.99.5 이상을 설치 openai 합니다. |
| pandas (PySpark 4.1 및 Python 3.13이 포함된 Fabric Runtime 2.0) |
nest_asyncio를 일시적으로 설치하세요. SDK 네이티브 클라이언트 동작 또는 Pydantic 응답 형식 예제가 필요한 경우에만 버전 1.99.5 이상을 설치 openai 합니다. |
| pandas (기타 PySpark 런타임) | 대부분의 사용에는 설치가 필요하지 않습니다. SDK 네이티브 클라이언트 동작 또는 Pydantic 응답 형식 예제가 필요한 경우에만 버전 1.99.5 이상을 설치 openai 합니다. |
| PySpark(PySpark 런타임) | 설치가 필요하지 않습니다. |
| T-SQL (Data Warehouse 및 SQL Analytics 엔드포인트 런타임) | 설치가 필요하지 않습니다. |
Note
-
nest_asyncio를 설치하는 것은 Fabric Runtime 2.0의 pandas AI 함수용 임시 호환성 패치입니다. 이 요구사항은 향후 업데이트에서 삭제될 예정입니다. - PySpark AI 기능은 Fabric Spark 런타임에서 추가 설치 단계를 필요로 하지 않습니다.
Fabric Runtime 2.0은 Python 3.13과 PySpark 4.1을 기반으로 하며, 이 패키지를 네이티브로 포함 nest_asyncio 하지 않습니다. 이 런타임에서 pandas AI 기능을 사용하려면 임시 호환성 패치로 설치 nest_asyncio 하세요. 향후 업데이트에서는 이 요구사항이 제거될 예정인데, pandas AI Functions는 Fabric Runtime 2.0에 미리 설치된 최신 nest_asyncio2 패키지를 사용할 수 있기 때문입니다.
# Temporary compatibility patch for Fabric Runtime 2.0.
%pip install -q nest_asyncio 2>/dev/null
# Optional: install openai version 1.99.5 or later for SDK-native client behavior.
%pip install -q openai 2>/dev/null
# Optional: install openai version 1.99.5 or later for SDK-native client behavior.
%pip install -q openai 2>/dev/null
# Install latest versions of AI Functions library whl
!wget -q https://aka.ms/fabric-aifunctions-whl -O synapseml_internal-latest-py3-none-any.whl
!wget -q https://aka.ms/fabric-synapseml-core-whl -O synapseml_core-latest-py3-none-any.whl
# openai version 1.99.5 or later is included for SDK-native client behavior.
# To keep the environment lightweight, remove "openai" from the install command.
%pip install -q openai synapseml_internal-latest-py3-none-any.whl synapseml_core-latest-py3-none-any.whl
필수 라이브러리 가져오기
런타임에 대한 AI Functions 라이브러리를 가져옵니다.
파일 및 스키마에 도우미 함수 사용
AI 함수에는 멀티모달 워크플로에 대한 도우미가 포함됩니다.
-
aifunc.load: 폴더에서 구조화된 테이블로 파일을 수집합니다. 프롬프트 또는 스키마를 제공할 수 있습니다. -
aifunc.list_file_paths: 모든 AI 함수에 대한 입력으로 사용할 폴더의 파일 URL 및 경로를 열거합니다. -
ai.infer_schema:ai.extract와 함께 사용하기 위해 파일 내용에서 추출 스키마를 추론합니다.
예제는 AI Functions에서 다중 모드 입력 사용을 참조하세요.
AI 함수 적용
다음 예제에서는 pandas 및 PySpark에 대한 핵심 AI 함수를 보여 줍니다. PySpark AI Functions는 Fabric Spark 클러스터에서 분산 Spark 변환으로 실행됩니다.
Note
대부분의 AI 함수는 pandas에서는 column_type="path"를, PySpark에서는 input_col_type/col_types="path"를 사용한 파일 경로를 지원합니다. 예제는 AI Functions에서 다중 모드 입력 사용을 참조하세요.
Tip
기본 Python 모델은 gpt-5-mini이며, reasoning_effort="low"이 함께 제공됩니다. 모델을 변경하거나 설정을 조정하려면 pandas 구성 또는 PySpark 구성을 참조하세요.
ai.analyze_sentiment: 감정 검색
함수는 ai.analyze_sentiment 각 입력을 양수, 음수, 혼합 또는 중립으로 레이블을 지정합니다. 사용자 지정 레이블을 제공할 수도 있습니다.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
"The cleaning spray permanently stained my beautiful kitchen counter. Never again!",
"I used this sunscreen on my vacation to Florida, and I didn't get burned at all. Would recommend.",
"I'm torn about this speaker system. The sound was high quality, though it didn't connect to my roommate's phone.",
"The umbrella is OK, I guess."
], columns=["reviews"])
df["sentiment"] = df["reviews"].ai.analyze_sentiment()
display(df)
ai.classify: 텍스트 분류
이 함수는 ai.classify 사용자가 제공한 레이블을 사용하여 입력 텍스트를 분류합니다.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
"This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
"Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
"Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
], columns=["descriptions"])
df["category"] = df['descriptions'].ai.classify("kitchen", "bedroom", "garage", "other")
display(df)
ai.embed: 벡터 임베딩 생성
ai.embed 함수는 텍스트를 의미를 포착하는 숫자 벡터로 변환합니다. 유사도 검색, 정보 검색 및 기계 학습 워크플로에 임베딩을 사용하세요.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
"This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
"Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
"Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
], columns=["descriptions"])
df["embed"] = df["descriptions"].ai.embed()
display(df)
ai.extract: 엔터티 추출
이 함수는 ai.extract 입력 텍스트에서 이름, 위치 또는 사용자 지정 엔터티와 같은 필드를 추출합니다.
구조적 레이블
형식화된 추출이 필요할 때 사용합니다 ExtractLabel . 형식화된 필드, 열거형, 배열, 중첩 개체, nullable 값, 필수 속성 및 additionalProperties=false같은 JSON 스키마 구문을 지원합니다. 예를 들어 pandas 또는 PySpark를 참조하세요.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
"MJ Lee lives in Tucson, AZ, and works as a software engineer for Microsoft.",
"Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey."
], columns=["descriptions"])
df_entities = df["descriptions"].ai.extract("name", "profession", "city")
display(df_entities)
ai.fix_grammar: 문법 수정
함수는 ai.fix_grammar 맞춤법, 문법 및 문장 부호를 수정합니다.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
"There are an error here.",
"She and me go weigh back. We used to hang out every weeks.",
"The big picture are right, but you're details is all wrong."
], columns=["text"])
df["corrections"] = df["text"].ai.fix_grammar()
display(df)
ai.generate_response: 사용자 지정 사용자 프롬프트 적용
함수는 ai.generate_response 프롬프트 및 행 데이터에서 사용자 지정 텍스트를 만듭니다.
선택적 매개 변수
JSON 개체, JSON 스키마 또는 Pydantic 모델을 포함하여 구조화된 출력이 필요한 경우에 사용합니다 response_format . 예를 들어 pandas 또는 PySpark를 참조하세요.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
("Scarves"),
("Snow pants"),
("Ski goggles")
], columns=["product"])
df["response"] = df.ai.generate_response("Write a short, punchy email subject line for a winter sale.")
display(df)
ai.similarity: 유사성 계산
이 함수는 ai.similarity 각 입력 값을 참조 값 하나 또는 다른 열의 값과 비교합니다. 점수 범위는 정반대 의미의 -1에서 동일한 의미의 1까지입니다.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
("Bill Gates", "Technology"),
("Satya Nadella", "Healthcare"),
("Joan of Arc", "Agriculture")
], columns=["names", "industries"])
df["similarity"] = df["names"].ai.similarity(df["industries"])
display(df)
ai.summarize: 텍스트 요약
이 함수는 ai.summarize 텍스트, 파일 콘텐츠, 단일 열 또는 각 행의 모든 열을 요약합니다.
지침을 사용하여 요약 사용자 지정
톤, 길이, 대상 그룹 또는 포커스를 제어하는 데 사용합니다 instructions . 예를 들어 pandas 또는 PySpark를 참조하세요.
# This code uses AI. Always review output for mistakes.
df= pd.DataFrame([
("Microsoft Teams", "2017",
"""
The ultimate messaging app for your organization—a workspace for real-time
collaboration and communication, meetings, file and app sharing, and even the
occasional emoji! All in one place, all in the open, all accessible to everyone.
"""),
("Microsoft Fabric", "2023",
"""
An enterprise-ready, end-to-end analytics platform that unifies data movement,
data processing, ingestion, transformation, and report building into a seamless,
user-friendly SaaS experience. Transform raw data into actionable insights.
""")
], columns=["product", "release_year", "description"])
df["summaries"] = df["description"].ai.summarize()
display(df)
ai.translate: 텍스트 번역
이 함수는 ai.translate 텍스트를 다른 언어로 번역합니다.
# This code uses AI. Always review output for mistakes.
df = pd.DataFrame([
"Hello! How are you doing today?",
"Tell me what you'd like to know, and I'll do my best to help.",
"The only thing we have to fear is fear itself."
], columns=["text"])
df["translations"] = df["text"].ai.translate("spanish")
display(df)
PySpark AI 함수 연결하기
PySpark AI Functions는 결과 스키마에 바인딩된 df.ai 접근자를 유지하는 DataFrame을 반환합니다. 중간 데이터 프레임을 구체화하지 않고 변환을 연결합니다.
# This code uses AI. Always review output for mistakes.
output = (
df
.ai.summarize(input_col="review_text", output_col="summary")
.ai.classify(
labels=["service", "cleanliness", "location", "other"],
input_col="summary",
output_col="category",
)
)
display(output)
ai.stats를 사용하여 사용 통계 보기
AI에서 생성된 시리즈 또는 DataFrame을 사용하여 ai.stats 사용량 및 실행 메트릭을 검사합니다.
ai.stats 는 다음과 같은 통계를 사용하여 DataFrame을 반환합니다.
-
num_successful: AI 함수에서 성공적으로 처리된 행 수입니다. -
num_exceptions: 실행 중에 예외가 발생한 행 수입니다. 이러한 행은 .의aifunc.ExceptionResult인스턴스로 표시됩니다. -
num_unevaluated: 이전 예외로 인해 평가를 계속할 수 없어 처리되지 않은 행의 수입니다. 이러한 행은 .의aifunc.NotEvaluatedResult인스턴스로 표시됩니다. -
num_harmful: Azure OpenAI 콘텐츠 필터에 의해 차단된 행 수입니다. 이러한 행은 .의aifunc.FilterResult인스턴스로 표시됩니다. -
cached_tokens: 캐시된 총 입력 토큰 수입니다. -
input_tokens: AI 함수 호출에 사용되는 총 입력 토큰 수입니다. -
output_tokens: 모델에서 생성된 총 출력 토큰 수입니다. -
reasoning_tokens: 추론 모델에서 사용하는 총 추론 토큰 수입니다. -
model: AI 함수 호출에 사용되는 모델 배포 이름입니다.
출력은 다음 표와 같을 수 있습니다.
| num_successful | num_exceptions | num_unevaluated | num_harmful | cached_tokens | input_tokens | output_tokens | 추론 토큰 | 클라이언트 유형 | input_types | 모델 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 0 | 0 | 0 | 0 | 555 | 4 | 0 | fabric_llm_endpoint | {"text": 2} |
gpt-5-mini |
Tip
사용량, 오류 패턴 및 토큰 사용량을 추적하는 데 사용합니다 ai.stats .
용량 한도에 도달한 행은 인스턴스 aifunc.CapacityExceededResult로 표시됩니다. pandas 워크플로에서는 aifunc.split_results를 사용하여 성공한 출력과 결과가 없는 항목을 구분하면, 용량 제한에 걸린 행을 검사하고 용량을 사용할 수 있게 되거나 제한 문제가 해결된 후 해당 행을 다시 시도할 수 있습니다.
비용 투명성
pandas AI Functions는 실행 중에 progress_bar_mode="stats"토큰 수 및 용량 단위 예상치를 표시할 수 있습니다. PySpark의 경우 결과 DataFrame에 사용합니다 df.ai.stats .
Fabric 용량 메트릭 앱은 모델 호출 사용량을 AI Functions 작업으로 보고합니다. 자세한 내용은 AI 함수에 대한 청구를 참조하세요.
평가 및 가속화
엔드투엔드 pandas 및 PySpark 예제에는 AI Functions Starter Notebooks를 사용하세요. AI Functions Eval Notebooks를 사용하여 프로덕션 전에 출력 품질을 평가합니다.
관련 콘텐츠
- AI Functions와 함께 멀티모달 입력을 사용합니다.
- pandas 또는 PySpark를 사용하여 AI Functions를 사용자 지정합니다.
- AI Functions 요금 청구 이해하기.
- AI Functions 스타터 노트북 또는 AI Functions Eval 노트북을 사용해 보세요.
- 웨어하우스 또는 SQL 분석 엔드포인트에서 AI Functions를 사용합니다.
- Dataflow Gen2에서
Fabric AI 프롬프트를 사용합니다.