Transformers рдмрдирд╛рдо Mamba: рдЕрдВрддрд░ рд╕рдордЭреЗрдВ
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ Codestral Mamba рдХреНрдпреЛрдВ рдЕрд▓рдЧ рд╣реИ, рдЗрд╕рдХреА рдЖрдзрд╛рд░рднреВрдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░тАФMamba рд╕реНрдЯреЗрдЯ-рд╕реНрдкреЗрд╕ рдореЙрдбрд▓ (SSM)тАФрдХреА рддреБрд▓рдирд╛ рдкрд╛рд░рдВрдкрд░рд┐рдХ Transformer рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реЗ рдХрд░реЗрдВред
Transformers
Transformer рдореЙрдбрд▓, рдЬреИрд╕реЗ GPT-4o, рд╕реЗрд▓реНрдл-рдЕрдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдПрдХ рд╕рд╛рде рдЗрдирдкреБрдЯ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдХрд░ рдЬрдЯрд┐рд▓ рднрд╛рд╖рд╛ рдХрд╛рд░реНрдп рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрдирдореЗрдВ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдХреНрд╡рд╛рдбреНрд░реЗрдЯрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рдмрдврд╝рддрд╛ рд╣реИ, рдЙрдирдХрд╛ рдХрдВрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд▓рд╛рдЧрдд рдФрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдмрд╣реБрдд рд▓рдВрдмреА рд╕реАрдХреНрд╡реЗрдВрд╕ рдкрд░ рдпреЗ рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
Mamba
State Space Models (SSMs) рдкрд░ рдЖрдзрд╛рд░рд┐рдд Mamba рдореЙрдбрд▓ рдЗрд╕ рдХреНрд╡рд╛рдбреНрд░реЗрдЯрд┐рдХ рдмрд╛рдзрд╛ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡реЗ рд▓рдВрдмреА рд╕реАрдХреНрд╡реЗрдВрд╕тАФрдпрд╣рд╛рдБ рддрдХ рдХрд┐ 1 рдорд┐рд▓рд┐рдпрди рдЯреЛрдХрди рддрдХтАФрдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрднрд╛рд▓ рдкрд╛рддреЗ рд╣реИрдВред рд╡реЗ Transformers рд╕реЗ рдкрд╛рдБрдЪ рдЧреБрдирд╛ рддрдХ рддреЗрдЬрд╝ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред
Mamba, Transformers рдХреЗ рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рд▓рдВрдмреА рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╕реНрдХреЗрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд░рдЪрдпрд┐рддрд╛рдУрдВ Albert Gu рдФрд░ Tri Dao рдХреЗ рдЕрдиреБрд╕рд╛рд░, Mamba рддреЗрдЬрд╝ рдЗрдВрдлрд╝рд░реЗрдВрд╕ рдФрд░ рд░реИрдЦрд┐рдХ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдХреНрд╕рд░ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреЗ Transformers рд╕реЗ рдмреЗрд╣рддрд░ рдФрд░ рдЙрдирд╕реЗ рджреЛрдЧреБрдиреЗ рдмрдбрд╝реЗ рдореЙрдбрд▓реЛрдВ рдХреЗ рдмрд░рд╛рдмрд░ рдкреНрд░рджрд░реНрд╢рди рджреЗрддрд╛ рд╣реИред

