Classe TextGenerationModel (1.50.0)

TextGenerationModel(model_id: str, endpoint_name: typing.Optional[str] = None)

Crea un LanguageModel.

Questo costruttore non deve essere chiamato direttamente. Usa invece il criterio LanguageModel.from_pretrained(model_name=...).

Parametri

Nome Description
model_id str

Identificatore di un LLM Vertex. Esempio: "text-bison@001"

endpoint_name typing.Optional[str]

Nome della risorsa Vertex Endpoint per il modello

Metodi

batch_predict

batch_predict(
    *,
    dataset: typing.Union[str, typing.List[str]],
    destination_uri_prefix: str,
    model_parameters: typing.Optional[typing.Dict] = None
) -> google.cloud.aiplatform.jobs.BatchPredictionJob

Avvia un job di previsione batch con il modello.

Eccezioni
Tipo Description
ValueError Quando l'URI di origine o di destinazione non è supportato.

from_pretrained

from_pretrained(model_name: str) -> vertexai._model_garden._model_garden_models.T

Carica un oggetto _ModelGardenModel.

Parametro
Nome Description
model_name str

Nome del modello.

Eccezioni
Tipo Description
ValueError Se model_name è sconosciuto.
ValueError Se il modello non supporta questa classe.

get_tuned_model

get_tuned_model(
    tuned_model_name: str,
) -> vertexai.language_models._language_models._LanguageModel

Carica il modello linguistico ottimizzato specificato.

list_tuned_model_names

list_tuned_model_names() -> typing.Sequence[str]

Elenca i nomi dei modelli ottimizzati.

predict

predict(
    prompt: str,
    *,
    max_output_tokens: typing.Optional[int] = 128,
    temperature: typing.Optional[float] = None,
    top_k: typing.Optional[int] = None,
    top_p: typing.Optional[float] = None,
    stop_sequences: typing.Optional[typing.List[str]] = None,
    candidate_count: typing.Optional[int] = None,
    grounding_source: typing.Optional[
        typing.Union[
            vertexai.language_models._language_models.WebSearch,
            vertexai.language_models._language_models.VertexAISearch,
            vertexai.language_models._language_models.InlineContext,
        ]
    ] = None,
    logprobs: typing.Optional[int] = None,
    presence_penalty: typing.Optional[float] = None,
    frequency_penalty: typing.Optional[float] = None,
    logit_bias: typing.Optional[typing.Dict[int, float]] = None
) -> vertexai.language_models.MultiCandidateTextGenerationResponse

Recupera la risposta del modello per un singolo prompt.

Parametro
Nome Description
prompt str

Domanda da porre al modello.

predict_async

predict_async(
    prompt: str,
    *,
    max_output_tokens: typing.Optional[int] = 128,
    temperature: typing.Optional[float] = None,
    top_k: typing.Optional[int] = None,
    top_p: typing.Optional[float] = None,
    stop_sequences: typing.Optional[typing.List[str]] = None,
    candidate_count: typing.Optional[int] = None,
    grounding_source: typing.Optional[
        typing.Union[
            vertexai.language_models._language_models.WebSearch,
            vertexai.language_models._language_models.VertexAISearch,
            vertexai.language_models._language_models.InlineContext,
        ]
    ] = None,
    logprobs: typing.Optional[int] = None,
    presence_penalty: typing.Optional[float] = None,
    frequency_penalty: typing.Optional[float] = None,
    logit_bias: typing.Optional[typing.Dict[int, float]] = None
) -> vertexai.language_models.MultiCandidateTextGenerationResponse

Recupera in modo asincrono la risposta del modello per un singolo prompt.

Parametro
Nome Description
prompt str

Domanda da porre al modello.

predict_streaming

predict_streaming(
    prompt: str,
    *,
    max_output_tokens: int = 128,
    temperature: typing.Optional[float] = None,
    top_k: typing.Optional[int] = None,
    top_p: typing.Optional[float] = None,
    stop_sequences: typing.Optional[typing.List[str]] = None,
    logprobs: typing.Optional[int] = None,
    presence_penalty: typing.Optional[float] = None,
    frequency_penalty: typing.Optional[float] = None,
    logit_bias: typing.Optional[typing.Dict[int, float]] = None
) -> typing.Iterator[vertexai.language_models.TextGenerationResponse]

