AI 函数设计为开箱即用,默认配置基础模型和设置。 但是,想要更灵活的配置的用户可以使用一些额外的代码行来自定义其解决方案。
重要
- AI 函数用于 Fabric Runtime 1.3(Spark 3.5)、(Python 3.11) 及更高版本。
- 请查看此概述文章中 的先决条件,包括为了暂时使用 AI 功能而需要的库安装 。
- 尽管基础模型可以处理多种语言,但大多数 AI 函数经过优化,可用于英语文本。
配置
默认情况下,AI 函数由 Fabric 中的内置 AI 终结点提供支持。 大型语言模型(LLM)的设置在 aifunc.Conf 类中是全局配置的。 如果在 pandas 中使用 AI 函数,则可以使用该 aifunc.Conf 类修改其中部分或全部设置:
| 参数 | Description | 违约 |
|---|---|---|
concurrency可选 |
一个 int ,指定要与对模型的异步请求并行处理的最大行数。 较高的值可以加快处理时间(如果容量可以容纳)。 它可以设置为 1,000。 | 200 |
embedding_deployment_name可选 |
一个 字符串 ,指定支持 AI 函数的嵌入模型部署的名称。 | text-embedding-ada-002 |
model_deployment_name可选 |
一个 字符串 ,指定支持 AI 函数的语言模型部署的名称。 可以从 Fabric 支持的模型中进行选择。 | gpt-4.1-mini |
reasoning_effort可选 |
用于 gpt-5 系列模型来确定它们应使用的推理令牌数量。 可以设置为 openai.NOT_GIVEN 或字符串值“最小”、“低”、“中”或“高”。 |
openai.NOT_GIVEN |
seed可选 |
一个 int ,指定要用于基础模型的响应的种子。 默认行为会为每行随机选择一个种子值。 选择常量值可提高试验的可重现性。 | openai.NOT_GIVEN |
temperature可选 |
一个浮点数,介于0.0和1.0之间,表示基础模型的温度。 较高的温度会增加模型的输出的随机性或创造力。 |
0.0 |
timeout可选 |
一个 int ,指定 AI 函数引发超时错误之前的秒数。 默认情况下,没有超时。 | None |
top_p可选 |
一个 浮点数 介于 0 和 1 之间。 较低的值(例如 0.1)将模型限制为仅考虑最可能令牌,从而使输出更具确定性。 更高的值(例如,0.9)允许通过包括更广泛的令牌,实现更多样化和创造性的输出。 | openai.NOT_GIVEN |
use_progress_bar可选 |
显示 AI 函数在输入数据上的处理进度的 tqdm 进度条。 在引擎盖下使用 tqdm。 布尔值,可以设置为 True 或 False。 |
True |
verbosity可选 |
gpt-5 系列模型用于控制输出长度。 可以设置为 openai.NOT_GIVEN 或字符串值为 “low”、“medium” 或 “high”。 |
openai.NOT_GIVEN |
小窍门
- 如果模型部署容量可以容纳更多请求,则设置更高的 并发 值可以加快处理时间。
下面的代码示例演示如何全局重写 aifunc.Conf 设置,以便它们适用于会话中的所有 AI 函数调用:
# This code uses AI. Always review output for mistakes.
aifunc.default_conf.temperature = 0.5 # Default: 0.0
aifunc.default_conf.concurrency = 300 # Default: 200
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 参数。 下面的代码示例通过自定义温度值,仅针对aifunc函数调用修改ai.translate默认设置。 (调用 ai.analyze_sentiment 仍使用默认值,因为未设置任何自定义值)。
# This code uses AI. Always review output for mistakes.
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)
下面的代码示例演示如何为所有函数配置 gpt-5 和其他推理模型。
aifunc.default_conf.model_deployment_name = "gpt-5"
aifunc.default_conf.temperature = 1 # gpt-5 only accepts default value of temperature
aifunc.default_conf.top_p = 1 # gpt-5 only accepts default value of top_p
aifunc.default_conf.verbosity = "low"
aifunc.default_conf.reasoning_effort = "low"
定制模型
若要使用非默认 AI 模型,可以选择 Fabric 支持的另一个模型或配置自定义模型终结点。
选择另一个受支持的大型语言模型
选择 Fabric 支持的一个模型,使用 model_deployment_name 参数进行配置。 可以通过以下两种方式之一进行配置:
全局的
aifunc.Conf类中。 示例:aifunc.default_conf.model_deployment_name = "<model deployment name>"在每个 AI 函数调用中单独调用:
df["translations"] = df["text"].ai.translate( "spanish", conf=Conf(model_deployment_name="<model deployment name>"), )
选择另一个受支持的嵌入模型
选择 Fabric 支持的一个模型,使用 embedding_deployment_name 参数进行配置。 可以通过以下两种方式之一进行配置:
全局的
aifunc.Conf类中。 示例:aifunc.default_conf.embedding_deployment_name = "<embedding deployment name>"在每个 AI 函数调用中单独执行。 示例:
df["embedding"] = df["text"].ai.embed( conf=Conf(embedding_deployment_name="<embbedding deployment name>"), )
配置自定义模型终结点
默认情况下,AI 函数使用 Fabric LLM 终结点 API 进行统一计费和轻松设置。
您可以选择通过使用您的端点和密钥来设置 Azure OpenAI 或与 OpenAI 兼容的客户端,以使用您自己的模型端点。 以下示例演示如何使用 Microsoft AI Foundry(前称 Azure OpenAI)资源,示例代码如 aifunc.setup 所示。
from openai import AzureOpenAI
# Example to create client for Microsoft AI Foundry OpenAI models
client = AzureOpenAI(
azure_endpoint="https://<ai-foundry-resource>.openai.azure.com/",
api_key="<API_KEY>",
api_version=aifunc.session.api_version, # Default "2025-04-01-preview"
max_retries=aifunc.session.max_retries, # Default: sys.maxsize ~= 9e18
)
aifunc.setup(client) # Set the client for all functions.
小窍门
- 可以将自定义 AI Foundry 资源配置为使用 OpenAI 以外的模型。
以下代码示例使用占位符值来演示如何使用自定义Microsoft AI Foundry 资源替代内置 Fabric AI 终结点,以使用 OpenAI 以外的模型:
重要
- 对 Microsoft AI Foundry 模型的支持仅限于支持
Chat CompletionsAPI 和接受response_formatJSON 架构参数的模型 - 输出可能因所选 AI 模型的行为而异。 请谨慎探索其他模型的功能
- 基于嵌入的 AI 函数
ai.embed,ai.similarity在使用 AI Foundry 资源时不受支持
from openai import OpenAI
# Example to create client for Azure AI Foundry models
client = OpenAI(
base_url="https://<ai-foundry-resource>.services.ai.azure.com/openai/v1/",
api_key="<API_KEY>",
max_retries=aifunc.session.max_retries, # Default: sys.maxsize ~= 9e18
)
aifunc.setup(client) # Set the client for all functions.
aifunc.default_conf.model_deployment_name = "grok-4-fast-non-reasoning"
相关内容
使用
ai.analyze_sentiment检测情绪。使用
ai.classify对文本进行分类。使用
ai_extract提取实体。使用
ai.fix_grammar修复语法。使用
ai.generate_response回答自定义用户提示。使用
ai.similarity计算相似性。用
ai.summarize汇总文本。使用
ai.translate翻译文本。详细了解 完整的 AI 函数集。
我们错过了所需的功能吗? 在面料创意论坛上提出建议。