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 |