ใช้ Azure OpenAI ใน Fabric ร่วมกับ OpenAI Python SDK (ตัวอย่าง)

Fabric รองรับสองวิธีในการเรียกใช้โมเดลภาษาขนาดใหญ่ (LLMs) ที่สร้างไว้ล่วงหน้าด้วยอินเทอร์เฟซ Python ที่เข้ากันได้กับ OpenAI:

  • ใช้ OpenAI SDK พร้อมการตรวจสอบสิทธิ์ Fabric
  • นําเข้าฟังก์ชัน AI และใช้ไคลเอนต์ที่รองรับ OpenAI แบบซิงโครนัสหรืออะซิงโครนัสที่มาพร้อมกับ Fabric ไคลเอนต์ในตัวจะเปิดเผย API SDK ของ OpenAI Python โดยไม่ต้องติดตั้งหรือตรวจสอบสิทธิ์

ทั้งสองตัวเลือกรองรับ Responses, Chat Completions และ Embeddings APIs

สําหรับการประมวลผลแบบกระจายของชุดข้อมูลขนาดใหญ่ โปรดดู Azure ใช้ OpenAI กับ SynapseML สําหรับการแปลงที่สร้างไว้ล่วงหน้าบน pandas หรือ PySpark DataFrames ดูที่ Use Azure OpenAI with AI Functions

ข้อกำหนดเบื้องต้น

เลือกวิธีสร้างไคลเอนต์

ตัวเลือก ตั้งค่า เวลาที่ใช้
OpenAI SDK ติดตั้งแพ็กเกจopenaiและสร้างAzureOpenAIไคลเอนต์ที่มีการตรวจสอบสิทธิ์ Fabric ใช้ตัวเลือกนี้เมื่อคุณต้องการทํางานโดยตรงกับ OpenAI SDK
ไคลเอนต์ Fabric ในตัว นําเข้าฟังก์ชัน AI และเข้าถึง client_sync หรือ client_async. ใช้ตัวเลือกนี้เมื่อคุณต้องการไคลเอนต์ Python ที่รองรับ OpenAI ซึ่งติดตั้ง ตรวจสอบความถูกต้อง และกําหนดค่าสําหรับ Fabric แล้ว

ทําการตั้งค่าทั้งสองให้เสร็จก่อนรันตัวอย่าง API

ใช้ OpenAI SDK

ติดตั้งแพ็กเกจ OpenAI Python ในสมุดบันทึก:

%pip install openai==1.99.5

สร้างAzureOpenAIไคลเอนต์ด้วยไคลเอนต์ HTTP ที่ผ่านการรับรอง 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",
)

ไคลเอนต์ใช้อินเทอร์เฟซ OpenAI SDK ขณะที่ Fabric จัดการการตรวจสอบสิทธิ์

ใช้ไคลเอนต์ที่รองรับ OpenAI ในตัว

Fabric มีไคลเอนต์ที่เปิดเผยอินเทอร์เฟซ OpenAI Python SDK อยู่แล้ว นําเข้าฟังก์ชัน AI เพื่อเข้าถึง:

import synapse.ml.aifunc as aifunc

client = aifunc.session.client_sync
async_client = aifunc.session.client_async
  • คุณไม่จําเป็นต้องติดตั้งแพ็กเกจ สร้างทรัพยากร Azure OpenAI กําหนดค่าปลายทาง หรือให้คีย์ API
  • ใช้ client_sync สําหรับการโทรแบบซิงโครนัส
  • ใช้กับclient_asyncawaitการโทรแบบอะซิงโครนัส

ส่วนต่อไปนี้ใช้ตัวแปรซิงโครนัส client ที่สร้างโดยตัวเลือกใดก็ได้

API การตอบกลับ

ใช้ Responses API สําหรับแอปพลิเคชันสร้างข้อความใหม่ คุณสามารถป้อนข้อความหรือข้อความในรูปแบบข้อความและอ่านข้อความที่สร้างขึ้นจาก response.output_text. สําหรับรายละเอียด API โปรดดูที่เอกสารอ้างอิง Responses API

response = client.responses.create(
    model="gpt-5.1",
    input=[
        {
            "role": "user",
            "content": "Explain quantum computing in simple terms.",
        }
    ],
    store=False,
)
print(response.output_text)

Note

ปลายทาง Fabric ที่สร้างไว้ล่วงหน้าไม่รองรับstore=Trueหรือprevious_response_idพารามิเตอร์

การแชทเสร็จสมบูรณ์

ใช้ Chat Completions API เมื่อแอปพลิเคชันของคุณแสดงบทสนทนาเป็นรายการข้อความ สําหรับรายละเอียด API โปรดดูที่เอกสารอ้างอิง Chat Completions API

response = client.chat.completions.create(
    model="gpt-5.1",
    messages=[
        {
            "role": "user",
            "content": "Summarize the benefits of a lakehouse in one sentence.",
        }
    ],
)
print(response.choices[0].message.content)

การฝัง

การฝังหมายถึงความหมายเชิงความหมายของข้อความในฐานะเวกเตอร์ของเลขทศนิยมลอยตัว แอปพลิเคชันจะเปรียบเทียบเวกเตอร์เหล่านี้สําหรับการค้นหาเชิงความหมาย การจัดกลุ่ม การแนะนํา และงานที่เน้นความคล้ายคลึงกันอื่น ๆ สําหรับรายละเอียด API โปรดดูที่ Embeddings API อ้างอิง

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

ใช้ไคลเอนต์แบบอะซิงโครนัส

client_asyncไคลเอนต์ในตัวรองรับ API เดียวกับไคลเอนต์แบบซิงโครนัส มันมาพร้อมกับ Fabric ดังนั้นคุณไม่จําเป็นต้องติดตั้งหรือกําหนดค่าไคลเอนต์ OpenAI แบบอะซิงโครนัส เพิ่ม await ก่อนแต่ละคําขอ:

response = await async_client.responses.create(
    model="gpt-5.1",
    input="Explain quantum computing in simple terms.",
    store=False,
)
print(response.output_text)

chat_response = await async_client.chat.completions.create(
    model="gpt-5.1",
    messages=[
        {
            "role": "user",
            "content": "Summarize the benefits of a lakehouse in one sentence.",
        }
    ],
)
print(chat_response.choices[0].message.content)

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

รุ่นและอัตราที่มีจําหน่าย

สําหรับข้อมูลเกี่ยวกับรุ่นและอัตราการใช้ที่มีอยู่ โปรดดู อัตราการใช้เครื่องมือโรงหล่อ

เอกสารประกอบผ้า

เอกสาร API ที่เข้ากันได้กับ OpenAI