рдХреЛрдб рдХреЗ рд▓рд┐рдП Mamba рдХреНрдпреЛрдВ?
Mamba рдХреА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЬрд╣рд╛рдБ рд▓рдВрдмреА рд╕реАрдХреНрд╡реЗрдВрд╕ рдкрд░ рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддрд╛ рд╣реИред Transformers рд▓рдВрдмреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдзреАрдореЗ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдореЗрдореЛрд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ Mamba рдХреА рд░реИрдЦрд┐рдХ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдЕрдирдВрдд рд╕рдВрджрд░реНрдн рд▓рдВрдмрд╛рдЗрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрдбрд╝реЗ рдХреЛрдбрдмреЗрд╕ рдкрд░ рддреЗрдЬрд╝ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рджрд░реНрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИред
Transformers рдЕрдкрдиреЗ рдЕрдЯреЗрдВрд╢рди рдореИрдХреЗрдирд┐рдЬрд╝реНрдо рдореЗрдВ рдХреНрд╡рд╛рдбреНрд░реЗрдЯрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рдЬреВрдЭрддреЗ рд╣реИрдВред рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рджреМрд░рд╛рди рд╣рд░ рдЯреЛрдХрди рд╣рд░ рдкрд┐рдЫрд▓реЗ рдЯреЛрдХрди рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрдВрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдФрд░ рдореЗрдореЛрд░реА рд▓рд╛рдЧрдд рдмрд╣реБрдд рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕рдВрджрд░реНрдн рдЖрдХрд╛рд░ рдмрдврд╝рддрд╛ рд╣реИ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдирдП рдЯреЛрдХрди рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ рдзреАрдорд╛ рд╣реЛрддрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдореЗрдореЛрд░реА рдУрд╡рд░рдлрд╝реНрд▓реЛ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдЖрдиреЗ рд▓рдЧрддреА рд╣реИрдВред
Mamba, SSM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЛрдХрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреБрд╢рд▓ рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ Transformers рдХреА рдХреНрд╡рд╛рдбреНрд░реЗрдЯрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рд▓рдВрдмреА рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреЛ рджрдХреНрд╖рддрд╛ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╡рд┐рд╕реНрддреГрдд рд╕рдВрджрд░реНрдн рд╕рдВрднрд╛рд▓рдиреЗ рд╡рд╛рд▓реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдордЬрд╝рдмреВрдд рд╡рд┐рдХрд▓реНрдк рдмрдирддрд╛ рд╣реИред
Codestral Mamba рдмреЗрдВрдЪрдорд╛рд░реНрдХ
Codestral Mamba (7B) рдХреЛрдб-рд╕рдореНрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИ рдФрд░ HumanEval рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЕрдиреНрдп 7B рдореЙрдбрд▓реЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХреНрд╖рдорддрд╛ рдорд╛рдкрддрд╛ рд╣реИред

