現在パブリック プレビュー段階にある AI 関数を使用すると、ユーザーは Fabric のネイティブ大規模言語モデル (LLM) の機能を利用して、エンタープライズ データ の変換と強化をできます。 これらは、基になるモデルと設定が既定で構成され、すぐに使用できるように設計されています。 ただし、より柔軟な構成を必要とするユーザーは、いくつかの追加のコード行でソリューションをカスタマイズできます。
重要
この機能は、Fabric 1.3 ランタイム 以降で使用するために、プレビューにあります。
- この概要記事 の前提条件 (AI 関数を使用するために一時的に必要な ライブラリのインストール など) を確認します。
- 基になるモデルは複数の言語を処理できますが、ほとんどの AI 関数は英語のテキストで使用できるように最適化されています。
- AI 関数の最初のロールアウト中、ユーザーは Fabric の組み込み AI エンドポイントを使用して 1 分あたり 1,000 件の要求に一時的に制限されます。
pandas を使用した AI 関数のカスタマイズ
既定では、AI 関数は Fabric の組み込みの AI エンドポイントを利用します。 LLM の設定は、aifunc.Conf
クラスでグローバルに構成されます。 pandas で AI 関数を使用する場合は、aifunc.Conf
クラスを使用して、次の設定の一部またはすべてを変更できます。
パラメーター | 説明 | 既定値 |
---|---|---|
model_deployment_name 任意 |
AI 関数を実行する言語モデルデプロイの名前を指定する 文字列。 | gpt-35-turbo-0125 |
embedding_deployment_name 任意 |
AI 関数を利用する埋め込みモデルデプロイの名前を指定する 文字列。 | text-embedding-ada-002 |
temperature 任意 |
基になるモデルの温度を指定する、0.0 から 1.0 までの浮動小数点。 温度が高いほど、モデルの出力のランダム性または創造性が向上します。 | 0.0 |
seed 任意 |
基になるモデルの応答に使用するシードを指定する int。 既定の動作では、各行のシード値がランダムに選択されます。 定数値を選択すると、実験の再現性が向上します。 | openai.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)
ネイティブの Fabric 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
クラスを使用して、関数を実行する基になる言語モデルを変更できます。 例として、次のコード サンプルではプレースホルダー値を使用して、組み込みの Fabric AI エンドポイントをカスタム Azure OpenAI LLM デプロイでオーバーライドする方法を示します。
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 の [リソース管理] > [モデル デプロイ]の下にこの値が表示されます。 Azure AI Foundry ポータルの デプロイメント ページに値が表示されます。 既定では、ネイティブ Fabric 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.0 から 1.0 までの数値。 温度が高いほど、基になるモデルの出力のランダム性または創造性が向上します。 既定では、Fabric LLM エンドポイントの温度は 0.0に設定されます。 |
次のコード サンプルでは、各 OpenAIDefaults
パラメーターを取得して出力できます。
print(defaults.get_deployment_name())
print(defaults.get_subscription_key())
print(defaults.get_URL())
print(defaults.get_temperature())
パラメーターは、変更したのと同じくらい簡単にリセットすることもできます。 次のコード サンプルでは、既定の Fabric LLM エンドポイントを使用するように AI 関数ライブラリをリセットします。
defaults.reset_deployment_name()
defaults.reset_subscription_key()
defaults.reset_URL()
defaults.reset_temperature()
関連コンテンツ
ai.similarity
を使用して類似性を計算します。ai.analyze_sentiment
を使用してセンチメントを検出します。ai.classify
を使用してテキストを分類します。ai_extract
を使用してエンティティを抽出します。ai.fix_grammar
を使用して文法を修正します。ai.summarize
を使用してテキストを集計します。ai.translate
を使用してテキストを翻訳します。ai.generate_response
を使用してカスタム ユーザー プロンプトに応答します。- AI 関数の完全なセットの詳細については、を参照。
- 必要な機能が見逃されましたか? お知らせください。 Fabric Ideas フォーラムで提案します