ใช้ฟังก์ชัน AI (พรีวิว)

นําไปใช้กับ:✅ จุดสิ้นสุดการวิเคราะห์ SQL และ Warehouse ใน Microsoft Fabric

สำคัญ

คุณลักษณะนี้อยู่ใน แสดงตัวอย่าง

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

ฟังก์ชัน จุดประสงค์ ตัวอย่างไวยากรณ์
AI_ANALYZE_SENTIMENT ตรวจหาความคิดเห็นของข้อความที่ป้อน AI_ANALYZE_SENTIMENT(<text>)
AI_CLASSIFY จําแนกข้อความตามป้ายกํากับที่ให้มา AI_CLASSIFY(<text>, <class1>, <class2>, ...)
AI_EXTRACT แยกเอนทิตีเป็นคุณสมบัติ JSON AI_EXTRACT(<text>, <class1>, <class2>, ...)
AI_SUMMARIZE สรุปข้อความ AI_SUMMARIZE(<text>)
AI_GENERATE_RESPONSE สร้างการตอบสนองตามข้อความแจ้ง AI_GENERATE_RESPONSE(<prompt>, <data>)
AI_TRANSLATE แปลข้อความที่ป้อนเป็นภาษาเป้าหมายที่ระบุ AI_TRANSLATE(<text>, <lang_code>)
AI_FIX_GRAMMAR แก้ไขไวยากรณ์ในข้อความ AI_FIX_GRAMMAR(<text>)

ฟังก์ชันเหล่านี้เรียก AI API ภายนอกเพื่อประมวลผลข้อความ ซึ่งอาจส่งผลต่อประสิทธิภาพของคิวรี เพื่อเพิ่มประสิทธิภาพ ให้หลีกเลี่ยงการใช้การแปลงข้อความซ้ําๆ ภายใน SELECT คิวรีในชุดข้อมูลเดียวกัน ให้คํานวณล่วงหน้าและทําให้ผลลัพธ์ของฟังก์ชัน AI เป็นคอลัมน์แยกต่างหากหรือในตารางการจัดเตรียมแทน

คำเตือน

ฟังก์ชันจะส่งคืน NULL หากโมเดล AI ไม่สามารถประมวลผลข้อความได้ สาเหตุทั่วไป ได้แก่

  • กฎ AI ที่มีความรับผิดชอบจะบล็อกเนื้อหาที่ไม่เหมาะสมในข้อความที่ป้อน
  • ข้อความที่ป้อนเกินขีดจํากัดโทเค็น รุ่นปัจจุบันรองรับข้อความสูงสุด 15 KB

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

Prerequisites

ตรวจสอบข้อกําหนด เบื้องต้นของฟังก์ชัน AI สําหรับข้อกําหนดเบื้องต้นเพิ่มเติม

วิเคราะห์ความคิดเห็น

ฟังก์ชันจะAI_ANALYZE_SENTIMENT(text)วิเคราะห์ความคิดเห็นจากอินพุตtextและส่งคืนค่าใดค่าหนึ่งต่อไปนี้: positive, negative, หรือ mixedneutral

ตัวอย่าง:

SELECT AI_ANALYZE_SENTIMENT('This hotel was great!') AS sentiment;

ผลลัพธ์ที่คาดหวัง:positive

สําหรับข้อมูลเพิ่มเติม โปรดดู AI_ANALYZE_SENTIMENT (Transact-SQL)

จัดประเภทข้อความ

ฟังก์ชันจะ AI_CLASSIFY(text, class1, class2, ...) จําแนกอินพุต text ออกเป็นหมวดหมู่ใดประเภทหนึ่งที่ให้มา

ตัวอย่าง:

SELECT AI_CLASSIFY('Room was dirty', 'service','dirt','food') AS classification;

ผลลัพธ์ที่คาดหวัง:dirt

สําหรับข้อมูลเพิ่มเติม โปรดดู AI_CLASSIFY (Transact-SQL)

แยกเอนทิตีออกจากข้อความ

ฟังก์ชันจะ AI_EXTRACT(text, class1, class2, ...) แยกเอนทิตีจากอินพุต text ตามคลาสที่ระบุ

ตัวอย่าง:

