Поделиться через


Использование ai.generate_response с pandas

Функция ai.generate_response использует генерирующий ИИ для создания пользовательских текстовых ответов, основанных на собственных инструкциях, с одной строкой кода.

Замечание

Обзор

Функция ai.generate_response может расширить класс DataFrame pandas и класс Pandas Series .

Чтобы создать настраиваемые текстовые ответы по каждой строке, можно вызвать эту функцию либо на pandas Series, либо на pandas DataFrame.

При вызове функции для всего кадра данных pandas запрос может быть литеральной строкой, а функция рассматривает все столбцы кадра данных при создании ответов. Запрос также может быть строкой формата, где функция учитывает только те значения столбцов, которые отображаются между фигурными скобками в запросе.

Функция возвращает объект Series из pandas, содержащий пользовательские текстовые ответы для каждой строки входных данных. Текстовые ответы можно хранить в новом столбце DataFrame.

Подсказка

Узнайте, как создавать более эффективные запросы на получение ответов более высокого качества, следуя подсказкам OpenAI для gpt-4.1.

Синтаксис

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

Параметры

Имя Description
prompt
Обязательно
Строка, содержащая инструкции запроса для применения к входным текстовым значениям для пользовательских ответов.
is_prompt_template
Необязательно
Логическое значение, указывающее, является ли запрос строкой форматирования или строкой литерала. Если для этого параметра задано значение True, функция учитывает только определенные значения строк из каждого имени столбца, отображаемого в строке форматирования. В этом случае имена столбцов должны находиться в фигурных скобках, а остальные столбцы игнорируются. Если этот параметр имеет значение по умолчанию False, функция считает все значения столбцов контекстом для каждой входной строки.
response_format
Необязательно
Словарь, указывающий ожидаемую структуру ответа модели. Поле type может быть задано как "text" для текста свободной формы, "json_object", чтобы убедиться, что выходные данные являются допустимым объектом JSON или пользовательской схемой JSON для применения определенной структуры ответа. Если этот параметр не указан, ответ возвращается как обычный текст.

Возвраты

Функция возвращает DataFrame pandas, который содержит настраиваемые текстовые ответы на запрос для каждой входной текстовой строки.

Example

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

В этом примере ячейка кода предоставляет следующие выходные данные:

Снимок экрана: таблица данных со столбцами

Пример формата ответа

В следующем примере показано, как использовать response_format параметр для указания различных форматов ответа, включая обычный текст, объект JSON и настраиваемую схему JSON.

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

df = pd.DataFrame([
        ("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.")
    ], columns=["bio"])

# response_format : text
df["card_text"] = df.ai.generate_response(
    "Create a player card with the player's details and a motivational quote", 
    response_format={"type": "text"}
)

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

# response_format : specified json schema
df["card_json_schema"] = df.ai.generate_response(
    "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,
            },
        },
    },
)

display(df)

В этом примере ячейка кода предоставляет следующие выходные данные:

Снимок экрана: кадр данных с столбцом bio и новым столбцом для каждого указанного формата с соответствующим форматированными выходными данными.