ChatMessageRequest Classe

Richiedere il payload per l'invio della cronologia delle chat alla piattaforma MCP.

Questo modello rappresenta il corpo completo della richiesta inviato all'endpoint della cronologia delle chat della piattaforma MCP per l'analisi della protezione dalle minacce. Include il contesto della conversazione corrente e i messaggi cronologici.

Il modello usa alias di campo per serializzare in formato JSON camelCase come richiesto dall'API della piattaforma MCP.

Costruttore

pydantic model ChatMessageRequest

Parametri di sole parole chiave

Nome Descrizione
conversationId
Necessario
messageId
Necessario
userMessage
Necessario
chatHistory
Necessario

Esempio


>>> from microsoft_agents_a365.tooling.models import ChatHistoryMessage
>>> request = ChatMessageRequest(
...     conversation_id="conv-123",
...     message_id="msg-456",
...     user_message="What is the weather today?",
...     chat_history=[
...         ChatHistoryMessage(role="user", content="Hello"),
...         ChatHistoryMessage(role="assistant", content="Hi there!"),
...     ]
... )
>>> # Serialize to camelCase JSON
>>> json_dict = request.model_dump(by_alias=True)
>>> print(json_dict["conversationId"])
'conv-123'

Metodi

__init__

Creare un nuovo modello analizzando e convalidando i dati di input dagli argomenti delle parole chiave.

Genera [ValidationError][pydantic_core. ValidationError] se i dati di input non possono essere convalidati per formare un modello valido.

self è posizionale in modo esplicito per consentire l'auto come nome di campo.

__new__
construct
copy

Restituisce una copia del modello.

!!! avviso "Deprecato" Questo metodo è ora deprecato; usare invece model_copy .

Se è necessario includere o escludere, usare:

python {test="skip" lint="skip"} data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data)

dict
from_orm
json
model_construct

Crea una nuova istanza della classe Model con dati convalidati.

Crea un nuovo set di impostazioni del modello epydantic_fields_set da dati attendibili o con convalida preliminare. I valori predefiniti vengono rispettati, ma non viene eseguita alcuna altra convalida.

!!! Nota model_construct() rispetta in genere l'impostazione model_config.extra nel modello fornito. Ovvero, se model_config.extra == 'allow', tutti i valori passati aggiuntivi vengono aggiunti ai campi dict e pydantic_extra dell'istanza del modello. Se model_config.extra == 'ignore' (impostazione predefinita), tutti i valori passati aggiuntivi vengono ignorati. Poiché non viene eseguita alcuna convalida con una chiamata a model_construct(), la presenza di model_config.extra == 'forbid' non genera un errore se vengono passati valori aggiuntivi, ma verranno ignorati.

model_copy

!!! model_copy "Documentazione sull'utilizzo" astratta

Restituisce una copia del modello.

