ChatHistoryMessage Klasa

Reprezentuje jedną wiadomość w historii czatu.

Ten model służy do przechwytywania poszczególnych komunikatów wymienianych między użytkownikami a asystentem sztucznej inteligencji na potrzeby analizy ochrony przed zagrożeniami i monitorowania zgodności.

Konstruktor

pydantic model ChatHistoryMessage

Parametry Tylko słowo kluczowe

Nazwa Opis
id
Domyślna wartość: None
role
Wymagane
content
Wymagane
timestamp
Domyślna wartość: None

Przykłady


>>> message = ChatHistoryMessage(role="user", content="Hello, how can you help?")
>>> print(message.role)
'user'
>>> print(message.content)
'Hello, how can you help?'

Metody

__init__

Utwórz nowy model, analizowanie i weryfikowanie danych wejściowych z argumentów słów kluczowych.

Zgłasza błąd [ValidationError][pydantic_core. ValidationError] jeśli nie można zweryfikować danych wejściowych w celu utworzenia prawidłowego modelu.

Self jest jawnie pozycyjne, aby zezwolić na siebie jako nazwę pola.

__new__
construct
content_not_empty

Sprawdź, czy zawartość nie jest pusta, czy tylko odstępy.

copy

Zwraca kopię modelu.

!!! ostrzeżenie "Przestarzałe" Ta metoda jest teraz przestarzała; Zamiast tego użyj model_copy .

Jeśli potrzebujesz dołączania lub wykluczania, użyj:

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

Tworzy nowe wystąpienie klasy Model z zweryfikowanymi danymi.

Tworzy nowe ustawienie modelu dict i pydantic_fields_set na podstawie zaufanych lub wstępnie zweryfikowanych danych. Wartości domyślne są przestrzegane, ale nie jest wykonywana żadna inna walidacja.

!!! uwaga model_construct() ogólnie uwzględnia ustawienie model_config.extra w podanym modelu. Oznacza to, że jeśli model_config.extra == "allow", wszystkie dodatkowe przekazane wartości są dodawane do pól dict i pydantic_extra wystąpienia modelu. Jeśli model_config.extra == "ignoruj" (wartość domyślna), wszystkie dodatkowe przekazane wartości są ignorowane. Ponieważ nie jest wykonywana walidacja z wywołaniem model_construct (), posiadanie model_config.extra == "zakaz" nie powoduje błędu w przypadku przekazania dodatkowych wartości, ale zostaną zignorowane.

model_copy

!!! abstrakcyjna "Dokumentacja użycia" model_copy

Zwraca kopię modelu.

!!! Zwróć uwagę, że wystąpienie bazowe [dict][object.Atrybut dict] jest kopiowany. Może to mieć nieoczekiwane skutki uboczne, jeśli przechowujesz coś w nim, na podstawie pól modelu (np. wartość [właściwości w pamięci podręcznej][functools.cached_property]).

model_dump

!!! abstrakcyjna "Dokumentacja użycia" model_dump

Wygeneruj reprezentację słownika modelu, opcjonalnie określając pola do uwzględnienia lub wykluczenia.

model_dump_json

!!! abstrakcyjna "Dokumentacja użycia" model_dump_json

Generuje reprezentację JSON modelu przy użyciu metody to_json Pydantic.

model_json_schema

Generuje schemat JSON dla klasy modelu.

model_parametrized_name

Oblicz nazwę klasy dla parametryzacji klas ogólnych.

Tę metodę można zastąpić, aby uzyskać niestandardowy schemat nazewnictwa dla ogólnych modelu BaseModels.

model_post_init

Zastąpij tę metodę, aby wykonać dodatkową inicjację po zainicjowaniu i model_construct. Jest to przydatne, jeśli chcesz przeprowadzić weryfikację, która wymaga zainicjowania całego modelu.

model_rebuild

Spróbuj ponownie skompilować schemat pydantic-core dla modelu.

Może to być konieczne, gdy jedna z adnotacji jest elementem ForwardRef, którego nie można rozpoznać podczas początkowej próby skompilowania schematu, a automatyczne ponowne kompilowanie kończy się niepowodzeniem.

