แชร์ผ่าน


แปลงและเสริมข้อมูลด้วยฟังก์ชัน AI

Microsoft Fabric AI Functions ช่วยให้ผู้เชี่ยวชาญทางธุรกิจทุกคน (ตั้งแต่นักพัฒนาไปจนถึงนักวิเคราะห์) สามารถแปลงและเพิ่มข้อมูลองค์กรของตนโดยใช้ Generative AI

ฟังก์ชัน AI ใช้โมเดลภาษาขนาดใหญ่ (LLM) ชั้นนําของอุตสาหกรรมสําหรับการสรุป การจัดประเภท การสร้างข้อความ และอื่นๆ ด้วยโค้ดบรรทัดเดียว คุณสามารถ:

  • ai.analyze_sentiment: ตรวจจับสภาวะทางอารมณ์ของข้อความที่ป้อน
  • ai.classify: จัดหมวดหมู่ข้อความที่ป้อนตามป้ายกํากับของคุณ
  • ai.embed: สร้างการฝังเวกเตอร์สําหรับข้อความที่ป้อน
  • ai.extract: แยกข้อมูลเฉพาะประเภทจากข้อความที่ป้อน (เช่น สถานที่หรือชื่อ)
  • ai.fix_grammar: แก้ไขการสะกด ไวยากรณ์ และเครื่องหมายวรรคตอนของข้อความที่ป้อน
  • ai.generate_response: สร้างคําตอบตามคําแนะนําของคุณเอง
  • ai.similarity: เปรียบเทียบความหมายของข้อความที่ป้อนด้วยค่าข้อความเดียว หรือกับข้อความในคอลัมน์อื่น
  • ai.summarize: รับบทสรุปของข้อความที่ป้อน
  • ai.translate: แปลข้อความที่ป้อนเป็นภาษาอื่น

คุณสามารถรวมฟังก์ชันเหล่านี้เป็นส่วนหนึ่งของเวิร์กโฟลว์วิทยาศาสตร์ข้อมูลและวิศวกรรมข้อมูล ไม่ว่าคุณจะทํางานกับแพนด้าหรือ Spark ไม่มีการกําหนดค่าโดยละเอียดและไม่มีการจัดการโครงสร้างพื้นฐานที่ซับซ้อน คุณไม่จําเป็นต้องมีความเชี่ยวชาญด้านเทคนิคเฉพาะ

Prerequisites

Note

  • ฟังก์ชัน AI ได้รับการสนับสนุนใน Fabric Runtime 1.3 และใหม่กว่า
  • ฟังก์ชัน AI จะมีค่าเริ่มต้นเป็น gpt-4.1-mini เว้นแต่คุณจะกําหนดค่าโมเดลอื่น เรียนรู้เพิ่มเติมเกี่ยวกับอัตราการเรียกเก็บเงินและอัตราการใช้
  • แม้ว่าโมเดลพื้นฐานจะสามารถจัดการได้หลายภาษา แต่ฟังก์ชัน AI ส่วนใหญ่ได้รับการปรับให้เหมาะสมสําหรับใช้กับข้อความภาษาอังกฤษ"

โมเดลและผู้ให้บริการ

ขณะนี้ฟังก์ชัน AI รองรับโมเดลและผู้ให้บริการที่กว้างขึ้นนอกเหนือจากโมเดล Azure OpenAI เริ่มต้น คุณสามารถกําหนดค่าฟังก์ชัน AI เพื่อใช้:

  • โมเดล Azure OpenAI
  • ทรัพยากร Azure AI Foundry (รวมถึงแบบจําลอง เช่น Claude และ LLaMA)

การเลือกรุ่นและผู้ให้บริการสามารถกําหนดค่าได้ผ่านการกําหนดค่าฟังก์ชัน AI สําหรับรายละเอียดเกี่ยวกับวิธีการตั้งค่าและกําหนดค่าโมเดลและผู้ให้บริการต่างๆ โปรดดูเอกสารการกําหนดค่าสําหรับ pandas และ PySpark

เริ่มต้นใช้งานฟังก์ชัน AI

ฟังก์ชัน AI สามารถใช้กับแพนด้า (รันไทม์ Python และ PySpark) และกับ PySpark (รันไทม์ PySpark) ขั้นตอนการติดตั้งและการนําเข้าที่จําเป็นสําหรับแต่ละขั้นตอนจะระบุไว้ในส่วนต่อไปนี้ ตามด้วยคําสั่งที่เกี่ยวข้อง

