Поделиться через


Настройка конфигурации функций ИИ

Функции ИИ в общедоступной предварительной версии позволяют пользователям использовать возможности собственных языковых моделей Fabric (LLM) для преобразования и обогащения корпоративных данных. Они предназначены для мгновенного использования с заранее настроенной моделью и параметрами по умолчанию. Однако пользователи, которые хотят более гибких конфигураций, могут настраивать свои решения с помощью нескольких дополнительных строк кода.

Важный

Эта функция доступна в предварительной версиидля использования в среде выполнения Fabric 1.3 и более поздних версий.

  • Ознакомьтесь с предварительными требованиями в этой обзорной статье, включая установки библиотек , которые необходимы для временного использования функций ИИ.
  • Хотя базовая модель может обрабатывать несколько языков, большинство функций ИИ оптимизированы для использования на английском языке текстов.
  • Во время первоначального внедрения функций искусственного интеллекта пользователи временно ограничены 1000 запросами в минуту через встроенную конечную точку Fabric для ИИ.

Настройка функций ИИ с помощью pandas

По умолчанию функции ИИ основаны на встроенной конечной точке ИИ Fabric. Параметры LLM глобально настраиваются в классе aifunc.Conf. При работе с функциями искусственного интеллекта в pandas можно использовать класс aifunc.Conf для изменения некоторых или всех этих параметров:

Параметр Описание по умолчанию
model_deployment_name
Необязательный
Строка , указывающая имя развертывания языковой модели, которая управляет функциями ИИ. gpt-35-turbo-0125
embedding_deployment_name
Необязательный
Строка , указывающая имя развертывания внедренной модели, которая управляет функциями ИИ. text-embedding-ada-002
temperature
Необязательный
Число с плавающей запятой между 0,0 и 1,0, которое обозначает температуру базовой модели. Более высокие температуры увеличивают случайность и творческий потенциал выходных данных модели. 0.0
seed
Необязательный
Объект int, указывающий начальное значение, используемое для ответа базовой модели. Поведение по умолчанию случайным образом выбирает начальное значение для каждой строки. Выбор константного значения повышает воспроизводимость экспериментов. openai. NOT_GIVEN
timeout
Необязательный
Значение int, указывающее количество секунд, прежде чем функция ИИ вызовет ошибку тайм-аута. По умолчанию нет времени ожидания. Нет
max_concurrency
Необязательный
int, указывающий максимальное количество строк, которые можно обрабатывать параллельно при выполнении асинхронных запросов к модели. Более высокие значения ускоряют время обработки (если у вас достаточно ресурса для этого). 4

В следующем примере кода показано, как переопределить параметры 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)

Эти параметры также можно настроить для каждого отдельного вызова функции. Каждая функция ИИ принимает необязательный параметр conf. Следующий пример кода изменяет параметры по умолчанию aifunc только для вызова функции ai.translate с применением заданного значения температуры. (Вызов 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)

Чтобы заменить пользовательский ресурс Azure OpenAI LLM вместо собственного LLM Fabric, можно использовать функцию 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

Если вы работаете с функциями искусственного интеллекта в PySpark, можно использовать класс OpenAIDefaults для изменения базовой языковой модели, которая управляет функциями. В следующем примере кода используются значения заполнителей, чтобы показать, как можно переопределить встроенную конечную точку ИИ Fabric с помощью настраиваемого развертывания 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 это значение отображается в разделе Управление ресурсами > развертывания моделей. На портале Azure AI Foundry значение отображается на странице Развертывания. По умолчанию развертывание конечной точки LLM в родной среде Fabric настроено на gpt-35-turbo-0125.
subscription_key Ключ API, используемый для аутентификации с вашим ресурсом LLM. На портале Azure это значение отображается в разделе Ключи и конечная точка.
URL URL-адрес, указывающий конечную точку ресурса LLM. На портале Azure это значение отображается в разделе Ключи и конечная точка. Например: "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 по умолчанию.

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.
  • Узнайте больше о полном наборе функций ИИ здесь.
  • Мы упустили какую-то нужную вам функцию? Сообщите нам об этом! Предложите его на форуме Fabric Ideas