SELECT AI_EXTRACT('Check-in was late and room dirty', 'sentiment','problem') AS extraction;

ผลลัพธ์ที่คาดหวัง:{"sentiment":"Negative","problem":"Dirty room"}

สําหรับข้อมูลเพิ่มเติม โปรดดู AI_EXTRACT (Transact-SQL)

สร้างการตอบสนอง

ฟังก์ชันสร้างAI_GENERATE_RESPONSE(prompt, data)การตอบสนองตามpromptที่กําหนดและไม่บังคับdata

ตัวอย่าง:

SELECT AI_GENERATE_RESPONSE('Reply in 20 words:', 'The room was noisy.') AS response;

ผลลัพธ์ที่คาดหวัง: 'เราขออภัยอย่างจริงใจสําหรับความไม่สะดวกที่เกิดจากเสียงรบกวน และมุ่งมั่นที่จะปรับปรุงมาตรการป้องกันเสียงรบกวนของเรา'

สําหรับข้อมูลเพิ่มเติม โปรดดู AI_GENERATE_RESPONSE (Transact-SQL)

สรุปข้อความ

ฟังก์ชันจะ AI_SUMMARIZE(text) สรุปอินพุต text เป็นเวอร์ชันที่กระชับ

ตัวอย่าง:

SELECT AI_SUMMARIZE('The hotel was clean and staff were friendly.') AS summary;

ผลลัพธ์ที่คาดหวัง: "โรงแรมสะอาด พนักงานเป็นกันเอง"

สําหรับข้อมูลเพิ่มเติม โปรดดู AI_SUMMARIZE (Transact-SQL)

แปลข้อความ

ฟังก์ชันจะ AI_TRANSLATE(text, lang_code) แปล text เป็นภาษาที่ระบุโดยใช้ lang_code.

รหัสภาษาที่รองรับคือ de (เยอรมัน) en (อังกฤษ) fr (ฝรั่งเศส) it (อิตาลี) es (สเปน) el (กรีก) pl (โปแลนด์) sv (สวีเดน) fi (ฟินแลนด์) และ cs (เช็ก)

ตัวอย่าง:

SELECT AI_TRANSLATE('The hotel was great','de') AS translation_de;

ผลลัพธ์ที่คาดหวัง: 'Das Hotel สงคราม großartig'

สําหรับข้อมูลเพิ่มเติม โปรดดู AI_TRANSLATE (Transact-SQL)

แก้ไขไวยากรณ์

AI_FIX_GRAMMAR(text)ฟังก์ชันจะแก้ไขไวยากรณ์ในการป้อนข้อมูลtext

ตัวอย่าง:

SELECT AI_FIX_GRAMMAR('Th room are clean and staff were nice') AS fixed_text;

ผลลัพธ์ที่คาดหวัง: "ห้องพักสะอาด และพนักงานก็น่ารัก"

สําหรับข้อมูลเพิ่มเติม โปรดดู AI_FIX_GRAMMAR (Transact-SQL)

การจัดการข้อผิดพลาด

ฟังก์ชัน AI จะกลับมาเมื่อ NULL เกิดข้อผิดพลาดขณะประมวลผลข้อความ ข้อผิดพลาดอาจเกิดจากการตรวจสอบความปลอดภัยของ AI อย่างรับผิดชอบ ที่ตรวจพบเนื้อหาที่ไม่อนุญาต อินพุตเกินขีดจํากัดโทเค็น ปัญหาบริการชั่วคราว หรือความล้มเหลวในการประมวลผลอื่น ๆ

โดยค่าเริ่มต้น ฟังก์ชัน AI จะใช้โมเดลการดําเนินการแบบ best-effort และคืนค่า NULL เมื่อคําขอล้มเหลว พฤติกรรมนี้ออกแบบมาเพื่อป้องกันข้อผิดพลาดที่ส่งผลต่อแถวแต่ละแถวไม่ให้ล้มเหลวทั้งคิวรี เมื่อประมวลผลแถวนับพันผ่านโมเดลภาษาขนาดใหญ่ภายนอก (LLM) ความล้มเหลวในค่าเดียวไม่ควรเป็นอุปสรรคต่อผลลัพธ์ที่สําเร็จสําหรับแถวที่เหลือ พฤติกรรมนี้ยังช่วยให้คําขอที่ดําเนินการสําเร็จไม่สูญหายและไม่จําเป็นต้องทําซ้ํา