model_validate

Zweryfikuj wystąpienie modelu pydantic.

model_validate_json

!!! abstrakcyjna analiza kodu JSON "Dokumentacja użycia"

Zweryfikuj dane JSON względem modelu Pydantic.

model_validate_strings

Zweryfikuj dany obiekt przy użyciu danych ciągów względem modelu Pydantic.

parse_file
parse_obj
parse_raw
schema
schema_json
update_forward_refs
validate

__init__

Utwórz nowy model, analizowanie i weryfikowanie danych wejściowych z argumentów słów kluczowych.

Zgłasza błąd [ValidationError][pydantic_core. ValidationError] jeśli nie można zweryfikować danych wejściowych w celu utworzenia prawidłowego modelu.

Self jest jawnie pozycyjne, aby zezwolić na siebie jako nazwę pola.

__init__(**data: Any) -> None

Parametry

Nazwa Opis
data
Wymagane
Any

Zwraca

Typ Opis

__new__

__new__(**kwargs)

construct

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

Parametry

Nazwa Opis
_fields_set
set[str] | None
Domyślna wartość: None
values
Wymagane
Any

Zwraca

Typ Opis

content_not_empty

Sprawdź, czy zawartość nie jest pusta, czy tylko odstępy.

validator content_not_empty  »  content

Parametry

Nazwa Opis
v
Wymagane
str

Zwraca

Typ Opis
str

copy

Zwraca kopię modelu.

!!! ostrzeżenie "Przestarzałe" Ta metoda jest teraz przestarzała; Zamiast tego użyj model_copy .

Jeśli potrzebujesz dołączania lub wykluczania, użyj:

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

Parametry

Nazwa Opis
include
Wymagane
<xref:AbstractSetIntStr> | <xref:MappingIntStrAny> | None

Opcjonalny zestaw lub mapowanie określające, które pola mają być uwzględnione w skopiowanych modelach.

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

Opcjonalny zestaw lub mapowanie określające, które pola mają zostać wykluczone w skopiowanych modelach.

update
Wymagane

Opcjonalny słownik par pól-wartości w celu zastąpienia wartości pól w skopiowanym modelu.

deep
Wymagane

Jeśli wartość True, wartości pól, które są modelami Pydantic, zostaną głęboko skopiowane.

Parametry Tylko słowo kluczowe

Nazwa Opis
include
Domyślna wartość: None
exclude
Domyślna wartość: None
update
Domyślna wartość: None
deep
Domyślna wartość: False

Zwraca

Typ Opis

Kopia modelu z dołączonymi, wykluczonymi i zaktualizowanymi polami zgodnie z określonymi.

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]

Parametry

Nazwa Opis
include
Wymagane
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
Wymagane
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
Wymagane
exclude_unset
Wymagane
exclude_defaults
Wymagane
exclude_none
Wymagane

Parametry Tylko słowo kluczowe

Nazwa Opis
include
Domyślna wartość: None
exclude
Domyślna wartość: None
by_alias
Domyślna wartość: False
exclude_unset
Domyślna wartość: False
exclude_defaults
Domyślna wartość: False
exclude_none
Domyślna wartość: False

Zwraca

Typ Opis

from_orm

from_orm(obj: Any) -> Self

Parametry

Nazwa Opis
obj
Wymagane
Any

Zwraca

Typ Opis

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

Parametry

Nazwa Opis
include
Wymagane
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
Wymagane
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
Wymagane
exclude_unset
Wymagane
exclude_defaults
Wymagane
exclude_none
Wymagane
encoder
Wymagane
models_as_dict
Wymagane
dumps_kwargs
Wymagane
Any

Parametry Tylko słowo kluczowe

Nazwa Opis
include
Domyślna wartość: None
exclude
Domyślna wartość: None
by_alias
Domyślna wartość: False
exclude_unset
Domyślna wartość: False
exclude_defaults
Domyślna wartość: False
exclude_none
Domyślna wartość: False
encoder
Domyślna wartość: PydanticUndefined
models_as_dict
Domyślna wartość: PydanticUndefined

