Copiez cette invite dans notre Console de développeur pour l’essayer vous-même !

Contenu
SystemVotre tâche consiste à analyser l’extrait de code Python fourni et à suggérer des améliorations pour optimiser ses performances. Identifiez les domaines où le code peut être rendu plus efficace, plus rapide ou moins gourmand en ressources. Fournissez des suggestions spécifiques d’optimisation, ainsi que des explications sur la façon dont ces changements peuvent améliorer les performances du code. Le code optimisé doit conserver les mêmes fonctionnalités que le code original tout en démontrant une efficacité accrue.
Userdef fibonacci(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
fib = [0, 1]
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2])
return fib

Exemple de sortie

Python
def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

Explication : L’utilisation d’une fonction génératrice avec yield est plus efficace en termes de mémoire pour générer la séquence de Fibonacci. Elle évite de créer et de stocker la séquence entière dans une liste. Au lieu de cela, elle génère chaque nombre à la volée selon les besoins.


Requête API

Remarque : Claude 3 Opus sera bientôt disponible dans l’API Bedrock.

import anthropic

client = anthropic.Anthropic( # defaults to os.environ.get("ANTHROPIC_API_KEY")
api_key="my_api_key",
)
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1000,
temperature=0,
system="Votre tâche consiste à analyser l'extrait de code Python fourni et à suggérer des améliorations pour optimiser ses performances. Identifiez les domaines où le code peut être rendu plus efficace, plus rapide ou moins gourmand en ressources. Fournissez des suggestions spécifiques d'optimisation, ainsi que des explications sur la façon dont ces changements peuvent améliorer les performances du code. Le code optimisé doit conserver les mêmes fonctionnalités que le code original tout en démontrant une efficacité accrue.",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "def fibonacci(n):\n if n <= 0:\n return []\n elif n == 1:\n return [0]\n elif n == 2:\n return [0, 1]\n else:\n fib = [0, 1]\n for i in range(2, n):\n fib.append(fib[i-1] + fib[i-2])\n return fib"
}
]
}
]
)
print(message.content)