Testing this python code on UBUNTU :

    import requests
    import json
    from eth_account import Account
    from web3 import Web3, HTTPProvider
     
    caller = "0xb9****f832860DBD"
    private_key = "1d7bb4b13a48b54********5336726f"
     
    url = 'https://sepolia.infura.io/v3/8afa5e30c******14b5d'
     
    w3 = Web3(HTTPProvider(url))
    #nonce = w3.eth.getTransactionCount(caller)
     
    abi= '[{"constant": false,"inputs": [{"***************************": [{"name": "","type": "bool"}],"payable": false,"stateMutability": "view","type": "function"},{"constant": true,"inputs": [],"name": "Owner","outputs": [{"name": "","type": "address"}],"payable": false,"stateMutability": "view","type": "function"}]'
      
    nonce=w3.eth.get_transaction_count(caller)
    chainId = w3.eth.chain_id
     
    contract_address = "0x*******9B78"
     
    contract = w3.eth.contract(address=contract_address, abi=abi)
     

When I try to continue my editor doesn'found contract.functions .....

Trace expl 1

web3.exceptions.Web3ValidationError: 
Could not identify the intended function with name `CheckMoneyOnTheContract`, positional arguments with type(s) `dict` and keyword arguments with type(s) `{}`.
Found 1 function(s) with the name `CheckMoneyOnTheContract`: ['CheckMoneyOnTheContract()']
Function invocation failed due to improper number of arguments.
has context menu

(For me the abi is correct)

Trace expl 2

Web3 version: 
Traceback (most recent call last):
  File "/home/**************epolia.py", line 7, in <module>
    print(Web3.version)
AttributeError: type object 'Web3' has no attribute 'version'


Can somebody tell me my ??