ประสิทธิภาพและการทํางานพร้อมกัน

ขณะนี้ฟังก์ชัน AI ทํางานด้วยการทํางานพร้อมกันเริ่มต้นที่เพิ่มขึ้นเป็น 200 ทําให้สามารถประมวลผลการดําเนินการ AI แบบขนานได้เร็วขึ้น คุณสามารถปรับแต่งการตั้งค่าการทํางานพร้อมกันต่อปริมาณงานเพื่อเพิ่มประสิทธิภาพตามความต้องการเฉพาะของคุณ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการกําหนดค่าการทํางานพร้อมกันและการตั้งค่าที่เกี่ยวข้องกับประสิทธิภาพอื่นๆ โปรดดู เอกสารประกอบการกําหนดค่าสําหรับ pandas และ PySpark

ติดตั้งการพึ่งพา

  • Pandas (รันไทม์ Python)
    • synapseml_internal และ synapseml_core จําเป็นต้องติดตั้งไฟล์ WHL (คําสั่งที่ให้ไว้ในเซลล์โค้ดต่อไปนี้)
    • openai จําเป็นต้องติดตั้งแพ็คเกจ (คําสั่งที่ให้ไว้ในเซลล์รหัสต่อไปนี้)
  • แพนด้า (รันไทม์ PySpark)
    • openai จําเป็นต้องติดตั้งแพ็คเกจ (คําสั่งที่ให้ไว้ในเซลล์รหัสต่อไปนี้)
  • PySpark (รันไทม์ PySpark)
    • ไม่จําเป็นต้องติดตั้ง
# The pandas AI functions package requires OpenAI version 1.99.5 or later
%pip install -q --force-reinstall openai==1.99.5 2>/dev/null

นําเข้าไลบรารีที่จําเป็น

เซลล์โค้ดต่อไปนี้นําเข้าไลบรารีฟังก์ชัน AI และการขึ้นต่อกัน

# Required imports
import synapse.ml.aifunc as aifunc
import pandas as pd

ใช้ฟังก์ชัน AI

แต่ละฟังก์ชันต่อไปนี้ช่วยให้คุณสามารถเรียกใช้ปลายทาง AI ในตัวใน Fabric เพื่อแปลงและเพิ่มข้อมูลด้วยโค้ดบรรทัดเดียว คุณสามารถใช้ฟังก์ชัน AI เพื่อวิเคราะห์ DataFrames หรือ Spark DataFrame ของ pandas ได้

Tip

เรียนรู้วิธี ปรับแต่งการกําหนดค่า ของฟังก์ชัน AI

การกําหนดค่าขั้นสูง: เมื่อใช้โมเดลตระกูล gpt-5 คุณสามารถกําหนดค่าตัวเลือกขั้นสูง เช่น reasoning_effort และverbosity ดูหน้าการกําหนดค่าสําหรับ แพนด้า และ PySpark สําหรับรายละเอียดเกี่ยวกับวิธีการตั้งค่าตัวเลือกเหล่านี้

ตรวจจับความเชื่อมั่นด้วย ai.analyze_sentiment

ฟังก์ชัน ai.analyze_sentiment จะเรียกใช้ AI เพื่อระบุว่าสถานะทางอารมณ์ที่แสดงโดยข้อความที่ป้อนเข้าเป็นบวก ลบ ผสม หรือเป็นกลาง หาก AI ไม่สามารถทําการกําหนดนี้ได้ เอาต์พุตจะถูกปล่อยให้ว่างเปล่า สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.analyze_sentimentกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.analyze_sentiment PySpark โปรดดูบทความนี้

พารามิเตอร์เพิ่มเติม

ขณะนี้ฟังก์ชันนี้ ai.analyze_sentiment รองรับพารามิเตอร์เสริมเพิ่มเติมที่ช่วยให้คุณสามารถปรับแต่งพฤติกรรมการวิเคราะห์ความคิดเห็นได้ พารามิเตอร์เหล่านี้ให้การควบคุมวิธีการตรวจหาและรายงานความคิดเห็นได้มากขึ้น สําหรับรายละเอียดเกี่ยวกับพารามิเตอร์ที่ใช้ได้ คําอธิบาย และค่าเริ่มต้น โปรดดูเอกสารเฉพาะฟังก์ชันสําหรับแพนด้าและ PySpark

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "The cleaning spray permanently stained my beautiful kitchen counter. Never again!",
        "I used this sunscreen on my vacation to Florida, and I didn't get burned at all. Would recommend.",
        "I'm torn about this speaker system. The sound was high quality, though it didn't connect to my roommate's phone.",
        "The umbrella is OK, I guess."
    ], columns=["reviews"])

