Bibliothèque de prompts
Consultant en code
Suggérer des améliorations pour optimiser les performances du code Python.
Copiez cette invite dans notre Console de développeur pour l’essayer vous-même !
Contenu | |
---|---|
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. |
User | def 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)