Zwraca

Typ Opis
str

model_construct

Tworzy nowe wystąpienie klasy Model z zweryfikowanymi danymi.

Tworzy nowe ustawienie modelu dict i pydantic_fields_set na podstawie zaufanych lub wstępnie zweryfikowanych danych. Wartości domyślne są przestrzegane, ale nie jest wykonywana żadna inna walidacja.

!!! uwaga model_construct() ogólnie uwzględnia ustawienie model_config.extra w podanym modelu. Oznacza to, że jeśli model_config.extra == "allow", wszystkie dodatkowe przekazane wartości są dodawane do pól dict i pydantic_extra wystąpienia modelu. Jeśli model_config.extra == "ignoruj" (wartość domyślna), wszystkie dodatkowe przekazane wartości są ignorowane. Ponieważ nie jest wykonywana walidacja z wywołaniem model_construct (), posiadanie model_config.extra == "zakaz" nie powoduje błędu w przypadku przekazania dodatkowych wartości, ale zostaną zignorowane.

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

Parametry

Nazwa Opis
_fields_set
set[str] | None

Zestaw nazw pól, które zostały pierwotnie jawnie ustawione podczas tworzenia wystąpienia. Jeśli tak, jest to używane bezpośrednio dla [model_fields_set][pydantic. BaseModel.model_fields_set] atrybut. W przeciwnym razie będą używane nazwy pól z argumentu wartości .

Domyślna wartość: None
values
Wymagane
Any

Zaufany lub wstępnie zweryfikowany słownik danych.

Zwraca

Typ Opis

Nowe wystąpienie klasy Model z zweryfikowanymi danymi.

model_copy

!!! abstrakcyjna "Dokumentacja użycia" model_copy

Zwraca kopię modelu.

!!! Zwróć uwagę, że wystąpienie bazowe [dict][object.Atrybut dict] jest kopiowany. Może to mieć nieoczekiwane skutki uboczne, jeśli przechowujesz coś w nim, na podstawie pól modelu (np. wartość [właściwości w pamięci podręcznej][functools.cached_property]).

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

Parametry

Nazwa Opis
update
Wymagane

Wartości do zmiany/dodania w nowym modelu. Uwaga: dane nie są weryfikowane przed utworzeniem nowego modelu. Te dane powinny być zaufane.

deep
Wymagane

Ustaw wartość True , aby utworzyć głęboką kopię modelu.

Parametry Tylko słowo kluczowe

Nazwa Opis
update
Domyślna wartość: None
deep
Domyślna wartość: False

Zwraca

Typ Opis

Nowe wystąpienie modelu.

model_dump

!!! abstrakcyjna "Dokumentacja użycia" model_dump

Wygeneruj reprezentację słownika modelu, opcjonalnie określając pola do uwzględnienia lub wykluczenia.

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]

Parametry

Nazwa Opis
mode
Wymagane
Literal['json', 'python'] | str

Tryb, w którym należy uruchomić to_python . Jeśli tryb to "json", dane wyjściowe będą zawierać tylko typy serializowalne w formacie JSON. Jeśli tryb to "python", dane wyjściowe mogą zawierać obiekty języka Python nieserializowalne w formacie JSON.

include
Wymagane
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

Zestaw pól do uwzględnienia w danych wyjściowych.

exclude
Wymagane
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

Zestaw pól do wykluczenia z danych wyjściowych.

context
Wymagane
Any | None

Dodatkowy kontekst przekazywany do serializatora.

by_alias
Wymagane

Czy należy używać aliasu pola w kluczu słownika, jeśli jest zdefiniowany.

exclude_unset
Wymagane

Czy wykluczyć pola, które nie zostały jawnie ustawione.

exclude_defaults
Wymagane

Czy wykluczyć pola ustawione na wartość domyślną.

exclude_none
Wymagane

Czy wykluczyć pola, które mają wartość None.

exclude_computed_fields
Wymagane

