다음을 통해 공유


AI 함수의 구성 사용자 지정

현재 공개 미리 보기 상태인 AI 함수를 사용하면 사용자가 Fabric의 기본 LLM(대규모 언어 모델)의 기능을 활용하여 엔터프라이즈 데이터를 변환하고보강할 수 있습니다. 기본 모델과 설정이 사전에 구성되어 즉시 작동하도록 설계되었습니다. 그러나 보다 유연한 구성을 원하는 사용자는 몇 줄의 추가 코드로 솔루션을 사용자 지정할 수 있습니다.

중요하다

이 기능은 미리 보기로, Fabric 1.3 런타임 이상에서 사용하기 위해 제공됩니다.

  • 이 개요 문서 에서는 AI 함수를 사용하는 데 일시적으로 필요한 라이브러리 설치를 포함한 필수 구성 요소를 검토합니다.
  • 기본 모델은 여러 언어를 처리할 수 있지만 대부분의 AI 함수는 영어 텍스트에 사용하도록 최적화되어 있습니다.
  • AI 함수를 처음 출시하는 동안 사용자는 패브릭의 기본 제공 AI 엔드포인트를 사용하여 분당 1,000개의 요청으로 일시적으로 제한됩니다.

pandas를 사용하여 AI 함수 사용자 지정

기본적으로 AI 함수는 패브릭의 기본 제공 AI 엔드포인트에 의해 구동됩니다. LLM의 설정은 aifunc.Conf 클래스에서 전역적으로 구성됩니다. pandas에서 AI 함수를 사용하는 경우 aifunc.Conf 클래스를 사용하여 이러한 설정의 일부 또는 전부를 수정할 수 있습니다.

매개 변수 설명 기본
model_deployment_name
선택적
AI 기능을 지원하는 언어 모델 배포의 이름을 지정하는 문자열. gpt-35-turbo-0125
embedding_deployment_name
선택적
AI 함수를 구동하는 임베딩 모델 배포의 이름을 지정하는 문자열. 텍스트-임베딩-아다-002
temperature
선택적
기본 모델의 온도를 지정하는 0.01.0 사이의 부동 소수. 온도가 높을수록 모델 출력의 임의성 또는 창의성이 높아질 수 있습니다. 0.0
seed
선택적
기본 모델의 응답에 사용될 시드를 지정하는 정수. 기본 동작은 각 행에 대한 시드 값을 임의로 선택합니다. 상수 값을 선택하면 실험의 재현성이 향상됩니다. 오픈아이. NOT_GIVEN
timeout
선택적
AI 함수가 시간 초과 오류를 발생시키기 전의 시간을 초 단위로 지정하는 정수형 변수 int. 기본적으로 시간 제한은 없습니다. 없음
max_concurrency
선택적
모델에 대한 비동기 요청과 병렬로 처리할 최대 행 수를 지정하는 int. 값이 높을수록 처리 시간이 빨라집니다(용량이 이를 수용할 수 있는 경우). 4

다음 코드 샘플에서는 지정된 세션의 모든 AI 함수 호출에 적용되도록 aifunc.Conf 설정을 전역적으로 재정의하는 방법을 보여줍니다.

# This code uses AI. Always review output for mistakes. 
# Read terms: https://azure.microsoft.com/support/legal/preview-supplemental-terms/

aifunc.default_conf.temperature = 0.5 # Default: 0.0
aifunc.default_conf.max_concurrency = 10 # Default: 4

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")
df["sentiment"] = df["text"].ai.analyze_sentiment()
display(df)

각 개별 함수 호출에 대해 이러한 설정을 사용자 지정할 수도 있습니다. 각 AI 함수는 선택적 conf 매개 변수를 허용합니다. 다음 코드 샘플에서는 사용자 지정 온도 값을 사용하여 ai.translate 함수 호출에 대한 기본 aifunc 설정을 수정합니다. (사용자 지정 값이 설정되지 않으므로 ai.analyze_sentiment 호출은 여전히 기본값을 사용합니다.)