df["sentiment"] = df["reviews"].ai.analyze_sentiment()
display(df)

สกรีนช็อตของกรอบข้อมูลที่มีคอลัมน์

จัดหมวดหมู่ข้อความด้วย ai.classify

ฟังก์ชัน ai.classify จะเรียกใช้ AI เพื่อจัดประเภทข้อความป้อนเข้าตามป้ายชื่อแบบกําหนดเองที่คุณเลือก สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้กับai.classifyแพนด้า ไปที่บทความนี้ สําหรับ ai.classify PySpark โปรดดูบทความนี้

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])

df["category"] = df['descriptions'].ai.classify("kitchen", "bedroom", "garage", "other")
display(df)

สกรีนช็อตของกรอบข้อมูลที่มีคอลัมน์

สร้างการฝังเวกเตอร์ด้วย ai.embed

ฟังก์ชันนี้ ai.embed เรียกใช้ AI เพื่อสร้างการฝังเวกเตอร์สําหรับข้อความที่ป้อน การฝังเวกเตอร์เป็นการแสดงข้อความเชิงตัวเลขที่จับความหมาย ทําให้มีประโยชน์สําหรับการค้นหาความคล้ายคลึงกัน เวิร์กโฟลว์การดึงข้อมูล และงานแมชชีนเลิร์นนิงอื่นๆ มิติของเวกเตอร์การฝังขึ้นอยู่กับรุ่นที่เลือก สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.embedกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.embed PySpark โปรดดูบทความนี้

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])
    
df["embed"] = df["descriptions"].ai.embed()
display(df)

สกรีนช็อตของกรอบข้อมูลที่มีคอลัมน์ 'descriptions' และ 'embed' คอลัมน์ 'ฝัง' มีเวกเตอร์ฝังตัวสําหรับคําอธิบาย

แยกเอนทิตีด้วย ai.extract

ฟังก์ชันนี้ ai.extract เรียกใช้ AI เพื่อสแกนข้อความที่ป้อนและดึงข้อมูลประเภทเฉพาะที่กําหนดโดยป้ายกํากับที่คุณเลือก (เช่น สถานที่หรือชื่อ) สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.extractกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.extract PySpark โปรดดูบทความนี้

ป้ายชื่อที่มีโครงสร้าง

ฟังก์ชันนี้ ai.extract สนับสนุนคําจํากัดความป้ายชื่อที่มีโครงสร้างผ่าน Schema ExtractLabel คุณสามารถให้ป้ายกํากับที่มีคําจํากัดความที่มีโครงสร้างซึ่งไม่เพียงแต่มีชื่อป้ายกํากับเท่านั้น แต่ยังรวมถึงข้อมูลและแอตทริบิวต์ของชนิดด้วย วิธีการที่มีโครงสร้างนี้ช่วยปรับปรุงความสอดคล้องของการแยกและอนุญาตให้ฟังก์ชันส่งคืนคอลัมน์เอาต์พุตที่มีโครงสร้างที่สอดคล้องกัน ตัวอย่างเช่น คุณสามารถระบุป้ายกํากับที่มีข้อมูลเมตาเพิ่มเติมเพื่อเป็นแนวทางในกระบวนการแยกข้อมูลได้อย่างแม่นยํายิ่งขึ้น ดูเอกสารประกอบโดยละเอียดสําหรับ แพนด้า และ PySpark สําหรับตัวอย่างการใช้ป้ายกํากับที่มีโครงสร้าง

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "MJ Lee lives in Tucson, AZ, and works as a software engineer for Microsoft.",
        "Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey."
    ], columns=["descriptions"])

df_entities = df["descriptions"].ai.extract("name", "profession", "city")
display(df_entities)

สกรีนช็อตแสดงกรอบข้อมูลใหม่ที่มีคอลัมน์ 'ชื่อ' 'อาชีพ' และ 'เมือง' ซึ่งมีข้อมูลที่ดึงมาจากกรอบข้อมูลเดิม

แก้ไขไวยากรณ์ด้วย ai.fix_grammar