рд╕реНрд░реЛрдд: Mistral AI
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ Python рдХреЗ рд▓рд┐рдП HumanEval рдкрд░ 75.0% рд╕рдЯреАрдХрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ CodeGemma-1.1 7B (61.0%), CodeLlama 7B (31.1%), рдФрд░ DeepSeek v1.5 7B (65.9%) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рдпрд╣ рдмрдбрд╝реЗ Codestral (22B) рдореЙрдбрд▓ рдХреЗ 81.1% рд╕рдЯреАрдХрддрд╛ рдХреЗ рдХрд░реАрдм рдкрд╣реБрдБрдЪрддрд╛ рд╣реИред
HumanEval рдХреА рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рднреА Codestral Mamba рдордЬрд╝рдмреВрдд рдкреНрд░рджрд░реНрд╢рди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдЗрд╕рдХрд╛ Bash рд╕реНрдХреЛрд░ рдЕрдиреНрдп рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реИ, рдлрд┐рд░ рднреА рдпрд╣ рдЕрдкрдиреЗ рд╡рд░реНрдЧ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реИред
рд╡рд┐рд╢реЗрд╖ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдХреНрд░реЙрд╕-рдЯрд╛рд╕реНрдХ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХреЗ рд▓рд┐рдП CruxE рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░ Codestral Mamba 57.8% рд╕реНрдХреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ CodeGemma-1.1 7B рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ рдФрд░ CodeLlama 34B рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рдпреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо рдХреЛрдб рдЬрдирд░реЗрд╢рди рдФрд░ рд╕рдордЭрдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ Codestral Mamba рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЗрд╕рдХреЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреЛ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡рд┐рдпреЛрдВ рд╕реЗ рддреБрд▓рдирд╛ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рдПред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдФрд░ рдЕрдзрд┐рдХ рдореЙрдбрд▓реЛрдВ рд╡ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд╡ рддреБрд▓рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдгрд╛рдо Codestral Mamba рдХреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╢рд╛рдЬрдирдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
Codestral Mamba рд╕реЗрдЯрдЕрдк
рдЖрдЗрдП Codestral Mamba рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдгреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди
Codestral Mamba рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
pip install codestral_mamba
API рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
Codestral API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ API рдХреБрдВрдЬреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- Mistral AI рд╕рд╛рдЗрди-рдЕрдк рдкреЗрдЬ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБред
- api.mistral.ai рдкрд░ API Keys рдЯреИрдм рдореЗрдВ рдЬрд╛рдПрдБред рдЕрдкрдиреА API рдХреБрдВрдЬреА рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Create new key рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдЕрдкрдиреА API рдХреБрдВрдЬреА рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдг рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
export MISTRAL_API_KEY='your_api_key'
Codestral Mamba рдХреЗ рдЙрдкрдпреЛрдЧ
рдЕрдм рдЬрдм рд╣рдордиреЗ Codestral Mamba рд╕реЗрдЯ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред
рдХреЛрдб рдХрдВрдкреНрд▓реАрд╢рди
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзреВрд░рд╛ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ, рддреЛ рдЙрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Codestral Mamba рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
import os
from mistralai.client import MistralClient
from mistralai.models.chat_completion import ChatMessage
api_key = os.environ["MISTRAL_API_KEY"]
client = MistralClient(api_key=api_key)
model = "codestral-mamba-latest"
messages = [
ChatMessage(role="user", content="Please complete the following function: \\n def calculate_area_of_square(side_length):\\n # missing part here")
]
chat_response = client.chat(
model=model,
messages=messages
)
print(chat_response.choices[0].message.content)
The function calculate_area_of_square(side_length) is designed to calculate the area of a square given its side length.
The area of a square can be calculated by squaring the length of one of its sides. Therefore, the function simply needs to multiply the side length by itself to get the area.
Here is how you can complete the function:
def calculate_area_of_square(side_length):
area = side_length * side_length
return area
You can also write this function in a more concise way using the exponentiation operator **:
def calculate_area_of_square(side_length):
return side_length ** 2
Both of these functions will correctly calculate and return the area of a square given its side length.
рдлрд╝рдВрдХреНрд╢рди рдЬрдирд░реЗрд╢рди
Codestral Mamba рд╡рд┐рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рднреА рдЬрдирд░реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦреЗрдВ: тАЬрдХреГрдкрдпрд╛ рдРрд╕рд╛ Python рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ рдЬреЛ рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рд▓реМрдЯрд╛рдПредтАЭ
import os
from mistralai.client import MistralClient
from mistralai.models.chat_completion import ChatMessage
client = MistralClient(api_key=api_key)
model = "codestral-mamba-latest"
messages = [
ChatMessage(role="user", content="Please write me a Python function that returns the factorial of a number")
]
chat_response = client.chat(
model=model,
messages=messages
)
print(chat_response.choices[0].message.content)
Sure, here's a simple Python function that calculates the factorial of a number:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
This function uses recursion, a method in which a function calls itself. The base case is when n is 0, in which case the function returns 1. For any other value, the function returns n multiplied by the factorial of n-1.
рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ
рдЕрдВрдд рдореЗрдВ, рдЖрдк рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдФрд░ рд░рд┐рдлреИрдХреНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Codestral Mamba рдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
import os
from mistralai.client import MistralClient
from mistralai.models.chat_completion import ChatMessage
api_key = os.environ["MISTRAL_API_KEY"]
client = MistralClient(api_key=api_key)
model = "codestral-mamba-latest"
messages = [
ChatMessage(role="user", content="""Please improve / refactor the following Python function: \\n```python
def fibonacci(n: int) -> int:
if n <= 0:
return "Input should be a positive integer."
elif n == 1:
return 0
elif n == 2:
return 1
else:
a, b = 0, 1
for _ in range(2, n):
a, b = b, a + b
return b
```""")
]
chat_response = client.chat(
model=model,
messages=messages
)
print(chat_response.choices[0].message.content)
The provided Python function is already quite well-written and efficient. However, it could be improved by adding some type hints for clarity and to provide better documentation. Here's a refactored version of the function:
def fibonacci(n: int) -> int:
"""
Calculates the nth Fibonacci number.
Args:
n (int): The position of the Fibonacci number to be calculated.
Returns:
int: The nth Fibonacci number.
"""
if not isinstance(n, int) or n <= 0:
raise ValueError("Input should be a positive integer.")
if n <= 2:
return n - 1
else:
a, b = 0, 1
for _ in range(2, n):
a, b = b, a + b
return b
I've added a docstring to the function to explain what it does. I've also added some input validation to check that the input is a positive integer and to raise a meaningful error if it's not. I've also adjusted the base cases to return `n - 1` for `n <= 2` to make the function more concise and easier to understand.
Codestral Mamba рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн
Codestral Mamba рдХрдИ рдЕрдиреНрдп рдлрд╛рдпрджреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдПрдХ рдЖрдХрд░реНрд╖рдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддреЗ рд╣реИрдВред
рдмрд╣реБрднрд╛рд╖реА рд╕рдорд░реНрдерди
Codestral Mamba 80 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдЪреАрд▓рд╛ рдЯреВрд▓ рдмрдирддрд╛ рд╣реИтАФрдЪрд╛рд╣реЗ рдЖрдк Python, JavaScript рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦ рд░рд╣реЗ рд╣реЛрдВред
рдмрдбрд╝рд╛ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╡рд┐рдВрдбреЛ
256,000 рдЯреЛрдХрди рддрдХ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде, Codestral Mamba рдмрдбрд╝реЗ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд░рдЦ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬрд╣рд╛рдБ рд╡реНрдпрд╛рдкрдХ рдХреЛрдб рдФрд░ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рд╣реЛрддрд╛ рд╣реИред
рдУрдкрди-рд╕реЛрд░реНрд╕ рд▓рд╛рдн
Codestral Mamba рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реИ рдФрд░ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЙрдкрд▓рдмреНрдз рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреЛрдб рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЗрд╕реЗ рджреЗрдЦ, рд╕рдВрд╢реЛрдзрд┐рдд рдпрд╛ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реЛрдиреЗ рд╕реЗ рд╕рдореБрджрд╛рдп рд╕рд╣рдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЙрдбрд▓ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реБрдзрд╛рд░ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Codestral Mamba рдХрд╛ рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдФрд░ рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧ
рдЬрд╣рд╛рдБ Codestral Mamba рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реА рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдХреНрд╖рдорддрд╛рдПрдБ рджреЗрддрд╛ рд╣реИ, рд╡рд╣реАрдВ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрд╝рд░реВрд░рддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдФрд░ рдЙрдиреНрдирдд рдкреНрд░реЙрдореНрдкреНрдЯрд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рд╕реЗ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛ рдкрд░ рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ
Codestral Mamba рдХреЛ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдкрд░ рдлрд╛рдЗрди-рдЯреНрдпреВрди рдХрд░рдХреЗ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рддреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдЖрдкрдХреЗ рд╡рд┐рд╢реЗрд╖ рдбреЛрдореЗрди рдпрд╛ рдХреЛрдбрдмреЗрд╕ рдХреЗ рдЕрдиреБрд░реВрдк рдХреЛрдб рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдЯреНрд░реЗрди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛, рд╕рдЯреАрдХрддрд╛ рдФрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдмрдврд╝рддреА рд╣реИред
рдЙрдиреНрдирдд рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕
рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк Codestral Mamba рдХреЗ рд╕рд╛рде рдЙрдиреНрдирдд рдкреНрд░реЙрдореНрдкреНрдЯрд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реА рд╣реА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЪреЗрди-рдСрдлрд╝-рдереЙрдЯ рдкреНрд░реЙрдореНрдкреНрдЯрд┐рдВрдЧ, рдЬрд┐рд╕рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдЪрд░рдг-рджрд░-рдЪрд░рдг рддрд░реНрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рддрдХрдиреАрдХ рдореЙрдбрд▓ рдХреА рдЙрдиреНрдирдд рддрд░реНрдХ-рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡ рд╡рд┐рдЪрд╛рд░рдкреВрд░реНрдг рдЙрддреНрддрд░ рджреЗрддреА рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
Mamba рд╕реНрдЯреЗрдЯ-рд╕реНрдкреЗрд╕ рдореЙрдбрд▓ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реБрдП Codestral Mamba, рд▓рдВрдмреА рдХреЛрдб рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ Transformer рдореЙрдбрд▓реЛрдВ рдХреА рд╕реАрдорд╛рдПрдБ рджреВрд░ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХрд╛ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕реНрд╡рд░реВрдк, рдмрд╣реБрднрд╛рд╖реА рд╕рдорд░реНрдерди, рдФрд░ рдмрдбрд╝реЗ рд╕рдВрджрд░реНрдн рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЗрд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдпрд╡рд╛рди рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддреА рд╣реИред
рдпрджрд┐ рдЖрдк Mistral рдХреЗ LLM рд╕реВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд╕реБрдЭрд╛рддрд╛ рд╣реВрдБ:
рд░рд╛рдпрди рдПрдХ рд▓реАрдб рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрдЯрд┐рд╕реНрдЯ рд╣реИрдВ рдЬреЛ LLMs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдЖрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд░рдЦрддреЗ/рд░рдЦрддреА рд╣реИрдВред рд╡реЗ рдЗрдореНрдкреАрд░рд┐рдпрд▓ рдХреЙрд▓реЗрдЬ рд▓рдВрджрди рдореЗрдВ рдиреИрдЪреБрд░рд▓ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рдиреЙрд▓реЗрдЬ рдЧреНрд░рд╛рдлреНрд╕ рдореЗрдВ рдкреАрдПрдЪрдбреА рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИрдВ, рдЬрд╣рд╛рдБ рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд╛рдЗрдВрд╕ рдореЗрдВ рдЕрдкрдирд╛ рдорд╛рд╕реНрдЯрд░тАЩрд╕ рднреА рдкреВрд░рд╛ рдХрд┐рдпрд╛ рд╣реИред рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ Substack рдиреНрдпреВрдЬрд╝рд▓реЗрдЯрд░┬аThe Limitless Playbook рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рджреБрдирд┐рдпрд╛ рдХреЗ рдЕрдЧреНрд░рдгреА рд╡рд┐рдЪрд╛рд░рдХреЛрдВ рд╕реЗ рдПрдХ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдореВрд▓рднреВрдд рдПрдЖрдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдкрд░ рднреА рд▓рд┐рдЦрддреЗ рд╣реИрдВред

Mistral AI рдХрд╛ Codestral Mamba рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЛрдб рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рдореЙрдбрд▓ рд╣реИред
рдкрд╛рд░рдВрдкрд░рд┐рдХ Transformer-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбрд▓реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ Mamba рд╕реНрдЯреЗрдЯ-рд╕реНрдкреЗрд╕ рдореЙрдбрд▓ (SSM) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд▓рдВрдмреА рдХреЛрдб рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ рджрдХреНрд╖рддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдлрд╛рдпрджреЗ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдкреНрд░рдореБрдЦ рдЕрдВрддрд░ рд╕рдордЭреЗрдВрдЧреЗ рдФрд░ Codestral Mamba рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗред