Ctrl+K
Logo image Logo image

Site Navigation

  • API Reference
  • Examples

Site Navigation

  • API Reference
  • Examples

Section Navigation

  • PyFlink DataFrame
    • DataFrame
    • DataFrame Creation
    • Input / Output
    • SQL
    • Data Types
    • User Defined Functions
    • Configuration
    • Catalog
    • GPU Support
    • AI / LLM
    • Multimodal Expressions
  • PyFlink Multimodal
  • PyFlink Table
  • PyFlink DataStream
  • PyFlink Common

pyflink.dataframe.ai.llm.LLMAccessor.ai_extract#

LLMAccessor.ai_extract(input_col: Union[str, Expression], schema: str, *, provider: Optional[str] = None, model: Optional[str] = None, cache_table: Optional[str] = None, cache_key: Optional[Union[str, List[str]]] = None, config: Optional[Dict[str, str]] = None, **kwargs) → DataFrame[source]#

Extract structured information from text.

Parameters
  • input_col – Column name (str) or Expression for the input text.

  • schema – JSON schema string describing the fields to extract, e.g. '{"name":"STRING", "phone":"STRING"}'.

  • provider – Registered model provider lookup name. Uses default if not specified. If no provider is configured, model is treated as a catalog model name.

  • model – Model name.

  • cache_table – Optional cache table identifier.

  • cache_key – Optional cache key column name or list of column names.

  • config – Optional dict of runtime prediction options.

  • **kwargs –

    Per-call overrides for the selected DataFrame model provider’s constructor parameters. Overrides are applied only when the call uses a configured provider.

    Note: This function uses its own task-specific prompt. Provider configurations for the system prompt, such as system_prompt on OpenAICompatProvider and DashScopeProvider, do not take effect for this call.

Returns

A new DataFrame with a column appended –

  • extracted_json (STRING): extracted fields as a JSON string.

Examples

Simple invocation:

::
>>> import pyflink.dataframe as pf
>>> pf.set_model_provider(pf.OpenAICompatProvider(
...     task="chat/completions"))
>>> df = pf.from_dict({"text": ["Alice called 555-0100."]})
>>> df.llm.ai_extract("text",
...     '{"name":"STRING", "phone":"STRING"}', model="qwen3.6-plus")

With cache:

::
>>> df.llm.ai_extract(
...     "text", '{"name":"STRING", "phone":"STRING"}',
...     model="qwen3.6-plus",
...     cache_table="`fluss-catalog`.default_database.extract_cache",
...     cache_key="text")

Using runtime config supported by pyflink.dataframe.OpenAICompatProvider:

::
>>> df.llm.ai_extract(
...     "text", '{"name":"STRING", "phone":"STRING"}',
...     model="qwen3.6-plus",
...     config={"max-concurrent-operations": "20"})

previous

pyflink.dataframe.ai.llm.LLMAccessor.ai_sentiment

next

pyflink.dataframe.ai.llm.LLMAccessor.ai_translate

Show Source

Created using Sphinx 4.5.0.