ฟังก์ชัน ai.fix_grammar จะเรียกใช้ AI เพื่อแก้ไขการสะกด ไวยากรณ์ และเครื่องหมายวรรคตอนของข้อความที่ป้อนเข้า สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.fix_grammarกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.fix_grammar PySpark โปรดดูบทความนี้

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "There are an error here.",
        "She and me go weigh back. We used to hang out every weeks.",
        "The big picture are right, but you're details is all wrong."
    ], columns=["text"])

df["corrections"] = df["text"].ai.fix_grammar()
display(df)

ภาพหน้าจอแสดงกรอบข้อมูลที่มีคอลัมน์ 'ข้อความ' และคอลัมน์ 'การแก้ไข' ซึ่งมีข้อความจากคอลัมน์ข้อความที่มีไวยากรณ์ที่แก้ไขแล้ว

ตอบข้อความแจ้งของผู้ใช้ที่กําหนดเองด้วย ai.generate_response

ฟังก์ชัน ai.generate_response จะเรียกใช้ AI เพื่อสร้างข้อความแบบกําหนดเองตามคําแนะนําของคุณเอง สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.generate_responseกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.generate_response PySpark โปรดดูบทความนี้

พารามิเตอร์เพิ่มเติม

ขณะนี้ฟังก์ชันนี้ ai.generate_response รองรับ response_format พารามิเตอร์ที่ให้คุณขอเอาต์พุต JSON ที่มีโครงสร้าง คุณสามารถระบุ response_format='json' เพื่อรับการตอบกลับในรูปแบบ JSON นอกจากนี้ คุณสามารถจัดเตรียมสคีมา JSON เพื่อบังคับใช้โครงสร้างเอาต์พุตเฉพาะ เพื่อให้มั่นใจว่าการตอบสนองที่สร้างขึ้นนั้นสอดคล้องกับรูปร่างข้อมูลที่คุณคาดหวัง สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณต้องการเอาต์พุตที่คาดเดาได้และเครื่องอ่านได้จากฟังก์ชัน AI สําหรับตัวอย่างโดยละเอียดและรูปแบบการใช้งาน โปรดดูเอกสารประกอบสําหรับแพนด้าและ PySpark

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        ("Scarves"),
        ("Snow pants"),
        ("Ski goggles")
    ], columns=["product"])

df["response"] = df.ai.generate_response("Write a short, punchy email subject line for a winter sale.")
display(df)

สกรีนช็อตแสดงกรอบข้อมูลที่มีคอลัมน์ 'product' และ 'response' คอลัมน์ 'การตอบกลับ' ประกอบด้วยหัวเรื่องที่เจาะลึกสําหรับผลิตภัณฑ์

คํานวณความคล้ายคลึงกันด้วย ai.similarity

ฟังก์ชันจะ ai.similarity เปรียบเทียบค่าข้อความที่ป้อนเข้าแต่ละค่ากับข้อความอ้างอิงทั่วไปหนึ่งข้อความหรือค่าที่สอดคล้องกันในคอลัมน์อื่น (โหมดแบบคู่) ค่าคะแนนความคล้ายคลึงกันของผลลัพธ์นั้นสัมพันธ์กัน และสามารถอยู่ในช่วงตั้งแต่ -1 (ตรงกันข้าม) ถึง 1 (เหมือนกัน) คะแนน ของ บ่งชี้ 0 ว่าค่าไม่เกี่ยวข้องกันในความหมาย สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.similarityกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.similarity PySpark โปรดดูบทความนี้

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([ 
        ("Bill Gates", "Technology"), 
        ("Satya Nadella", "Healthcare"), 
        ("Joan of Arc", "Agriculture") 
    ], columns=["names", "industries"])
    
df["similarity"] = df["names"].ai.similarity(df["industries"])
display(df)

สกรีนช็อตของกรอบข้อมูลที่มีคอลัมน์ 'ชื่อ', 'อุตสาหกรรม' และ 'ความคล้ายคลึงกัน' คอลัมน์ 'ความคล้ายคลึงกัน' มีคะแนนความคล้ายคลึงกันสําหรับชื่อและอุตสาหกรรม

สรุปข้อความด้วย ai.summarize

ฟังก์ชัน ai.summarize จะเรียกใช้ AI เพื่อสร้างสรุปข้อความที่ป้อนเข้า (ค่าจากคอลัมน์เดียวของ DataFrame หรือค่าแถวในคอลัมน์ทั้งหมด) สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.summarizeกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.summarize PySpark โปรดดูบทความนี้

การปรับแต่งข้อมูลสรุปด้วยวิธีการ

