OptimAI は、パフォーマンスを分析し、実用的な提案を提供することでコードを最適化するように設計された強力な Python モジュールです。大規模言語モデル (LLM) を利用して、コードの実行中に収集されたプロファイリング データに基づいて詳細な洞察と推奨事項を提供します。このモジュールは、perfwatch パッケージのさまざまな種類のプロファイラーをサポートします。
pip を使用して OptimAI をインストールできます。
pip install optimizeai
OptimAI を使用するには、好みの LLM プロバイダーと API キーを使用して構成する必要があります。サポートされている LLM プロバイダーには、Google (Gemini モデル)、OpenAI、Ollama、HuggingFace、Anthropic が含まれます。 Ollama の場合は、Ollama をインストールしておく必要があり、モデル アーティファクトも事前にダウンロードする必要があります。
LLM プロバイダーを選択します。
llm = "google"
llm = "openai"
llm = "huggingface"
llm = "anthropic"
llm = "ollama"
モデルを選択してください:
model = "gpt-4"
、 model = "gemini-1.5-flash"
、 model = "codegemma"
、または選択した LLM プロバイダーに固有のその他のモデル。API キーを設定します。
以下は、OptimAI を使用して関数を最適化する方法を示す基本的な例です。
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 ()
使いやすくするために、 .env
ファイルに環境変数 ( LLM
、 API_KEY
、 MODEL
) を設定できます。
LLM=google
API_KEY=your_google_api_key
MODEL=gemini-1.5-flash
OptimAI への貢献を歓迎します。新しい機能のアイデアがある場合、またはバグを見つけた場合は、GitHub で問題を開いてください。コードを提供したい場合は、リポジトリをフォークしてプル リクエストを送信してください。
git checkout -b feature-branch
)。git commit -m 'Add new feature'
)。git push origin feature-branch
)。OptimAI は MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。