Recupera una risposta di un modello di flusso di dati per un singolo prompt.

Il risultato è un flusso (generatore) di risposte parziali.

Parametro
Nome Description
prompt str

Domanda da porre al modello.

predict_streaming_async

predict_streaming_async(
    prompt: str,
    *,
    max_output_tokens: int = 128,
    temperature: typing.Optional[float] = None,
    top_k: typing.Optional[int] = None,
    top_p: typing.Optional[float] = None,
    stop_sequences: typing.Optional[typing.List[str]] = None,
    logprobs: typing.Optional[int] = None,
    presence_penalty: typing.Optional[float] = None,
    frequency_penalty: typing.Optional[float] = None,
    logit_bias: typing.Optional[typing.Dict[int, float]] = None
) -> typing.AsyncIterator[vertexai.language_models.TextGenerationResponse]

Riceve in modo asincrono una risposta del modello in modalità flusso per un singolo prompt.

Il risultato è un flusso (generatore) di risposte parziali.

Parametro
Nome Description
prompt str

Domanda da porre al modello.

tune_model

tune_model(
    training_data: typing.Union[str, pandas.core.frame.DataFrame],
    *,
    train_steps: typing.Optional[int] = None,
    learning_rate_multiplier: typing.Optional[float] = None,
    tuning_job_location: typing.Optional[str] = None,
    tuned_model_location: typing.Optional[str] = None,
    model_display_name: typing.Optional[str] = None,
    tuning_evaluation_spec: typing.Optional[
        vertexai.language_models.TuningEvaluationSpec
    ] = None,
    accelerator_type: typing.Optional[typing.Literal["TPU", "GPU"]] = None,
    max_context_length: typing.Optional[str] = None
) -> vertexai.language_models._language_models._LanguageModelTuningJob

Ottimizza un modello in base ai dati di addestramento.

Questo metodo avvia e restituisce un job di ottimizzazione del modello asincrono. Utilizzo:

tuning_job = model.tune_model(...)
... do some other work
tuned_model = tuning_job.get_tuned_model()  # Blocks until tuning is complete
Parametro
Nome Description
training_data typing.Union[str, pandas.core.frame.DataFrame]

Un DataFrame Pandas o un URI che rimanda ai dati in formato righe JSON. Lo schema del set di dati è specifico del modello. Vedi https://cloud.google.com/vertex-ai/docs/generative-ai/models/tune-models#dataset_format

Eccezioni
Tipo Description
ValueError Se il valore "tune_job_location" non è supportato
ValueError Se il valore "tuned_model_location" non è supportato
RuntimeError Se il modello non supporta l'ottimizzazione

tune_model_rlhf

tune_model_rlhf(
    *,
    prompt_data: typing.Union[str, pandas.core.frame.DataFrame],
    preference_data: typing.Union[str, pandas.core.frame.DataFrame],
    model_display_name: typing.Optional[str] = None,
    prompt_sequence_length: typing.Optional[int] = None,
    target_sequence_length: typing.Optional[int] = None,
    reward_model_learning_rate_multiplier: typing.Optional[float] = None,
    reinforcement_learning_rate_multiplier: typing.Optional[float] = None,
    reward_model_train_steps: typing.Optional[int] = None,
    reinforcement_learning_train_steps: typing.Optional[int] = None,
    kl_coeff: typing.Optional[float] = None,
    default_context: typing.Optional[str] = None,
    tuning_job_location: typing.Optional[str] = None,
    accelerator_type: typing.Optional[typing.Literal["TPU", "GPU"]] = None,
    tuning_evaluation_spec: typing.Optional[
        vertexai.language_models.TuningEvaluationSpec
    ] = None
) -> vertexai.language_models._language_models._LanguageModelTuningJob

Ottimizza un modello utilizzando l'apprendimento per rinforzo con feedback umano.

Questo metodo avvia e restituisce un job di ottimizzazione del modello asincrono. Utilizzo:

tuning_job = model.tune_model_rlhf(...)
... do some other work
tuned_model = tuning_job.get_tuned_model()  # Blocks until tuning is complete
Eccezioni
Tipo Description
ValueError Se il valore "tune_job_location" non è supportato
RuntimeError Se il modello non supporta l'ottimizzazione