ขณะนี้ฟังก์ชันนี้ ai.summarize รองรับ instructions พารามิเตอร์ที่ช่วยให้คุณสามารถควบคุมโทนเสียง ความยาว และโฟกัสของบทสรุปที่สร้างขึ้น คุณสามารถให้คําแนะนําที่กําหนดเองเพื่อเป็นแนวทางในการสร้างข้อมูลสรุป เช่น การระบุลักษณะ กลุ่มเป้าหมาย หรือระดับรายละเอียดที่เฉพาะเจาะจง เมื่อไม่มีการระบุคําสั่ง ฟังก์ชันจะใช้ลักษณะการสรุปเริ่มต้น สําหรับตัวอย่างของการใช้instructionsพารามิเตอร์ โปรดดูเอกสารประกอบโดยละเอียดสําหรับแพนด้าและ PySpark

# This code uses AI. Always review output for mistakes.

df= pd.DataFrame([
        ("Microsoft Teams", "2017",
        """
        The ultimate messaging app for your organization—a workspace for real-time 
        collaboration and communication, meetings, file and app sharing, and even the 
        occasional emoji! All in one place, all in the open, all accessible to everyone.
        """),
        ("Microsoft Fabric", "2023",
        """
        An enterprise-ready, end-to-end analytics platform that unifies data movement, 
        data processing, ingestion, transformation, and report building into a seamless, 
        user-friendly SaaS experience. Transform raw data into actionable insights.
        """)
    ], columns=["product", "release_year", "description"])

df["summaries"] = df["description"].ai.summarize()
display(df)

สกรีนช็อตที่แสดงกรอบข้อมูล คอลัมน์

แปลข้อความด้วย ai.translate

ฟังก์ชัน ai.translate จะเรียกใช้ AI เพื่อแปลข้อความที่ป้อนเข้าเป็นภาษาใหม่ที่คุณเลือก สําหรับคําแนะนําโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ai.translateกับแพนด้า โปรดดูบทความนี้ สําหรับ ai.translate PySpark โปรดดูบทความนี้

# This code uses AI. Always review output for mistakes. 

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")
display(df)

สกรีนช็อตของกรอบข้อมูลที่มีคอลัมน์ 'ข้อความ' และ 'การแปล' คอลัมน์ 'คําแปล' ประกอบด้วยข้อความที่แปลเป็นภาษาสเปน

ดูสถิติการใช้งานด้วย ai.stats

ฟังก์ชัน Fabric AI เป็นวิธีในตัวในการตรวจสอบสถิติการใช้งานและการดําเนินการสําหรับซีรีส์หรือ DataFrame ที่สร้างโดย AI คุณสามารถเข้าถึงเมตริกเหล่านี้ได้โดยการ ai.stats เรียกใช้ผลลัพธ์ที่ส่งคืนโดยฟังก์ชัน AI

ai.stats ส่งกลับ DataFrame ที่มีคอลัมน์ต่อไปนี้:

  • num_successful – จํานวนแถวที่ประมวลผลสําเร็จโดยฟังก์ชัน AI
  • num_exceptions – จํานวนแถวที่พบข้อยกเว้นระหว่างการดําเนินการ แถวเหล่านี้จะแสดงเป็นอินสแตนซ์ของ aifunc.ExceptionResult.
  • num_unevaluated – จํานวนแถวที่ไม่ได้ประมวลผลเนื่องจากข้อยกเว้นก่อนหน้านี้ทําให้ไม่สามารถดําเนินการประเมินต่อไปได้ แถวเหล่านี้เป็นอินสแตนซ์ของ aifunc NotEvaluatedResult
  • num_harmful – จํานวนแถวที่ถูกบล็อกโดยตัวกรองเนื้อหา Azure OpenAI แถวเหล่านี้เป็นอินสแตนซ์ของ aifunc.FilterResult.
  • prompt_tokens – จํานวนโทเค็นอินพุตทั้งหมดที่ใช้สําหรับการเรียกฟังก์ชัน AI
  • completion_tokens – จํานวนโทเค็นเอาต์พุตทั้งหมดที่สร้างโดยโมเดล

Tip

คุณสามารถเรียกใช้ ai.stats Series หรือ DataFrame ใดๆ ที่ส่งคืนโดยฟังก์ชัน AI สิ่งนี้สามารถช่วยคุณติดตามการใช้งาน ทําความเข้าใจรูปแบบข้อผิดพลาด และตรวจสอบการใช้โทเค็น