Czy wykluczyć obliczone pola. Chociaż może to być przydatne w przypadku zaokrąglania, zwykle zaleca się użycie dedykowanego parametru round_trip zamiast tego.

round_trip
Wymagane

Jeśli wartość True, wartości po cenach dumpingowych powinny być prawidłowe jako dane wejściowe dla typów innych niż idempotentne, takich jak Json[T].

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

Jak obsługiwać błędy serializacji. Wartość False/"none" ignoruje je, błędy dzienników True/"warn", "error" zgłasza błąd [PydanticSerializationError][pydantic_core. PydanticSerializationError].

fallback
Wymagane

Funkcja, która ma być wywoływana, gdy napotkana jest nieznana wartość. Jeśli nie podano, [PydanticSerializationError][pydantic_core. Zgłaszany jest błąd PydanticSerializationError].

serialize_as_any
Wymagane

Czy serializować pola z zachowaniem serializacji typu duck.

polymorphic_serialization
Wymagane

Czy używać serializacji polimorficznej modelu i klasy danych dla tego wywołania.

Parametry Tylko słowo kluczowe

Nazwa Opis
mode
Domyślna wartość: 'python'
include
Domyślna wartość: None
exclude
Domyślna wartość: None
context
Domyślna wartość: None
by_alias
Domyślna wartość: None
exclude_unset
Domyślna wartość: False
exclude_defaults
Domyślna wartość: False
exclude_none
Domyślna wartość: False
exclude_computed_fields
Domyślna wartość: False
round_trip
Domyślna wartość: False
warnings
Domyślna wartość: True
fallback
Domyślna wartość: None
serialize_as_any
Domyślna wartość: False
polymorphic_serialization
Domyślna wartość: None

Zwraca

Typ Opis

Słownikowa reprezentacja modelu.

model_dump_json

!!! abstrakcyjna "Dokumentacja użycia" model_dump_json

Generuje reprezentację JSON modelu przy użyciu metody to_json 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

Parametry

Nazwa Opis
indent
Wymagane
int | None

Wcięcie do użycia w danych wyjściowych JSON. Jeśli pole Brak zostanie przekazane, dane wyjściowe będą kompaktowe.

ensure_ascii
Wymagane

Jeśli wartość True, dane wyjściowe mają gwarancję, że wszystkie przychodzące znaki inne niż ASCII nie zostały wyjętne. Jeśli wartość false (wartość domyślna), te znaki będą zwracane as-is.

include
Wymagane
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

Pola do uwzględnienia w danych wyjściowych JSON.

exclude
Wymagane
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

Pola do wykluczenia z danych wyjściowych JSON.

context
Wymagane
Any | None

Dodatkowy kontekst przekazywany do serializatora.

by_alias
Wymagane

Czy serializować przy użyciu aliasów pól.

exclude_unset
Wymagane

Czy wykluczyć pola, które nie zostały jawnie ustawione.

exclude_defaults
Wymagane

Czy wykluczyć pola ustawione na wartość domyślną.

exclude_none
Wymagane

Czy wykluczyć pola, które mają wartość None.

exclude_computed_fields
Wymagane

Czy wykluczyć obliczone pola. Chociaż może to być przydatne w przypadku zaokrąglania, zwykle zaleca się użycie dedykowanego parametru round_trip zamiast tego.

round_trip
Wymagane

Jeśli wartość True, wartości po cenach dumpingowych powinny być prawidłowe jako dane wejściowe dla typów innych niż idempotentne, takich jak Json[T].

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

Jak obsługiwać błędy serializacji. Wartość False/"none" ignoruje je, błędy dzienników True/"warn", "error" zgłasza błąd [PydanticSerializationError][pydantic_core. PydanticSerializationError].

fallback
Wymagane

Funkcja, która ma być wywoływana, gdy napotkana jest nieznana wartość. Jeśli nie podano, [PydanticSerializationError][pydantic_core. Zgłaszany jest błąd PydanticSerializationError].

serialize_as_any
Wymagane

Czy serializować pola z zachowaniem serializacji typu duck.

