ใช้ ai.extract กับแพนด้า

ฟังก์ชันจะ ai.extract แยกฟิลด์ เช่น ชื่อ ตําแหน่งที่ตั้ง หรือเอนทิตีแบบกําหนดเองจากแต่ละแถวอินพุต

Note

Overview

ฟังก์ชันนี้ai.extractขยายคลาส pandas Series เมื่อต้องการแยกชนิดเอนทิตีแบบกําหนดเองจากแต่ละแถวของอินพุต ให้เรียกใช้ฟังก์ชันบนคอลัมน์ข้อความ Pandass DataFrame

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

วากยสัมพันธ์

df_entities = df["text"].ai.extract("entity1", "entity2", "entity3")

พารามิเตอร์

ชื่อ คำอธิบาย
labels
จำเป็น
สตริงอย่างน้อยหนึ่งส ตริง ที่แสดงชุดของชนิดเอนทิตีเพื่อแยกจากค่าข้อความที่ป้อนเข้า
aifunc.ExtractLabel
ระบุหรือไม่ก็ได้
คําจํากัดความป้ายชื่ออย่างน้อยหนึ่งรายการที่อธิบายฟิลด์ที่จะแยก ดูพารามิเตอร์ ExtractLabel

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

ชื่อ คำอธิบาย
label
จำเป็น
สตริงที่แสดงถึงเอนทิตีที่จะแยกจากค่าข้อความที่ป้อนเข้า
description
ระบุหรือไม่ก็ได้
สตริงที่เพิ่มบริบทพิเศษสําหรับโมเดล AI อาจรวมถึงข้อกําหนด บริบท หรือคําแนะนําสําหรับ AI ในการพิจารณาขณะทําการแยกข้อมูล
max_items
ระบุหรือไม่ก็ได้
int ที่ระบุจํานวนสูงสุดของรายการที่จะแยกสําหรับป้ายชื่อนี้
type
ระบุหรือไม่ก็ได้
ชนิด Schema JSON สําหรับค่าที่แยกออกมา ชนิดที่รองรับสําหรับคลาสนี้ ได้แก่ string, , , numberinteger, , และ booleanobjectarray
properties
ระบุหรือไม่ก็ได้
คุณสมบัติ JSON Schema เพิ่มเติมสําหรับชนิด เช่น items, propertiesและenum ดูผลลัพธ์ที่มีโครงสร้าง: สคีมาที่รองรับ
raw_col
ระบุหรือไม่ก็ได้
สตริงที่ตั้งค่าชื่อคอลัมน์สําหรับการตอบสนอง LLM ดิบ การตอบกลับแบบดิบจะแสดงรายการคู่พจนานุกรมสําหรับป้ายชื่อเอนทิตีทุกป้าย รวมถึง "เหตุผล" และ "extraction_text"

เคล็ดลับ

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

การส่งคืน

ฟังก์ชันจะส่งคืน DataFrame ของแพนด้า พร้อมคอลัมน์สําหรับแต่ละชนิดเอนทิตีที่ระบุ คอลัมน์หรือคอลัมน์มีเอนทิตีที่แยกออกมาสําหรับแต่ละแถวของข้อความที่ป้อนเข้า ถ้าฟังก์ชันระบุการจับคู่มากกว่าหนึ่งรายการสําหรับเอนทิตี ฟังก์ชันจะส่งคืนรายการที่ตรงกันเพียงรายการเดียว ถ้าไม่พบคู่ที่ตรงกัน ผลลัพธ์จะเป็น null

ชนิดการส่งคืนเริ่มต้นคือรายการของสตริงสําหรับแต่ละป้ายชื่อ ถ้าคุณตั้งค่าชนิดใน aifunc.ExtractLabelเช่น type="integer"ผลลัพธ์คือรายการค่า Python int ถ้าคุณตั้งค่า max_items=1ฟังก์ชันจะส่งกลับค่าหนึ่งค่าสําหรับป้ายชื่อนั้น

ตัวอย่าง

# 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 Contoso.",
        "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)

Output:

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

อินพุตหลายรูปแบบ

หากต้องการแยกฟิลด์จากรูปภาพ PDF หรือไฟล์ข้อความ ให้ตั้งค่า column_type="path" เมื่อคอลัมน์อินพุตมีเส้นทางไฟล์สตริงธรรมดา เส้นทางไฟล์ที่ส่งคืนจะถูก aifunc.list_file_paths() ตรวจพบโดยอัตโนมัติ สําหรับการตั้งค่า โปรดดู ใช้อินพุตหลายรูปแบบกับฟังก์ชัน AI

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

extracted = custom_df["file_path"].ai.extract(
    aifunc.ExtractLabel(
        "name",
        description="The full name of the candidate, first letter capitalized.",
        max_items=1,
    ),
    "companies_worked_for",
    aifunc.ExtractLabel(
        "year_of_experience",
        description="The total years of professional work experience the candidate has, excluding internships.",
        type="integer",
        max_items=1,
    ),
    column_type="path",
)
display(extracted)