Использование Azure OpenAI в Fabric с пакетом SDK для Python (предварительная версия)

В этой статье показано, как использовать Azure OpenAI в Fabric с пакетом SDK OpenAI Python SDK. Сведения о распределенной обработке больших наборов данных см. в разделе Use Azure OpenAI с SynapseML. Для самого простого подхода с использованием функций ИИ Pandas, см. раздел Используйте Azure OpenAI с функциями ИИ.

Предпосылки

Среда выполнения по умолчанию не включает пакет SDK для Python для OpenAI, поэтому его необходимо установить.

%pip install -U openai

Создание клиента, прошедшего проверку подлинности Fabric

Чтобы использовать Azure OpenAI в Fabric, создайте клиент с проверкой подлинности Fabric:

from synapse.ml.fabric.credentials import get_openai_httpx_sync_client
import openai

client = openai.AzureOpenAI(
    http_client=get_openai_httpx_sync_client(),
    api_version="2025-04-01-preview",
)

Этот клиент автоматически обрабатывает проверку подлинности при запуске в ноутбуках Fabric. Используйте этот клиент для всех последующих вызовов API.

Завершение чата

В примере, представленном здесь, показаны простые операции завершения чата. Полный справочник по API см. в разделе API завершения чата.

response = client.chat.completions.create(
    model="gpt-4.1",
    messages=[
        {
            "role": "user",
            "content": """Analyze the following text and return a JSON array of issue insights.

Each item must include:
- issue_brief (1 sentence)
- scenario
- severity (high | medium | low)
- verbatim_quotes (list)
- recommended_fix

Text:
We booked the hotel room in advance for our family trip. The check-in the great however the room service was slow and pool was closed

Return JSON only.
"""
        }
    ],
)
print(f"{response.choices[0].message.content}")

API ответов на запросы

API ответов — это рекомендуемый подход OpenAI для новых реализаций. Он обеспечивает улучшенное качество отклика и лучшую обработку структурированных выходных данных. Полный справочник по API см. в разделе API ответов.

response = client.responses.create(
    model="gpt-4.1",
    input=[
        {
            "role": "user",
            "content": "Explain quantum computing in simple terms."
        }
    ],
    store=False  # Fabric LLM endpoint does not support storage
)
print(f"{response.output_text}")

Замечание

Конечная точка LLM Fabric не поддерживает параметр store, установленный на True, или параметр previous_response_id.

Встраивания

Внедрение — это специальный формат представления данных, который machine learning модели и алгоритмы могут легко использовать. Он содержит семантический смысл текста с богатыми сведениями, представленный вектором чисел с плавающей запятой. Расстояние между двумя внедрениями в векторное пространство связано с семантическим сходством между двумя исходными входными данными. Полный справочник по API см. в разделе API внедрения.

response = client.embeddings.create(
    input="The food was delicious and the waiter...",
    model="text-embedding-ada-002",
)
print(response.data[0].embedding)

Доступные модели и ставки

Сведения о доступных моделях и нормах расхода см. в разделе «Нормы расхода для инструментов Foundry».

Документация по Fabric

Документация по Python SDK от OpenAI