# This code uses AI. Always review output for mistakes. 
# Read terms: https://azure.microsoft.com/support/legal/preview-supplemental-terms/

from synapse.ml.aifunc import Conf

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", conf=Conf(temperature=0.5))
df["sentiment"] = df["text"].ai.analyze_sentiment()
display(df)

네이티브 패브릭 LLM 대신 사용자 지정 Azure OpenAI LLM 리소스를 대체하려면 다음 코드 샘플과 같이 aifunc.setup 함수를 사용자 고유의 클라이언트와 함께 사용할 수 있습니다.

from openai import AzureOpenAI

# Example of creating a custom client
client = AzureOpenAI(
    api_key="your-api-key",
    azure_endpoint="https://your-openai-endpoint.openai.azure.com/",
    api_version=aifunc.session.api_version,  # Default "2024-10-21"
    max_retries=aifunc.session.max_retries,  # Default: sys.maxsize ~= 9e18
)

aifunc.setup(client)  # Set the client for all functions

PySpark를 사용하여 AI 함수 사용자 지정

PySpark에서 AI 함수를 사용하는 경우 OpenAIDefaults 클래스를 사용하여 함수를 구동하는 기본 언어 모델을 수정할 수 있습니다. 예를 들어, 다음 코드 샘플에서는 플레이스홀더 값을 사용하여 사용자 지정 Azure OpenAI LLM 배포를 통해 기본 제공 Fabric AI 엔드포인트를 재정의하는 방법을 설명합니다.

from synapse.ml.services.openai import OpenAIDefaults
defaults = OpenAIDefaults()

defaults.set_deployment_name("your-deployment-name")
defaults.set_subscription_key("your-subscription-key")
defaults.set_URL("https://your-openai-endpoint.openai.azure.com/")
defaults.set_temperature(0.05)

배포 이름, 구독 키, 엔드포인트 URL 및 사용자 지정 온도 값으로 고유한 값을 대체할 수 있습니다.

매개 변수 설명
deployment_name Azure OpenAI 또는 Azure AI Foundry에서 모델 배포의 사용자 지정 이름을 지정하는 문자열 값입니다. Azure Portal에서 이 값은 Resource Management > 모델 배포아래에 표시됩니다. Azure AI Foundry 포털의 배포 페이지에 값이 표시됩니다. 기본적으로 네이티브 패브릭 LLM 엔드포인트 배포는 gpt-35-turbo-0125로 설정됩니다.
subscription_key LLM 리소스를 사용하여 인증하는 데 사용되는 API 키입니다. Azure Portal에서 이 값은 키 및 엔드포인트 섹션에 표시됩니다.
URL LLM 리소스의 엔드포인트를 지정하는 URL입니다. Azure Portal에서 이 값은 키 및 엔드포인트 섹션에 표시됩니다. 예: "https://your-openai-endpoint.openai.azure.com/".
temperature 0.01.0사이의 숫자 값입니다. 온도가 높을수록 기본 모델 출력의 임의성 또는 창의성이 증가합니다. 기본적으로 Fabric LLM 엔드포인트의 온도는 0.0설정됩니다.

다음 코드 샘플을 사용하여 각 OpenAIDefaults 매개 변수를 검색하고 인쇄할 수 있습니다.

print(defaults.get_deployment_name())
print(defaults.get_subscription_key())
print(defaults.get_URL())
print(defaults.get_temperature())

매개 변수를 수정할 때처럼 쉽게 다시 설정할 수도 있습니다. 다음 코드 샘플은 기본 패브릭 LLM 엔드포인트를 사용할 수 있도록 AI 함수 라이브러리를 다시 설정합니다.

defaults.reset_deployment_name()
defaults.reset_subscription_key()
defaults.reset_URL()
defaults.reset_temperature()