polymorphic_serialization
Wymagane

Czy używać serializacji polimorficznej modelu i klasy danych dla tego wywołania.

Parametry Tylko słowo kluczowe

Nazwa Opis
indent
Domyślna wartość: None
ensure_ascii
Domyślna wartość: False
include
Domyślna wartość: None
exclude
Domyślna wartość: None
context
Domyślna wartość: None
by_alias
Domyślna wartość: None
exclude_unset
Domyślna wartość: False
exclude_defaults
Domyślna wartość: False
exclude_none
Domyślna wartość: False
exclude_computed_fields
Domyślna wartość: False
round_trip
Domyślna wartość: False
warnings
Domyślna wartość: True
fallback
Domyślna wartość: None
serialize_as_any
Domyślna wartość: False
polymorphic_serialization
Domyślna wartość: None

Zwraca

Typ Opis
str

Reprezentacja ciągu JSON modelu.

model_json_schema

Generuje schemat JSON dla klasy modelu.

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]

Parametry

Nazwa Opis
by_alias

Czy używać aliasów atrybutów, czy nie.

Domyślna wartość: True
ref_template
str

Szablon odwołania.

Domyślna wartość: DEFAULT_REF_TEMPLATE
union_format
Wymagane
Literal['any_of', 'primitive_type_array']

Format używany podczas łączenia schematów ze ze sobą. Może być jednym z:

słowo kluczowe do łączenia schematów (wartość domyślna).

  • "primitive_type_array": użyj słowa kluczowego typu jako tablicy ciągów zawierających każdy typ kombinacji. Jeśli którykolwiek ze schematów nie jest typem pierwotnym (ciąg, wartość logiczna, wartość null, liczba całkowita lub liczba) lub zawiera ograniczenia/metadane, wraca do any_of.
schema_generator
type[<xref:pydantic.json_schema.GenerateJsonSchema>]

Aby zastąpić logikę używaną do generowania schematu JSON, jako podklasę GenerateJsonSchema z żądanymi modyfikacjami

Domyślna wartość: GenerateJsonSchema
mode
Literal['validation', 'serialization']

Tryb generowania schematu.

Domyślna wartość: 'validation'

Parametry Tylko słowo kluczowe

Nazwa Opis
union_format
Domyślna wartość: 'any_of'

Zwraca

Typ Opis

Schemat JSON dla danej klasy modelu.

model_parametrized_name

Oblicz nazwę klasy dla parametryzacji klas ogólnych.

Tę metodę można zastąpić, aby uzyskać niestandardowy schemat nazewnictwa dla ogólnych modelu BaseModels.

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

Parametry

Nazwa Opis
params
Wymagane
tuple[type[Any], ...]

Krotka typów klasy. Biorąc pod uwagę ogólny model klasy z 2 zmiennymi typu i konkretnym modelem Model[str, int], wartość (str, int) zostanie przekazana do parametrów.

Zwraca

Typ Opis
str

Ciąg reprezentujący nową klasę, w której parametry są przekazywane do cls jako zmienne typu.

Wyjątki

Typ Opis

Podniesione podczas próby wygenerowania konkretnych nazw dla modeli niegenerycznych.

model_post_init

Zastąpij tę metodę, aby wykonać dodatkową inicjację po zainicjowaniu i model_construct. Jest to przydatne, jeśli chcesz przeprowadzić weryfikację, która wymaga zainicjowania całego modelu.

model_post_init(context: Any, /) -> None

Parametry Tylko lokalizacyjny

Nazwa Opis
context
Wymagane

Parametry

Nazwa Opis
context
Wymagane
Any

Zwraca

Typ Opis

model_rebuild

Spróbuj ponownie skompilować schemat pydantic-core dla modelu.

Może to być konieczne, gdy jedna z adnotacji jest elementem ForwardRef, którego nie można rozpoznać podczas początkowej próby skompilowania schematu, a automatyczne ponowne kompilowanie kończy się niepowodzeniem.

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

Parametry

Nazwa Opis
force
Wymagane

