Class ChatModel (1.50.0)

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

ChatModel rappresenta un modello linguistico in grado di chattare.

Esempi:

chat_model = ChatModel.from_pretrained("chat-bison@001")

chat = chat_model.start_chat(
    context="My name is Ned. You are my personal assistant. My favorite movies are Lord of the Rings and Hobbit.",
    examples=[
        InputOutputTextPair(
            input_text="Who do you work for?",
            output_text="I work for Ned.",
        ),
        InputOutputTextPair(
            input_text="What do I like?",
            output_text="Ned likes watching movies.",
        ),
    ],
    temperature=0.3,
)

chat.send_message("Do you know any cool events this weekend?")

Metodi

ChatModel

ChatModel(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

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.

start_chat

start_chat(
    *,
    context: typing.Optional[str] = None,
    examples: typing.Optional[
        typing.List[vertexai.language_models.InputOutputTextPair]
    ] = None,
    max_output_tokens: typing.Optional[int] = None,
    temperature: typing.Optional[float] = None,
    top_k: typing.Optional[int] = None,
    top_p: typing.Optional[float] = None,
    message_history: typing.Optional[
        typing.List[vertexai.language_models.ChatMessage]
    ] = None,
    stop_sequences: typing.Optional[typing.List[str]] = None
) -> vertexai.language_models.ChatSession

Avvia una sessione di chat con il 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,
    default_context: 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 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
AttributeError Se un attributo in "tune_Evaluation_spec" non è supportato

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