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