ตรวจสอบแถวที่ส่งคืน NULLหาสาเหตุของความล้มเหลว และลองใหม่เฉพาะค่าที่ระบุเท่านั้น

คุณสามารถแทนที่พฤติกรรมเริ่มต้นได้โดยระบุ ON ERROR clause ในแต่ละการเรียกฟังก์ชัน:

  • NULL ON ERROR (ค่าเริ่มต้น) จะคืนค่า NULL เมื่อฟังก์ชันไม่สามารถประมวลผลค่าได้
  • ERROR ON ERROR จะทําให้คําสั่งทั้งหมดล้มเหลวหากเกิดข้อผิดพลาดในการเรียกใช้ฟังก์ชันใด ๆ
  • DEFAULT <value> ON ERROR คืนค่าเริ่มต้นที่ระบุแทน NULL เมื่อเกิดข้อผิดพลาด

ตัวอย่างต่อไปนี้แสดงตัวเลือกการจัดการข้อผิดพลาดที่มีอยู่:

SELECT
    *,
    AI_FIX_GRAMMAR(review_text NULL ON ERROR) AS fixed_text,
    AI_EXTRACT(review_text, 'sentiment', 'problem' ERROR ON ERROR) AS info*
    AI_CLASSIFY(review_text, 'service', 'dirt', 'food' DEFAULT 'Other' ON ERROR) AS classification
FROM hotel_reviews;

ในตัวอย่างนี้:

  • AI_FIX_GRAMMAR คืนค่า NULL สําหรับค่าที่ไม่สามารถประมวลผลได้ เนื่องจากการ NULL คืนค่าเป็นพฤติกรรมการจัดการข้อผิดพลาดเริ่มต้น คลอสนี้ NULL ON ERROR จึงเป็นทางเลือก
  • AI_EXTRACT จะล้มเหลวในการสืบค้นทั้งหมดหากเซลล์ใดพบข้อผิดพลาด
  • AI_CLASSIFY คืนค่า Other สําหรับเซลล์ที่ไม่สามารถจัดประเภทได้

หมายเหตุ

ฟังก์ชัน AI สามารถส่งคืนข้อผิดพลาดหรือพบประสิทธิภาพการทํางานที่ช้ากว่าที่คาดไว้ด้วยเหตุผลหลายประการ:

  • ตรวจสอบให้แน่ใจว่าคุณมีคุณสมบัติตรงตาม ข้อกําหนดเบื้องต้น ที่จําเป็นทั้งหมดก่อนที่จะใช้ฟังก์ชัน AI หากไม่มีข้อกําหนดเบื้องต้น ฟังก์ชันจะส่งกลับข้อผิดพลาด
  • หากไม่สามารถประมวลผลข้อความที่ป้อนได้ เช่น เนื่องจากเกินขีดจํากัดของโทเค็น มีเนื้อหาที่ถูกจํากัดหรือไม่เหมาะสม หรือละเมิดนโยบายการบริการ ฟังก์ชันจะส่งคืนNULL ตรวจสอบเสมอว่าค่าที่ส่งคืนเป็นค่า NULL หรือไม่ และจัดการกรณีนี้อย่างเหมาะสมในคิวรี แอปพลิเคชัน หรือไปป์ไลน์การประมวลผลข้อมูลของคุณ
  • ประสิทธิภาพขึ้นอยู่กับขนาดอินพุต ความซับซ้อนของอินพุต และภาระงานบริการโดยรวม โดยทั่วไปค่าข้อความแต่ละค่าจะได้รับการประมวลผลภายในไม่กี่วินาที ในขณะที่ชุดงานขนาดใหญ่สามารถบรรลุปริมาณงานได้ประมาณ 10-30 ค่าข้อความต่อวินาที หากคุณประสบกับประสิทธิภาพการทํางานที่ช้ากว่าที่คาดไว้อย่างสม่ําเสมอ อาจมีปัญหาการบริการหรือการกําหนดค่าที่ส่งผลต่อปริมาณการประมวลผล

