Tive um problema ao declarar o campo Field para tipos diferentes de string, ex: ano_de_conclusao:int = Field( "Ano de conclusão")
. Isso ocorre porque o primeiro argumento passado refere-se ao valor default para o campo informado, e nesse caso deveria ser um inteiro. Porém como não queremos um valor default, temos que usar os argumetnos nomeados da classe (title ou description). No meu caso utilizei assim:ano_de_conclusao:int = Field(description= "Ano de conclusão")
isso vale para os demais tipos.
Acredito que seja a versão da lib mais atual.