!!! Nota Il [dict][oggetto dell'istanza sottostante.attributo dict] copiato. Questo potrebbe avere effetti collaterali imprevisti se si archivia qualcosa, sopra i campi del modello (ad esempio, il valore di [proprietà memorizzate nella cache][functools.cached_property]).

model_dump

!!! model_dump "Documentazione sull'utilizzo" astratta

Generare una rappresentazione del dizionario del modello, specificando facoltativamente i campi da includere o escludere.

model_dump_json

!!! model_dump_json "Documentazione sull'utilizzo" astratta

Genera una rappresentazione JSON del modello usando il metodo to_json di Pydantic.

model_json_schema

Genera uno schema JSON per una classe del modello.

model_parametrized_name

Calcolare il nome della classe per le parametrizzazioni delle classi generiche.

Questo metodo può essere sottoposto a override per ottenere uno schema di denominazione personalizzato per BaseModel generico.

model_post_init

Eseguire l'override di questo metodo per eseguire un'inizializzazione aggiuntiva dopo init e model_construct. Questa operazione è utile se si desidera eseguire una convalida che richiede l'inizializzazione dell'intero modello.

model_rebuild

Provare a ricompilare lo schema pydantic-core per il modello.

Ciò può essere necessario quando una delle annotazioni è un ForwardRef che non è stato possibile risolvere durante il tentativo iniziale di compilare lo schema e la ricompilazione automatica non riesce.

model_validate

Convalidare un'istanza del modello pydantic.

model_validate_json

!!! Analisi JSON astratta "Documentazione sull'utilizzo"

Convalidare i dati JSON specificati rispetto al modello Pydantic.

model_validate_strings

Convalidare l'oggetto specificato con dati stringa rispetto al modello Pydantic.

not_empty

Verificare che i campi stringa non siano vuoti o solo spazi vuoti.

parse_file
parse_obj
parse_raw
schema
schema_json
update_forward_refs
validate

__init__

Creare un nuovo modello analizzando e convalidando i dati di input dagli argomenti delle parole chiave.

Genera [ValidationError][pydantic_core. ValidationError] se i dati di input non possono essere convalidati per formare un modello valido.

self è posizionale in modo esplicito per consentire l'auto come nome di campo.

__init__(**data: Any) -> None

Parametri

Nome Descrizione
data
Necessario
Any

Valori restituiti

Tipo Descrizione

__new__

__new__(**kwargs)

construct

construct(_fields_set: set[str] | None = None, **values: Any) -> Self

Parametri

Nome Descrizione
_fields_set
set[str] | None
Valore predefinito: None
values
Necessario
Any

Valori restituiti

Tipo Descrizione

copy

Restituisce una copia del modello.

!!! avviso "Deprecato" Questo metodo è ora deprecato; usare invece model_copy .

Se è necessario includere o escludere, usare:

python {test="skip" lint="skip"} data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data)

copy(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, update: Dict[str, Any] | None = None, deep: bool = False) -> Self

Parametri

Nome Descrizione
include
Necessario
<xref:AbstractSetIntStr> | <xref:MappingIntStrAny> | None

Set facoltativo o mapping che specifica i campi da includere nel modello copiato.

exclude
Necessario
<xref:AbstractSetIntStr> | <xref:MappingIntStrAny> | None

Set facoltativo o mapping che specifica i campi da escludere nel modello copiato.

update
Necessario

Dizionario facoltativo di coppie di valori di campo per sostituire i valori dei campi nel modello copiato.

deep
Necessario

Se True, i valori dei campi che sono modelli Pydantic verranno copiati in modo approfondito.

Parametri di sole parole chiave

Nome Descrizione
include
Valore predefinito: None
exclude
Valore predefinito: None
update
Valore predefinito: None
deep
Valore predefinito: False

Valori restituiti

Tipo Descrizione

Copia del modello con campi inclusi, esclusi e aggiornati come specificato.

dict

dict(*, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) -> Dict[str, Any]

Parametri

Nome Descrizione
include
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None
exclude
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None
by_alias
Necessario
exclude_unset
Necessario
exclude_defaults
Necessario
exclude_none
Necessario

Parametri di sole parole chiave

Nome Descrizione
include
Valore predefinito: None
exclude
Valore predefinito: None
by_alias
Valore predefinito: False
exclude_unset
Valore predefinito: False
exclude_defaults
Valore predefinito: False
exclude_none
Valore predefinito: False

Valori restituiti

Tipo Descrizione

from_orm

from_orm(obj: Any) -> Self

Parametri

Nome Descrizione
obj
Necessario
Any

Valori restituiti

Tipo Descrizione

json

json(*, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Callable[[Any], Any] | None = PydanticUndefined, models_as_dict: bool = PydanticUndefined, **dumps_kwargs: Any) -> str

Parametri

Nome Descrizione
include
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None
exclude
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None
by_alias
Necessario
exclude_unset
Necessario
exclude_defaults
Necessario
exclude_none
Necessario
encoder
Necessario
models_as_dict
Necessario
dumps_kwargs
Necessario
Any

Parametri di sole parole chiave

Nome Descrizione
include
Valore predefinito: None
exclude
Valore predefinito: None
by_alias
Valore predefinito: False
exclude_unset
Valore predefinito: False
exclude_defaults
Valore predefinito: False
exclude_none
Valore predefinito: False
encoder
Valore predefinito: PydanticUndefined
models_as_dict
Valore predefinito: PydanticUndefined

