หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้แสดงวิธีการใช้ SDK ไคลเอ็นต์ Python เพื่อเพิ่มตัวแทนข้อมูล Fabric ไปยังเว็บแอปและไคลเอ็นต์อื่นๆ โดยใช้การรับรองความถูกต้องของเบราว์เซอร์แบบโต้ตอบ คุณลงชื่อเข้าใช้ผ่านเบราว์เซอร์ด้วยข้อมูลประจําตัว Microsoft Entra ID ของคุณ และตัวแทนข้อมูลจะทํางานด้วยสิทธิ์ของคุณ ด้วยการเพิ่มตัวแทนข้อมูลไปยังแอปภายนอก คุณสามารถสร้างอินเทอร์เฟซแบบกําหนดเอง ฝังข้อมูลเชิงลึกในเวิร์กโฟลว์ที่มีอยู่ ทําให้รายงานเป็นแบบอัตโนมัติ และให้ผู้ใช้เรียกใช้การสืบค้นข้อมูลภาษาธรรมชาติ วิธีการนี้ให้ความสามารถของตัวแทนข้อมูลในขณะที่คุณควบคุมประสบการณ์ของผู้ใช้และสถาปัตยกรรมแอปได้อย่างเต็มที่
สําคัญ
รหัสในเอกสารนี้และที่เก็บไคลเอ็นต์ภายนอกของ Fabric Data Agent ใช้ OpenAI Assistants API (beta.assistants, beta.threads, beta.threads.runs) ซึ่ง OpenAI เลิกใช้แล้วโดยมีวันที่ปิดระบบในวันที่ 26 สิงหาคม 2026 รหัสปัจจุบันยังคงใช้งานได้จนถึงวันที่ 26 สิงหาคม 2026 แต่วางแผนสําหรับการย้ายข้อมูลไปยัง ปลายทาง MCP ก่อนวันที่นี้
สําคัญ
เมื่อคุณใช้ SDK ไคลเอ็นต์ Python เพื่อเพิ่มตัวแทนข้อมูล Fabric ไปยังเว็บแอปหรือไคลเอ็นต์อื่นๆ การตอบกลับที่ส่งคืนโดยตัวแทนข้อมูล Fabric อาจถูกส่งออกนอกขอบเขตการปฏิบัติตามข้อกําหนดหรือภูมิภาคทางภูมิศาสตร์ของ Fabric ข้อกําหนดและนโยบายการจัดการข้อมูลของเว็บแอปหรือไคลเอ็นต์ที่เกี่ยวข้องจะควบคุมวิธีการประมวลผลและจัดเก็บการตอบกลับเหล่านี้
ข้อกําหนดเบื้องต้น
- ความจุ ความจุ Fabric F2 หรือสูงกว่า หรือความจุ Power BI Premium ต่อความจุ (P1 หรือสูงกว่า) ที่เปิดใช้งาน Microsoft Fabric
- เปิดใช้งานการประมวลผลข้ามภูมิศาสตร์และการจัดเก็บข้ามภูมิศาสตร์สําหรับ AI ตามข้อกําหนดที่อธิบายไว้ในการตั้งค่าผู้เช่าตัวแทนข้อมูล Fabric
- แหล่งข้อมูลเหล่านี้อย่างน้อยหนึ่งแหล่ง พร้อมข้อมูล: คลังสินค้า เลคเฮาส์ แบบจําลองความหมายของ Power BI ฐานข้อมูล KQL ฐานข้อมูลมิเรอร์ หรือออนโทโลยี คุณต้องมีสิทธิ์อ่านแหล่งข้อมูล
ตั้งค่าสภาพแวดล้อมของคุณใน VS Code
โคลนหรือดาวน์โหลดที่เก็บไคลเอ็นต์ภายนอก Fabric Data Agent จากนั้นเปิดใน VS Code และเรียกใช้ไคลเอ็นต์ตัวอย่าง
สร้างและเปิดใช้งานสภาพแวดล้อมเสมือน Python (แนะนํา) และติดตั้งการขึ้นต่อกันที่จําเป็น
python -m venv .venvเปิดใช้งานสภาพแวดล้อมเสมือน
- <ค 0>Windows
- MacOS/ลินุกซ์
.venv\Scripts\activate
ติดตั้งการพึ่งพา
เรียกใช้คําสั่งต่อไปนี้เพื่อติดตั้งการขึ้นต่อกัน:
pip install -r requirements.txt
Note
- แพ็กเกจ
azure-identityที่รวมอยู่ในrequirements.txtช่วยให้คุณตรวจสอบสิทธิ์กับ Microsoft Entra ID ได้ -
InteractiveBrowserCredentialจากazure-identityแพ็คเกจ ให้เปิดเบราว์เซอร์เพื่อให้คุณสามารถลงชื่อเข้าใช้ด้วยบัญชี Microsoft Entra ID ได้ ใช้สําหรับการพัฒนาภายในเครื่องหรือแอปที่อนุญาตให้ลงชื่อเข้าใช้แบบโต้ตอบ
กําหนดค่าไคลเอ็นต์
เลือกวิธีใดวิธีหนึ่งต่อไปนี้เพื่อตั้งค่าที่ต้องการ (TENANT_ID และ DATA_AGENT_URL):
ตั้งค่าในเชลล์ของคุณ แทนที่ข้อความตัวยึดในวงเล็บเหลี่ยมด้วยค่าของคุณเอง
export TENANT_ID=<your-azure-tenant-id>
export DATA_AGENT_URL=<your-fabric-data-agent-url>
ดูเอกสารประกอบเพื่อค้นหา URL ของตัวแทนข้อมูลที่เผยแพร่ ทําตามคําแนะนําเพื่อค้นหารหัสผู้เช่าของคุณ
รับรอง
ใช้คลาส InteractiveBrowserCredential เพื่อรับรองความถูกต้องกับ Microsoft Entra ID ในเบราว์เซอร์
from azure.identity import InteractiveBrowserCredential
from fabric_data_agent_client import FabricDataAgentClient
credential = InteractiveBrowserCredential()
สร้างไคลเอ็นต์ตัวแทนข้อมูล
client = FabricDataAgentClient(credential=credential)
Note
- แพคเกจ
fabric-data-agent-clientมี SDK ไคลเอ็นต์สําหรับการเชื่อมต่อกับตัวแทนข้อมูล Fabric - ไคลเอ็นต์ Python ใช้การรับรองความถูกต้องของเบราว์เซอร์แบบโต้ตอบ: เมื่อคุณเรียกใช้สคริปต์ เบราว์เซอร์เริ่มต้นของคุณจะเปิดขึ้นเพื่อให้คุณลงชื่อเข้าใช้ผู้เช่าที่โฮสต์ตัวแทนข้อมูล Fabric
ถามคําถามกับตัวแทนข้อมูล
หลังจากที่คุณรับรองความถูกต้องแล้ว ให้โต้ตอบกับตัวแทนข้อมูลโดยใช้ไคลเอ็นต์ Python
response = client.ask("What were the total sales last quarter?")
print(f"Response: {response}")
เมธอดจะ client.ask ส่งคําถามของคุณไปยังตัวแทนข้อมูลและส่งคืนออบเจ็กต์พร้อมคําตอบ คุณสามารถดูขั้นตอนที่ตัวแทนข้อมูลดําเนินการและคิวรีที่เกี่ยวข้องที่สร้างขึ้นเพื่อรับคําตอบ
run_details = client.get_run_details("What were the total sales last quarter?")
messages = run_details.get('messages', {}).get('data', [])
assistant_messages = [msg for msg in messages if msg.get('role') == 'assistant']
print("Answer:", assistant_messages[-1])
ตัวเลือก: ตรวจสอบขั้นตอนและคําค้นหาที่เกี่ยวข้อง
ตรวจสอบขั้นตอนที่ตัวแทนข้อมูลดําเนินการเพื่อให้ได้คําตอบ รวมถึงข้อผิดพลาดระหว่างการดําเนินการ
for step in run_details['run_steps']['data']:
tool_name = "N/A"
if 'step_details' in step and step['step_details'] and 'tool_calls' in step['step_details']:
tool_calls = step['step_details']['tool_calls']
if tool_calls and len(tool_calls) > 0 and 'function' in tool_calls[0]:
tool_name = tool_calls[0]['function'].get('name', 'N/A')
print(f"Step ID: {step.get('id')}, Type: {step.get('type')}, Status: {step.get('status')}, Tool Name: {tool_name}")
if 'error' in step:
print(f" Error: {step['error']}")
ผลลัพธ์นี้ช่วยให้คุณเข้าใจว่าตัวแทนสร้างการตอบสนองอย่างไร และให้ความโปร่งใสเมื่อคุณทํางานกับข้อมูลของคุณในไคลเอ็นต์ Python
เนื้อหาที่เกี่ยวข้อง
- Fabric แนวคิดของตัวแทนข้อมูล
- Fabric SDK ตัวแทนข้อมูล
- บทช่วยสอนแบบ end-to-end ของตัวแทนข้อมูล