OptimAI ist ein leistungsstarkes Python-Modul, das zur Optimierung Ihres Codes entwickelt wurde, indem es seine Leistung analysiert und umsetzbare Vorschläge liefert. Es nutzt ein großes Sprachmodell (LLM), um Ihnen detaillierte Einblicke und Empfehlungen basierend auf den Profilierungsdaten zu geben, die während der Ausführung Ihres Codes gesammelt werden. Dieses Modul unterstützt verschiedene Arten von Profilern aus dem Paket perfwatch.
Sie können OptimAI mit pip installieren:
pip install optimizeai
Um OptimAI verwenden zu können, müssen Sie es mit Ihrem bevorzugten LLM-Anbieter und API-Schlüssel konfigurieren. Zu den unterstützten LLM-Anbietern gehören Google (Gemini-Modelle), OpenAI, Ollama, HuggingFace und Anthropic. Für Ollama muss Ollama installiert sein und die Modellartefakte müssen ebenfalls zuvor heruntergeladen werden.
Wählen Sie den LLM-Anbieter aus :
llm = "google"
llm = "openai"
llm = "huggingface"
llm = "anthropic"
llm = "ollama"
Wählen Sie das Modell :
model = "gpt-4"
, model = "gemini-1.5-flash"
, model = "codegemma"
oder jedes andere Modell, das für den ausgewählten LLM-Anbieter spezifisch ist.Legen Sie den API-Schlüssel fest :
Hier ist ein einfaches Beispiel, das zeigt, wie man OptimAI zur Optimierung einer Funktion verwendet:
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 ()
Zur einfacheren Verwendung können Sie die Umgebungsvariablen ( LLM
, API_KEY
, MODEL
) in einer .env
Datei festlegen:
LLM=google
API_KEY=your_google_api_key
MODEL=gemini-1.5-flash
Wir freuen uns über Beiträge zu OptimAI! Wenn Sie eine Idee für eine neue Funktion haben oder einen Fehler gefunden haben, öffnen Sie bitte ein Issue auf GitHub. Wenn Sie Code beisteuern möchten, forken Sie bitte das Repository und senden Sie eine Pull-Anfrage.
git checkout -b feature-branch
).git commit -m 'Add new feature'
).git push origin feature-branch
).OptimAI ist unter der MIT-Lizenz lizenziert. Weitere Einzelheiten finden Sie in der LICENSE-Datei.