OptimAI est un module Python puissant conçu pour optimiser votre code en analysant ses performances et en fournissant des suggestions exploitables. Il exploite un grand modèle de langage (LLM) pour vous fournir des informations et des recommandations détaillées basées sur les données de profilage collectées lors de l'exécution de votre code. Ce module prend en charge différents types de profileurs du package perfwatch.
Vous pouvez installer OptimAI en utilisant pip :
pip install optimizeai
Pour utiliser OptimAI, vous devez le configurer avec votre fournisseur LLM préféré et votre clé API. Les fournisseurs LLM pris en charge incluent Google (modèles Gemini), OpenAI, Ollama, HuggingFace et Anthropic. Pour Ollama, vous devez avoir installé Ollama et les artefacts du modèle doivent également être téléchargés au préalable.
Sélectionnez le fournisseur LLM :
llm = "google"
llm = "openai"
llm = "huggingface"
llm = "anthropic"
llm = "ollama"
Choisissez le modèle :
model = "gpt-4"
, model = "gemini-1.5-flash"
, model = "codegemma"
, ou tout autre modèle spécifique au fournisseur LLM choisi.Définissez la clé API :
Voici un exemple de base montrant comment utiliser OptimAI pour optimiser une fonction :
from optimizeai . decorators . optimize import optimize
from optimizeai . config import Config
from dotenv import load_dotenv
import time
import os
# Load environment variables
load_dotenv ()
llm = os . getenv ( "LLM" )
key = os . getenv ( "API_KEY" )
model = os . getenv ( "MODEL" )
# Configure LLM
llm_config = Config ( llm = llm , model = model , key = key )
perfwatch_params = [ "line" , "cpu" , "time" ]
# Define a test function to be optimized
@ optimize ( config = llm_config , profiler_types = perfwatch_params )
def test ():
for _ in range ( 10 ):
time . sleep ( 0.1 )
print ( "Hello World!" )
pass
if __name__ == "__main__" :
test ()
Vous pouvez définir les variables d'environnement ( LLM
, API_KEY
, MODEL
) dans un fichier .env
pour faciliter l'utilisation :
LLM=google
API_KEY=your_google_api_key
MODEL=gemini-1.5-flash
Nous apprécions les contributions à OptimAI ! Si vous avez une idée pour une nouvelle fonctionnalité ou si vous avez trouvé un bug, veuillez ouvrir un ticket sur GitHub. Si vous souhaitez contribuer au code, veuillez créer le référentiel et soumettre une pull request.
git checkout -b feature-branch
).git commit -m 'Add new feature'
).git push origin feature-branch
).OptimAI est sous licence MIT. Voir le fichier LICENSE pour plus de détails.