หากคุณพบปัญหาเกี่ยวกับฟังก์ชัน AI ใน Fabric คลังข้อมูล หรือตําแหน่งข้อมูลการวิเคราะห์ SQL:

ตัวอย่าง

ตอบ นําเข้าข้อมูลและแปลงคอลัมน์ข้อความโดยใช้ฟังก์ชัน AI

ตัวอย่างนี้จะโหลดข้อมูลจากไฟล์ Lakehouse ลงใน hotel_reviews ตารางในคลังสินค้า เลือกจากไฟล์ในส่วน /Files จากนั้นใช้ฟังก์ชัน AI เพื่อเพิ่มข้อมูล:

CREATE TABLE HotelDW.dbo.hotel_reviews
AS
SELECT
    city, latitude, longitude, name, reviews_rating, reviews_text,
    AI_SUMMARIZE(reviews_text) AS reviews_summary,
    AI_CLASSIFY( reviews_text, 'service', 'dirt', 'food', 'air conditioning', 'other') AS reviews_classification,
    AI_ANALYZE_SENTIMENT(reviews_text) AS reviews_sentiment,
    AI_TRANSLATE(reviews_text, 'de') AS reviews_text_de,
    AI_TRANSLATE(reviews_text, 'es') AS reviews_text_es,
    AI_TRANSLATE(reviews_text, 'fr') AS reviews_text_fr,
    AI_TRANSLATE(reviews_text, 'it') AS reviews_text_it
FROM OPENROWSET( BULK '/Files/csv/hotel_reviews_demo.csv', DATA_SOURCE = 'TextLakehouse', HEADER_ROW = TRUE);

B. อัปเดตคอลัมน์ข้อความโดยใช้ฟังก์ชัน AI

ตัวอย่างต่อไปนี้แก้ไขข้อผิดพลาดทางไวยากรณ์ใน reviews_text คอลัมน์:

UPDATE HotelDW.dbo.hotel_reviews
SET reviews_text = ISNULL(AI_FIX_GRAMMAR(reviews_text), reviews_text);

ฟังก์ชัน AI อาจส่งคืนNULLหากเกิดข้อผิดพลาด ดังนั้นหลีกเลี่ยงการเขียนทับค่าที่มีอยู่ด้วยNULL

ใช้รูปแบบเพื่อ ISNULL(<ai function>, <original value>) รักษาข้อความต้นฉบับเมื่อฟังก์ชัน AI ไม่สามารถส่งคืนผลลัพธ์ได้

C. แยกค่าจากข้อความ

ในตัวอย่างนี้ ฟังก์ชันจะ AI_EXTRACT วิเคราะห์ข้อความรีวิวและส่งคืนออบเจ็กต์ JSON ที่มีคุณสมบัติ sentiment, time_reported, และ problem. จากนั้นฟังก์ชันจะ OPENJSON แยกวิเคราะห์ JSON นี้และแมปคุณสมบัติเหล่านี้เป็นคอลัมน์แยกต่างหากเพื่อให้การสืบค้นและวิเคราะห์ง่ายดาย

สคริปต์ตัวอย่างนี้จะแทรกค่าที่แยกออกมาเป็นคอลัมน์แยกต่างหากในตารางเป้าหมาย

INSERT INTO gold.hotel_reviews
SELECT sentiment, time_reported, problem
FROM hotel_reviews
CROSS APPLY 
OPENJSON(
    AI_EXTRACT(reviews_text, 'sentiment', 'time_reported', 'problem')
) WITH ( sentiment VARCHAR(1000), time_reported VARCHAR(100), problem VARCHAR(1000) );

ฟังก์ชันนี้ AI_EXTRACT ใช้กฎบริบทที่คลุมเครือเพื่อระบุและแยกหัวข้อออกจากข้อความโดยไม่ต้องแยกวิเคราะห์ด้วยตนเองหรือนิพจน์ทั่วไปที่ซับซ้อน วิธีการนี้ช่วยลดความยุ่งยากในการวิเคราะห์ข้อความโดยใช้ความเข้าใจเชิงความหมายที่ขับเคลื่อนด้วย AI แทนการจับคู่รูปแบบที่เข้มงวด ทําให้มีประสิทธิภาพมากขึ้นและปรับให้เข้ากับรูปแบบภาษาธรรมชาติ