Valori restituiti

Tipo Descrizione
str

model_construct

Crea una nuova istanza della classe Model con dati convalidati.

Crea un nuovo set di impostazioni del modello epydantic_fields_set da dati attendibili o con convalida preliminare. I valori predefiniti vengono rispettati, ma non viene eseguita alcuna altra convalida.

!!! Nota model_construct() rispetta in genere l'impostazione model_config.extra nel modello fornito. Ovvero, se model_config.extra == 'allow', tutti i valori passati aggiuntivi vengono aggiunti ai campi dict e pydantic_extra dell'istanza del modello. Se model_config.extra == 'ignore' (impostazione predefinita), tutti i valori passati aggiuntivi vengono ignorati. Poiché non viene eseguita alcuna convalida con una chiamata a model_construct(), la presenza di model_config.extra == 'forbid' non genera un errore se vengono passati valori aggiuntivi, ma verranno ignorati.

model_construct(_fields_set: set[str] | None = None, **values: Any) -> Self

Parametri

Nome Descrizione
_fields_set
set[str] | None

Set di nomi di campo originariamente impostati in modo esplicito durante la creazione di istanze. Se specificato, viene usato direttamente per [model_fields_set][pydantic. attributo BaseModel.model_fields_set]. In caso contrario, verranno utilizzati i nomi dei campi dell'argomento valori .

Valore predefinito: None
values
Necessario
Any

Dizionario dati attendibile o con convalida preliminare.

Valori restituiti

Tipo Descrizione

Nuova istanza della classe Model con dati convalidati.

model_copy

!!! model_copy "Documentazione sull'utilizzo" astratta

Restituisce una copia del modello.

