OptimAI — это мощный модуль Python, предназначенный для оптимизации вашего кода путем анализа его производительности и предоставления практических рекомендаций. Он использует большую языковую модель (LLM), чтобы предоставить вам подробную информацию и рекомендации на основе данных профилирования, собранных во время выполнения вашего кода. Этот модуль поддерживает различные виды профилировщиков из пакета perfwatch.
Вы можете установить OptimAI с помощью pip:
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 ()
Вы можете установить переменные среды ( LLM
, API_KEY
, MODEL
) в файле .env
для простоты использования:
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. Дополнительные сведения см. в файле ЛИЦЕНЗИИ.