Czy wymusić ponowne kompilowanie schematu modelu, domyślnie ma wartość False.

raise_errors
Wymagane

Określa, czy zgłaszać błędy, wartość domyślna to True.

_parent_namespace_depth
Wymagane
int

Poziom głębokości nadrzędnej przestrzeni nazw domyślnie to 2.

_types_namespace
Wymagane
<xref:MappingNamespace> | None

Przestrzeń nazw typów jest domyślnie ustawiona na Brak.

Parametry Tylko słowo kluczowe

Nazwa Opis
force
Domyślna wartość: False
raise_errors
Domyślna wartość: True
_parent_namespace_depth
Domyślna wartość: 2
_types_namespace
Domyślna wartość: None

Zwraca

Typ Opis

Zwraca wartość Brak , jeśli schemat jest już "kompletny" i ponowne kompilowanie nie było wymagane. Jeśli ponowna kompilacja była wymagana, zwraca wartość True , jeśli ponowna kompilacja zakończyła się pomyślnie, w przeciwnym razie wartość False.

model_validate

Zweryfikuj wystąpienie modelu 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

Parametry

Nazwa Opis
obj
Wymagane
Any

Obiekt do zweryfikowania.

strict
Wymagane

Czy wymuszać typy ściśle.

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

Czy ignorować, zezwalać lub zabraniać dodatkowych danych podczas walidacji modelu. Zobacz [dodatkową wartość konfiguracji][pydantic. Plik ConfigDict.extra] zawiera szczegółowe informacje.

from_attributes
Wymagane

Czy wyodrębnić dane z atrybutów obiektu.

context
Wymagane
Any | None

Dodatkowy kontekst przekazywany do modułu sprawdzania poprawności.

by_alias
Wymagane

Czy używać aliasu pola podczas sprawdzania poprawności względem podanych danych wejściowych.

by_name
Wymagane

Czy należy używać nazwy pola podczas sprawdzania poprawności względem podanych danych wejściowych.

Parametry Tylko słowo kluczowe

Nazwa Opis
strict
Domyślna wartość: None
extra
Domyślna wartość: None
from_attributes
Domyślna wartość: None
context
Domyślna wartość: None
by_alias
Domyślna wartość: None
by_name
Domyślna wartość: None

Zwraca

Typ Opis

Zweryfikowane wystąpienie modelu.

Wyjątki

Typ Opis
ValidationError

Jeśli nie można zweryfikować obiektu.

model_validate_json

!!! abstrakcyjna analiza kodu JSON "Dokumentacja użycia"

Zweryfikuj dane JSON względem modelu 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

Parametry

Nazwa Opis
json_data
Wymagane

Dane JSON do zweryfikowania.

strict
Wymagane

Czy wymuszać typy ściśle.

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

Czy ignorować, zezwalać lub zabraniać dodatkowych danych podczas walidacji modelu. Zobacz [dodatkową wartość konfiguracji][pydantic. Plik ConfigDict.extra] zawiera szczegółowe informacje.

context
Wymagane
Any | None

Dodatkowe zmienne do przekazania do modułu sprawdzania poprawności.

by_alias
Wymagane

Czy używać aliasu pola podczas sprawdzania poprawności względem podanych danych wejściowych.

by_name
Wymagane

Czy należy używać nazwy pola podczas sprawdzania poprawności względem podanych danych wejściowych.

Parametry Tylko słowo kluczowe

Nazwa Opis
strict
Domyślna wartość: None
extra
Domyślna wartość: None
context
Domyślna wartość: None
by_alias
Domyślna wartość: None
by_name
Domyślna wartość: None

Zwraca

Typ Opis

Zweryfikowany model Pydantic.

Wyjątki

Typ Opis
ValidationError

Jeśli json_data nie jest ciągiem JSON lub nie można zweryfikować obiektu.

model_validate_strings

Zweryfikuj dany obiekt przy użyciu danych ciągów względem modelu 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

Parametry

Nazwa Opis
obj
Wymagane
Any

Obiekt zawierający dane ciągu do zweryfikowania.

