Class PaLM2TextGenerator (1.27.0)

PaLM2TextGenerator(
    *,
    model_name: typing.Literal["text-bison", "text-bison-32k"] = "text-bison",
    session: typing.Optional[bigframes.session.Session] = None,
    connection_name: typing.Optional[str] = None,
    max_iterations: int = 300
)

PaLM2 text generator LLM model.

Parameters

Name Description
model_name str, Default to "text-bison"

The model for natural language tasks. “text-bison” returns model fine-tuned to follow natural language instructions and is suitable for a variety of language tasks. "text-bison-32k" supports up to 32k tokens per request. Default to "text-bison".

session bigframes.Session or None

BQ session to create the model. If None, use the global default session.

connection_name str or None

Connection to connect with remote service. str of the format <PROJECT_NUMBER/PROJECT_ID>.

max_iterations Optional[int], Default to 300

The number of steps to run when performing supervised tuning.

Methods

__repr__

__repr__()

Print the estimator's constructor with all non-default parameter values.

fit

fit(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    y: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
) -> bigframes.ml.llm.PaLM2TextGenerator

Fine tune PaLM2TextGenerator model.

Parameters
Name Description
X bigframes.dataframe.DataFrame or bigframes.series.Series or pandas.core.frame.DataFrame or pandas.core.series.Series

DataFrame of shape (n_samples, n_features). Training data.

y bigframes.dataframe.DataFrame or bigframes.series.Series or pandas.core.frame.DataFrame or pandas.core.series.Series

Training labels.

Returns
Type Description
PaLM2TextGenerator Fitted estimator.

get_params

get_params(deep: bool = True) -> typing.Dict[str, typing.Any]

Get parameters for this estimator.

Parameter
Name Description
deep bool, default True

Default True. If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns
Type Description
Dictionary A dictionary of parameter names mapped to their values.

predict

predict(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    *,
    temperature: float = 0.0,
    max_output_tokens: int = 128,
    top_k: int = 40,
    top_p: float = 0.95
) -> bigframes.dataframe.DataFrame

Predict the result from input DataFrame.

Parameters
Name Description
X bigframes.dataframe.DataFrame or bigframes.series.Series or pandas.core.frame.DataFrame or pandas.core.series.Series

Input DataFrame or Series, can contain one or more columns. If multiple columns are in the DataFrame, it must contain a "prompt" column for prediction. Prompts can include preamble, questions, suggestions, instructions, or examples.

temperature float, default 0.0

The temperature is used for sampling during the response generation, which occurs when topP and topK are applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that expect a true or correct response, while higher temperatures can lead to more diverse or unexpected results. A temperature of 0 is deterministic: the highest probability token is always selected. For most use cases, try starting with a temperature of 0.2. Default 0. Possible values [0.0, 1.0].

max_output_tokens int, default 128

Maximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses. A token may be smaller than a word. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words. Default 128. For the 'text-bison' model, possible values are in the range [1, 1024]. For the 'text-bison-32k' model, possible values are in the range [1, 8192]. Please ensure that the specified value for max_output_tokens is within the appropriate range for the model being used.

top_k int, default 40

Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model's vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature). For each token selection step, the top K tokens with the highest probabilities are sampled. Then tokens are further filtered based on topP with the final token selected using temperature sampling. Specify a lower value for less random responses and a higher value for more random responses. Default 40. Possible values [1, 40].

top_p float, default 0.95

Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value. For example, if tokens A, B, and C have a probability of 0.3, 0.2, and 0.1 and the top-p value is 0.5, then the model will select either A or B as the next token (using temperature) and not consider C at all. Specify a lower value for less random responses and a higher value for more random responses. Default 0.95. Possible values [0.0, 1.0].

Returns
Type Description
bigframes.dataframe.DataFrame DataFrame of shape (n_samples, n_input_columns + n_prediction_columns). Returns predicted values.

score

score(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    y: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    task_type: typing.Literal[
        "text_generation", "classification", "summarization", "question_answering"
    ] = "text_generation",
) -> bigframes.dataframe.DataFrame

Calculate evaluation metrics of the model.

Output matches that of the BigQuery ML.EVALUATE function. See: https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-evaluate#remote-model-llm for the outputs relevant to this model type.

Parameters
Name Description
X bigframes.dataframe.DataFrame or bigframes.series.Series or pandas.core.frame.DataFrame or pandas.core.series.Series

A BigQuery DataFrame as evaluation data, which contains only one column of input_text that contains the prompt text to use when evaluating the model.

y bigframes.dataframe.DataFrame or bigframes.series.Series or pandas.core.frame.DataFrame or pandas.core.series.Series

A BigQuery DataFrame as evaluation labels, which contains only one column of output_text that you would expect to be returned by the model.

task_type str

The type of the task for LLM model. Default to "text_generation". Possible values: "text_generation", "classification", "summarization", and "question_answering".

Returns
Type Description
bigframes.dataframe.DataFrame The DataFrame as evaluation result.

to_gbq

to_gbq(
    model_name: str, replace: bool = False
) -> bigframes.ml.llm.PaLM2TextGenerator

Save the model to BigQuery.

Parameters
Name Description
model_name str

The name of the model.

replace bool, default False

Determine whether to replace if the model already exists. Default to False.

Returns
Type Description
PaLM2TextGenerator Saved model.