!!! Nota Il [dict][oggetto dell'istanza sottostante.attributo dict] copiato. Questo potrebbe avere effetti collaterali imprevisti se si archivia qualcosa, sopra i campi del modello (ad esempio, il valore di [proprietà memorizzate nella cache][functools.cached_property]).

model_copy(*, update: Mapping[str, Any] | None = None, deep: bool = False) -> Self

Parametri

Nome Descrizione
update
Necessario

Valori da modificare/aggiungere nel nuovo modello. Nota: i dati non vengono convalidati prima di creare il nuovo modello. È consigliabile considerare attendibili questi dati.

deep
Necessario

Impostare su True per creare una copia completa del modello.

Parametri di sole parole chiave

Nome Descrizione
update
Valore predefinito: None
deep
Valore predefinito: False

Valori restituiti

Tipo Descrizione

Nuova istanza del modello.

model_dump

!!! model_dump "Documentazione sull'utilizzo" astratta

Generare una rappresentazione del dizionario del modello, specificando facoltativamente i campi da includere o escludere.

model_dump(*, mode: Literal['json', 'python'] | str = 'python', include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, context: Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | Literal['none', 'warn', 'error'] = True, fallback: Callable[[Any], Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> dict[str, Any]

Parametri

Nome Descrizione
mode
Necessario
Literal['json', 'python'] | str

Modalità in cui deve essere eseguita to_python . Se la modalità è "json", l'output conterrà solo tipi serializzabili JSON. Se la modalità è "python", l'output può contenere oggetti Python non serializzabili json.

include
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None

Set di campi da includere nell'output.

exclude
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None

Set di campi da escludere dall'output.

context
Necessario
Any | None

Contesto aggiuntivo da passare al serializzatore.

by_alias
Necessario

Indica se usare l'alias del campo nella chiave del dizionario, se definito.

exclude_unset
Necessario

Indica se escludere campi che non sono stati impostati in modo esplicito.

exclude_defaults
Necessario

Indica se escludere i campi impostati sul valore predefinito.

exclude_none
Necessario

Indica se escludere campi con valore None.

exclude_computed_fields
Necessario

Indica se escludere i campi calcolati. Anche se questo può essere utile per il round trip, è in genere consigliabile usare il parametro dedicato round_trip .

round_trip
Necessario

Se True, i valori di cui è stato eseguito il dump devono essere validi come input per i tipi non idempotenti, ad esempio Json[T].

warnings
Necessario
bool | Literal['none', 'warn', 'error']

Come gestire gli errori di serializzazione. False/"none" li ignora, True/"warn" registra gli errori, "error" genera un [PydanticSerializationError][pydantic_core. PydanticSerializationError].

fallback
Necessario

Funzione da chiamare quando viene rilevato un valore sconosciuto. Se non specificato, [PydanticSerializationError][pydantic_core. Viene generato l'errore PydanticSerializationError].

serialize_as_any
Necessario

Indica se serializzare i campi con il comportamento di serializzazione di tipizzazione anatra.

polymorphic_serialization
Necessario

Indica se usare la serializzazione polimorfica del modello e della classe di dati per questa chiamata.

Parametri di sole parole chiave

Nome Descrizione
mode
Valore predefinito: 'python'
include
Valore predefinito: None
exclude
Valore predefinito: None
context
Valore predefinito: None
by_alias
Valore predefinito: None
exclude_unset
Valore predefinito: False
exclude_defaults
Valore predefinito: False
exclude_none
Valore predefinito: False
exclude_computed_fields
Valore predefinito: False
round_trip
Valore predefinito: False
warnings
Valore predefinito: True
fallback
Valore predefinito: None
serialize_as_any
Valore predefinito: False
polymorphic_serialization
Valore predefinito: None

Valori restituiti

Tipo Descrizione

Rappresentazione del dizionario del modello.

model_dump_json

!!! model_dump_json "Documentazione sull'utilizzo" astratta

Genera una rappresentazione JSON del modello usando il metodo to_json di Pydantic.

model_dump_json(*, indent: int | None = None, ensure_ascii: bool = False, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, context: Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | Literal['none', 'warn', 'error'] = True, fallback: Callable[[Any], Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> str

Parametri

Nome Descrizione
indent
Necessario
int | None

Rientro da usare nell'output JSON. Se None viene passato, l'output sarà compatto.

ensure_ascii
Necessario

Se True, l'output garantisce che tutti i caratteri non ASCII in ingresso siano preceduti da un carattere di escape. Se False (impostazione predefinita), questi caratteri verranno restituiti as-is.

include
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None

Campi da includere nell'output JSON.

exclude
Necessario
set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, <xref:IncEx> | bool] | Mapping[str, <xref:IncEx> | bool] | bool] | None

Campi da escludere dall'output JSON.

context
Necessario
Any | None

Contesto aggiuntivo da passare al serializzatore.

by_alias
Necessario

Indica se serializzare utilizzando alias di campo.

exclude_unset
Necessario

Indica se escludere campi che non sono stati impostati in modo esplicito.

exclude_defaults
Necessario

Indica se escludere i campi impostati sul valore predefinito.

exclude_none
Necessario

Indica se escludere campi con valore None.

exclude_computed_fields
Necessario

Indica se escludere i campi calcolati. Anche se questo può essere utile per il round trip, è in genere consigliabile usare il parametro dedicato round_trip .

round_trip
Necessario

Se True, i valori di cui è stato eseguito il dump devono essere validi come input per i tipi non idempotenti, ad esempio Json[T].

warnings
Necessario
bool | Literal['none', 'warn', 'error']

Come gestire gli errori di serializzazione. False/"none" li ignora, True/"warn" registra gli errori, "error" genera un [PydanticSerializationError][pydantic_core. PydanticSerializationError].

fallback
Necessario

Funzione da chiamare quando viene rilevato un valore sconosciuto. Se non specificato, [PydanticSerializationError][pydantic_core. Viene generato l'errore PydanticSerializationError].

serialize_as_any
Necessario

Indica se serializzare i campi con il comportamento di serializzazione di tipizzazione anatra.

polymorphic_serialization
Necessario

Indica se usare la serializzazione polimorfica del modello e della classe di dati per questa chiamata.

Parametri di sole parole chiave

Nome Descrizione
indent
Valore predefinito: None
ensure_ascii
Valore predefinito: False
include
Valore predefinito: None
exclude
Valore predefinito: None
context
Valore predefinito: None
by_alias
Valore predefinito: None
exclude_unset
Valore predefinito: False
exclude_defaults
Valore predefinito: False
exclude_none
Valore predefinito: False
exclude_computed_fields
Valore predefinito: False
round_trip
Valore predefinito: False
warnings
Valore predefinito: True
fallback
Valore predefinito: None
serialize_as_any
Valore predefinito: False
polymorphic_serialization
Valore predefinito: None

Valori restituiti

Tipo Descrizione
str

Rappresentazione di stringa JSON del modello.

model_json_schema

Genera uno schema JSON per una classe del modello.

model_json_schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, schema_generator: type[GenerateJsonSchema] = GenerateJsonSchema, mode: Literal['validation', 'serialization'] = 'validation', *, union_format: Literal['any_of', 'primitive_type_array'] = 'any_of') -> dict[str, Any]

Parametri

Nome Descrizione
by_alias

Indica se usare o meno alias di attributo.

Valore predefinito: True
ref_template
str

Modello di riferimento.

Valore predefinito: DEFAULT_REF_TEMPLATE
union_format
Necessario
Literal['any_of', 'primitive_type_array']

Formato da utilizzare quando si combinano schemi da unioni. Può essere uno dei seguenti:

parola chiave per combinare gli schemi (impostazione predefinita).

  • 'primitive_type_array': usare la parola chiave type come matrice di stringhe contenente ogni tipo della combinazione. Se uno degli schemi non è un tipo primitivo (string, boolean, null, integer o number) o contiene vincoli/metadati, esegue il fallback a any_of.
schema_generator
type[<xref:pydantic.json_schema.GenerateJsonSchema>]

Per eseguire l'override della logica usata per generare lo schema JSON, come sottoclasse di GenerateJsonSchema con le modifiche desiderate

Valore predefinito: GenerateJsonSchema
mode
Literal['validation', 'serialization']

Modalità in cui generare lo schema.

Valore predefinito: 'validation'

Parametri di sole parole chiave

Nome Descrizione
union_format
Valore predefinito: 'any_of'

Valori restituiti

Tipo Descrizione

Schema JSON per la classe del modello specificata.

model_parametrized_name

Calcolare il nome della classe per le parametrizzazioni delle classi generiche.

Questo metodo può essere sottoposto a override per ottenere uno schema di denominazione personalizzato per BaseModel generico.

model_parametrized_name(params: tuple[type[Any], ...]) -> str

Parametri

Nome Descrizione
params
Necessario
tuple[type[Any], ...]

Tupla di tipi della classe . Dato un modello di classe generico con 2 variabili di tipo e un modello concreto Model[str, int], il valore (str, int) verrebbe passato ai parametri.

Valori restituiti

Tipo Descrizione
str

Stringa che rappresenta la nuova classe in cui i parametri vengono passati a cls come variabili di tipo.

Eccezioni

Tipo Descrizione

Generato quando si tenta di generare nomi concreti per modelli non generici.

model_post_init

Eseguire l'override di questo metodo per eseguire un'inizializzazione aggiuntiva dopo init e model_construct. Questa operazione è utile se si desidera eseguire una convalida che richiede l'inizializzazione dell'intero modello.

model_post_init(context: Any, /) -> None

Parametri posizionali

Nome Descrizione
context
Necessario

Parametri

Nome Descrizione
context
Necessario
Any

Valori restituiti

Tipo Descrizione

model_rebuild

Provare a ricompilare lo schema pydantic-core per il modello.

Ciò può essere necessario quando una delle annotazioni è un ForwardRef che non è stato possibile risolvere durante il tentativo iniziale di compilare lo schema e la ricompilazione automatica non riesce.

model_rebuild(*, force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, _types_namespace: MappingNamespace | None = None) -> bool | None

Parametri

Nome Descrizione
force
Necessario

Indica se forzare la ricompilazione dello schema del modello, l'impostazione predefinita è False.

raise_errors
Necessario

Indica se generare errori, il valore predefinito è True.

_parent_namespace_depth
Necessario
int

Il livello di profondità dello spazio dei nomi padre, il valore predefinito è 2.

_types_namespace
Necessario
<xref:MappingNamespace> | None

Lo spazio dei nomi types, per impostazione predefinita, è Nessuno.

Parametri di sole parole chiave

Nome Descrizione
force
Valore predefinito: False
raise_errors
Valore predefinito: True
_parent_namespace_depth
Valore predefinito: 2
_types_namespace
Valore predefinito: None

Valori restituiti

Tipo Descrizione

Restituisce Nessuno se lo schema è già "completo" e la ricompilazione non è necessaria. Se la ricompilazione è necessaria , restituisce True se la ricompilazione è riuscita; in caso contrario, False.

model_validate

Convalidare un'istanza del modello pydantic.

model_validate(obj: Any, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, from_attributes: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> Self

Parametri

Nome Descrizione
obj
Necessario
Any

Oggetto da convalidare.

strict
Necessario

Indica se applicare rigorosamente i tipi.

extra
Necessario
Literal['allow', 'ignore', 'forbid'] | None

Se ignorare, consentire o impedire dati aggiuntivi durante la convalida del modello. Vedere [valore di configurazione aggiuntivo ][pydantic. ConfigDict.extra] per informazioni dettagliate.

from_attributes
Necessario

Indica se estrarre dati dagli attributi dell'oggetto.

context
Necessario
Any | None

Contesto aggiuntivo da passare al validator.

by_alias
Necessario

Indica se usare l'alias del campo durante la convalida rispetto ai dati di input specificati.

by_name
Necessario

Indica se usare il nome del campo durante la convalida rispetto ai dati di input specificati.

Parametri di sole parole chiave

Nome Descrizione
strict
Valore predefinito: None
extra
Valore predefinito: None
from_attributes
Valore predefinito: None
context
Valore predefinito: None
by_alias
Valore predefinito: None
by_name
Valore predefinito: None

Valori restituiti

Tipo Descrizione

Istanza del modello convalidata.

Eccezioni

Tipo Descrizione
ValidationError

Se non è stato possibile convalidare l'oggetto.

model_validate_json

!!! Analisi JSON astratta "Documentazione sull'utilizzo"

Convalidare i dati JSON specificati rispetto al modello Pydantic.

model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> Self

Parametri

Nome Descrizione
json_data
Necessario

Dati JSON da convalidare.

strict
Necessario

Indica se applicare rigorosamente i tipi.

extra
Necessario
Literal['allow', 'ignore', 'forbid'] | None

Se ignorare, consentire o impedire dati aggiuntivi durante la convalida del modello. Vedere [valore di configurazione aggiuntivo ][pydantic. ConfigDict.extra] per informazioni dettagliate.

context
Necessario
Any | None

Variabili aggiuntive da passare al validator.

by_alias
Necessario

Indica se usare l'alias del campo durante la convalida rispetto ai dati di input specificati.

by_name
Necessario

Indica se usare il nome del campo durante la convalida rispetto ai dati di input specificati.

Parametri di sole parole chiave

Nome Descrizione
strict
Valore predefinito: None
extra
Valore predefinito: None
context
Valore predefinito: None
by_alias
Valore predefinito: None
by_name
Valore predefinito: None

Valori restituiti

Tipo Descrizione

Modello Pydantic convalidato.

Eccezioni

Tipo Descrizione
ValidationError

Se json_data non è una stringa JSON o non è stato possibile convalidare l'oggetto.

model_validate_strings

Convalidare l'oggetto specificato con dati stringa rispetto al modello Pydantic.

model_validate_strings(obj: Any, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> Self

Parametri

Nome Descrizione
obj
Necessario
Any

Oggetto contenente dati stringa da convalidare.

strict
Necessario

Indica se applicare rigorosamente i tipi.

extra
Necessario
Literal['allow', 'ignore', 'forbid'] | None

Se ignorare, consentire o impedire dati aggiuntivi durante la convalida del modello. Vedere [valore di configurazione aggiuntivo ][pydantic. ConfigDict.extra] per informazioni dettagliate.

context
Necessario
Any | None

Variabili aggiuntive da passare al validator.

by_alias
Necessario

Indica se usare l'alias del campo durante la convalida rispetto ai dati di input specificati.

by_name
Necessario

Indica se usare il nome del campo durante la convalida rispetto ai dati di input specificati.

Parametri di sole parole chiave

Nome Descrizione
strict
Valore predefinito: None
extra
Valore predefinito: None
context
Valore predefinito: None
by_alias
Valore predefinito: None
by_name
Valore predefinito: None

Valori restituiti

Tipo Descrizione

Modello Pydantic convalidato.

not_empty

Verificare che i campi stringa non siano vuoti o solo spazi vuoti.

validator not_empty  »  message_id, user_message, conversation_id

Parametri

Nome Descrizione
v
Necessario
str

Valori restituiti

Tipo Descrizione
str

parse_file

parse_file(path: str | Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) -> Self

Parametri

Nome Descrizione
path
Necessario
str | <xref:Path>
content_type
Necessario
str | None
encoding
Necessario
str
proto
Necessario
<xref:DeprecatedParseProtocol> | None
allow_pickle
Necessario

Parametri di sole parole chiave

Nome Descrizione
content_type
Valore predefinito: None
encoding
Valore predefinito: 'utf8'
proto
Valore predefinito: None
allow_pickle
Valore predefinito: False

Valori restituiti

Tipo Descrizione

parse_obj

parse_obj(obj: Any) -> Self

Parametri

Nome Descrizione
obj
Necessario
Any

Valori restituiti

Tipo Descrizione

parse_raw

parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) -> Self

Parametri

Nome Descrizione
b
Necessario
content_type
Necessario
str | None
encoding
Necessario
str
proto
Necessario
<xref:DeprecatedParseProtocol> | None
allow_pickle
Necessario

Parametri di sole parole chiave

Nome Descrizione
content_type
Valore predefinito: None
encoding
Valore predefinito: 'utf8'
proto
Valore predefinito: None
allow_pickle
Valore predefinito: False

Valori restituiti

Tipo Descrizione

schema

schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE) -> Dict[str, Any]

Parametri

Nome Descrizione
by_alias
Valore predefinito: True
ref_template
str
Valore predefinito: DEFAULT_REF_TEMPLATE

Valori restituiti

Tipo Descrizione

schema_json

schema_json(*, by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, **dumps_kwargs: Any) -> str

Parametri

Nome Descrizione
by_alias
Necessario
ref_template
Necessario
str
dumps_kwargs
Necessario
Any

Parametri di sole parole chiave

Nome Descrizione
by_alias
Valore predefinito: True
ref_template
Valore predefinito: DEFAULT_REF_TEMPLATE

Valori restituiti

Tipo Descrizione
str

update_forward_refs

update_forward_refs(**localns: Any) -> None

Parametri

Nome Descrizione
localns
Necessario
Any

Valori restituiti

Tipo Descrizione

validate

validate(value: Any) -> Self

Parametri

Nome Descrizione
value
Necessario
Any

Valori restituiti

Tipo Descrizione

Attributi

model_extra

Ottiene campi aggiuntivi impostati durante la convalida.

Valori restituiti

Tipo Descrizione

Dizionario di campi aggiuntivi o Nessuno se config.extra non è impostato su "allow".

model_fields_set

Restituisce il set di campi impostati in modo esplicito in questa istanza del modello.

Valori restituiti

Tipo Descrizione

Set di stringhe che rappresentano i campi impostati, ovvero che non sono stati compilati da valori predefiniti.

conversation_id

Identificatore univoco per la conversazione.

field conversation_id: str [Required] (alias 'conversationId')

message_id

Identificatore univoco per il messaggio corrente.

field message_id: str [Required] (alias 'messageId')

user_message

Messaggio utente corrente da elaborare.

field user_message: str [Required] (alias 'userMessage')

chat_history

Elenco dei messaggi precedenti nella conversazione.

field chat_history: List[ChatHistoryMessage] [Required] (alias 'chatHistory')