แชร์ผ่าน


ใช้ ai.generate_response กับ PySpark

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

Note

Overview

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

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

เคล็ดลับ

เรียนรู้วิธีสร้างข้อความแจ้งที่มีประสิทธิภาพมากขึ้นเพื่อรับการตอบกลับที่มีคุณภาพสูงขึ้นโดยทําตามคําแนะนําของ OpenAI สําหรับ gpt-4.1

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

df.ai.generate_response(prompt="Instructions for a custom response based on all column values", output_col="response")

พารามิเตอร์

ชื่อ คำอธิบาย
prompt
จำเป็น
สตริงที่มีคําแนะนําพร้อมท์ คําแนะนําเหล่านี้ใช้กับค่าข้อความที่ป้อนสําหรับการตอบกลับแบบกําหนดเอง
is_prompt_template
เลือกได้
บู ลีน ที่ระบุว่าพร้อมท์เป็นสตริงรูปแบบหรือสตริงตามสัญพจน์ ถ้าพารามิเตอร์นี้ถูกตั้งค่า Trueเป็น ฟังก์ชันจะพิจารณาเฉพาะค่าแถวเฉพาะจากแต่ละคอลัมน์ที่ปรากฏในสตริงรูปแบบ ในกรณีนี้ ชื่อคอลัมน์เหล่านั้นต้องปรากฏขึ้นระหว่างวงเล็บปีกกา และคอลัมน์อื่นจะถูกละเว้น ถ้าพารามิเตอร์นี้ถูกตั้งค่าเป็นค่าเริ่มต้นของ Falseจากนั้นฟังก์ชันจะพิจารณาค่าคอลัมน์ทั้งหมดเป็นบริบทสําหรับแต่ละแถวอินพุต
output_col
เลือกได้
สตริงที่มีชื่อของคอลัมน์ใหม่เพื่อจัดเก็บการตอบกลับแบบกําหนดเองสําหรับแต่ละแถวของข้อความที่ป้อนเข้า ถ้าคุณไม่ได้ตั้งค่าพารามิเตอร์นี้ ชื่อเริ่มต้นจะถูกสร้างขึ้นสําหรับคอลัมน์ผลลัพธ์
error_col
เลือกได้
สตริงที่มีชื่อของคอลัมน์ใหม่เพื่อจัดเก็บข้อผิดพลาด OpenAI ที่เป็นผลมาจากการประมวลผลข้อความอินพุตแต่ละแถว ถ้าคุณไม่ได้ตั้งค่าพารามิเตอร์นี้ ชื่อเริ่มต้นจะถูกสร้างขึ้นสําหรับคอลัมน์ข้อผิดพลาด ถ้าไม่มีข้อผิดพลาดสําหรับแถวของการป้อนข้อมูล ค่าในคอลัมน์นี้จะ null
response_format
เลือกได้
สตริงหรือพจนานุกรมที่ระบุโครงสร้างที่คาดหวังของการตอบสนองของแบบจําลอง ค่าสตริงสามารถตั้งค่าเป็น "ข้อความ" สําหรับข้อความรูปแบบอิสระ หรือ "json_object" เพื่อให้แน่ใจว่าผลลัพธ์เป็นออบเจ็กต์ JSON ที่ถูกต้อง มิฉะนั้น type ฟิลด์สามารถตั้งค่าเป็น "json_schema" ด้วยสคีมา JSON แบบกําหนดเองเพื่อบังคับใช้โครงสร้างการตอบสนองเฉพาะ หากไม่ได้ระบุพารามิเตอร์นี้ การตอบกลับจะถูกส่งกลับเป็นข้อความธรรมดา

การส่งคืน

ฟังก์ชันส่งคืน Spark DataFrame ที่มีคอลัมน์ใหม่ที่มีการตอบกลับข้อความที่กําหนดเองไปยังพร้อมท์สําหรับแต่ละแถวข้อความที่ป้อนเข้า

ตัวอย่าง

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

df = spark.createDataFrame([
        ("Scarves",),
        ("Snow pants",),
        ("Ski goggles",)
    ], ["product"])

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

เซลล์โค้ดตัวอย่างนี้ให้ผลลัพธ์ต่อไปนี้:

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

ตัวอย่างรูปแบบการตอบกลับ

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

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

df = spark.createDataFrame([
        ("Alex Rivera is a 24-year-old soccer midfielder from Barcelona who scored 12 goals last season.",),
        ("Jordan Smith, a 29-year-old basketball guard from Chicago, averaged 22 points per game.",),
        ("William O'Connor is a 22-year-old tennis player from Dublin who won 3 ATP titles this year.",)
    ], ["bio"])

# response_format : text
df = df.ai.generate_response(
        prompt="Create a player card with the player's details and a motivational quote",
        response_format="text",
        output_col="card_text"
)

# response_format : json object
df = df.ai.generate_response(
        prompt="Create a player card with the player's details and a motivational quote in JSON",
        response_format="json_object", # Requires "json" in the prompt
        output_col="card_json_object"
)

# response_format : specified json schema
df = df.ai.generate_response(
        prompt="Create a player card with the player's details and a motivational quote",
        response_format={
           "type": "json_schema",
            "json_schema": {
                "name": "player_card_schema",
                "strict": True,
                "schema": {
                    "type": "object",
                    "properties": {
                        "name": {"type": "string"},
                        "age": {"type": "integer"},
                        "sport": {"type": "string"},
                        "position": {"type": "string"},
                        "hometown": {"type": "string"},
                        "stats": {"type": "string", "description": "Key performance metrics or achievements"},
                        "motivational_quote": {"type": "string"},
                    },
                    "required": ["name", "age", "sport", "position", "hometown", "stats", "motivational_quote"],
                    "additionalProperties": False,
                },
            }
        },
        output_col="card_json_schema"
)

display(df)

เซลล์โค้ดตัวอย่างนี้ให้ผลลัพธ์ต่อไปนี้:

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