strict
Wymagane

Czy wymuszać typy ściśle.

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

Czy ignorować, zezwalać lub zabraniać dodatkowych danych podczas walidacji modelu. Zobacz [dodatkową wartość konfiguracji][pydantic. Plik ConfigDict.extra] zawiera szczegółowe informacje.

context
Wymagane
Any | None

Dodatkowe zmienne do przekazania do modułu sprawdzania poprawności.

by_alias
Wymagane

Czy używać aliasu pola podczas sprawdzania poprawności względem podanych danych wejściowych.

by_name
Wymagane

Czy należy używać nazwy pola podczas sprawdzania poprawności względem podanych danych wejściowych.

Parametry Tylko słowo kluczowe

Nazwa Opis
strict
Domyślna wartość: None
extra
Domyślna wartość: None
context
Domyślna wartość: None
by_alias
Domyślna wartość: None
by_name
Domyślna wartość: None

Zwraca

Typ Opis

Zweryfikowany model Pydantic.

parse_file

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

Parametry

Nazwa Opis
path
Wymagane
str | <xref:Path>
content_type
Wymagane
str | None
encoding
Wymagane
str
proto
Wymagane
<xref:DeprecatedParseProtocol> | None
allow_pickle
Wymagane

Parametry Tylko słowo kluczowe

Nazwa Opis
content_type
Domyślna wartość: None
encoding
Domyślna wartość: 'utf8'
proto
Domyślna wartość: None
allow_pickle
Domyślna wartość: False

Zwraca

Typ Opis

parse_obj

parse_obj(obj: Any) -> Self

Parametry

Nazwa Opis
obj
Wymagane
Any

Zwraca

Typ Opis

parse_raw

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

Parametry

Nazwa Opis
b
Wymagane
content_type
Wymagane
str | None
encoding
Wymagane
str
proto
Wymagane
<xref:DeprecatedParseProtocol> | None
allow_pickle
Wymagane

Parametry Tylko słowo kluczowe

Nazwa Opis
content_type
Domyślna wartość: None
encoding
Domyślna wartość: 'utf8'
proto
Domyślna wartość: None
allow_pickle
Domyślna wartość: False

Zwraca

Typ Opis

schema

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

Parametry

Nazwa Opis
by_alias
Domyślna wartość: True
ref_template
str
Domyślna wartość: DEFAULT_REF_TEMPLATE

Zwraca

Typ Opis

schema_json

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

Parametry

Nazwa Opis
by_alias
Wymagane
ref_template
Wymagane
str
dumps_kwargs
Wymagane
Any

Parametry Tylko słowo kluczowe

Nazwa Opis
by_alias
Domyślna wartość: True
ref_template
Domyślna wartość: DEFAULT_REF_TEMPLATE

Zwraca

Typ Opis
str

update_forward_refs

update_forward_refs(**localns: Any) -> None

Parametry

Nazwa Opis
localns
Wymagane
Any

Zwraca

Typ Opis

validate

validate(value: Any) -> Self

Parametry

Nazwa Opis
value
Wymagane
Any

Zwraca

Typ Opis

Atrybuty

model_extra

Pobierz dodatkowe pola ustawione podczas walidacji.

Zwraca

Typ Opis

Słownik dodatkowych pól lub Brak, jeśli parametr config.extra nie jest ustawiony na wartość "allow".

model_fields_set

Zwraca zestaw pól, które zostały jawnie ustawione w tym wystąpieniu modelu.

Zwraca

Typ Opis

Zestaw ciągów reprezentujących ustawione pola, tj. które nie zostały wypełnione z wartości domyślnych.

id

Opcjonalny unikatowy identyfikator komunikatu.

field id: str | None = None

role

Rola nadawcy wiadomości (użytkownika, asystenta lub systemu).

field role: Literal['user', 'assistant', 'system'] [Required]

content

Zawartość tekstowa wiadomości.

field content: str [Required]

timestamp

Opcjonalny znacznik czasu podczas tworzenia komunikatu.

field timestamp: datetime | None = None