Zdieľať cez


Používanie ai.generate_response s PySpark

Funkcia ai.generate_response využíva generatívnu umelú inteligenciu na generovanie vlastných textových odpovedí, ktoré sú založené na vašich vlastných pokynoch, s jedným riadkom kódu.

Poznámka

Overview

Táto ai.generate_response funkcia je k dispozícii pre údajové rámce Spark. Názov existujúceho vstupného stĺpca musíte zadať ako parameter. Musíte tiež zadať výzvu založenú na reťazci a booleovskú hodnotu, ktorá označuje, či sa má táto výzva považovať za reťazec formátu.

Funkcia vráti nový údajový rámec s vlastnými odpoveďami pre každý vstupný textový riadok uložený vo výstupnom stĺpci.

Tip

Naučte sa, ako vytvárať efektívnejšie výzvy, aby ste získali kvalitnejšie odpovede, podľa tipov OpenAI pre gpt-4.1.

Syntax

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

Parametre

Name Popis
prompt
Povinné
Reťazec, ktorý obsahuje pokyny s výzvami. Tieto pokyny sa použijú na vstupné textové hodnoty pre vlastné odpovede.
is_prompt_template
Voliteľné
Booleovská hodnota, ktorá označuje, či je výzva reťazcom formátu alebo reťazcom literálu. Ak je tento parameter nastavený na True, funkcia berie do úvahy len konkrétne hodnoty riadkov z každého stĺpca, ktorý sa zobrazí v reťazci formátu. V tomto prípade sa tieto názvy stĺpcov musia zobrazovať medzi zloženými zátvoriekmi a ostatné stĺpce sa ignorujú. Ak je tento parameter nastavený na predvolenú hodnotu False, funkcia posúdi všetky hodnoty stĺpcov ako kontext pre každý vstupný riadok.
output_col
Voliteľné
Reťazec, ktorý obsahuje názov nového stĺpca na ukladanie vlastných odpovedí pre každý riadok vstupného textu. Ak tento parameter nenastavíte, pre výstupný stĺpec sa vygeneruje predvolený názov.
error_col
Voliteľné
Reťazec, ktorý obsahuje názov nového stĺpca na uloženie všetkých chýb OpenAI, ktoré sú výsledkom spracovania každého riadka vstupného textu. Ak tento parameter nenastavíte, pre chybový stĺpec sa vygeneruje predvolený názov. Ak sa v riadku vstupu nenachádzajú žiadne chyby, hodnota v tomto stĺpci je null.
response_format
Voliteľné
Reťazec alebo slovník, ktorý špecifikuje očakávanú štruktúru odpovede modelu. Hodnoty reťazcov je možné nastaviť na "text" pre voľný text alebo "json_object", aby sa zabezpečilo, že výstup je platný JSON objekt. Inak môže byť pole nastavené type na "json_schema" pomocou vlastnej JSON schémy na vynútenie špecifickej odpovednej štruktúry. Ak tento parameter nie je poskytnutý, odpoveď sa vráti ako čistý text.

Vrátené hodnoty

Funkcia vráti údajový rámec Spark , ktorý obsahuje nový stĺpec, ktorý obsahuje vlastné textové odpovede na výzvu pre každý riadok vstupného textu.

Príklad

# 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)

Táto príkladová bunka kódu poskytuje nasledujúci výstup:

Snímka obrazovky zobrazujúca údajový rámec so stĺpcami

Príklad formátu odpovede

Nasledujúci príklad ukazuje, ako použiť response_format parameter na určenie rôznych formátov odpovedí, vrátane obyčajného textu, JSON objektu a vlastnej JSON schémy.

# 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)

Táto príkladová bunka kódu poskytuje nasledujúci výstup:

Snímka obrazovky zobrazujúca dátový rámec s 'bio' stĺpcom a novým stĺpcom pre každý špecifikovaný formát s príslušným formátovaným výstupom.