Skip to content

Conversation

@yukiharada1228
Copy link

Migrate to uv package management

概要

パッケージ管理を pip + requirements.txt から uv + pyproject.toml に移行しました。

主な変更内容

パッケージ管理の移行

  • pyproject.toml の追加: プロジェクトの依存関係を pyproject.toml で管理するように変更
  • uv.lock の追加: 依存関係のロックファイルを追加(4,572行)
  • requirements.txt の更新: 依存関係の順序を整理し、バージョン指定を調整
    • vllm==0.6.2vllm>=0.6.2
    • transformers<4.54.0 を追加

依存関係

pyproject.toml に以下の依存関係を定義:

  • anthropic==0.49.0
  • awscli==1.38.5
  • boto3==1.37.5
  • datasets>=4.1.1
  • hydra-core==1.3.2
  • openai==1.65.2
  • python-dotenv==1.0.1
  • transformers<4.54.0
  • vllm>=0.6.2
  • wandb==0.19.7

ドキュメントの更新

README.md の以下のセクションを更新:

  1. 仮想環境のセットアップ

    • 変更前: python3 -m venv venv + pip install -r requrements.txt
    • 変更後: uv sync
  2. コマンド実行方法

    • すべての python3 -m src.llm_jp_judge.* コマンドを uv run python3 -m src.llm_jp_judge.* に変更
    • 以下のコマンドが更新対象:
      • generate
      • evaluate

コードの整理

複数のPythonファイルで以下の改善を実施:

  • インポート文の整理: PEP 8に準拠した順序に統一(標準ライブラリ → サードパーティ → ローカル)
  • 不要な空行の削除: コードの可読性向上
  • インポートの順序統一: 一貫性の向上

変更されたファイル(23ファイル):

  • src/llm_jp_judge/__main__.py
  • src/llm_jp_judge/evaluate.py
  • src/llm_jp_judge/generate.py
  • src/llm_jp_judge/client/*.py
  • src/llm_jp_judge/dashboard/*.py
  • src/llm_jp_judge/dataset/*.py
  • src/llm_jp_judge/evaluator/*.py
  • src/llm_jp_judge/utils/data.py

使用方法

セットアップ

uv sync

実行

# 生成
uv run python3 -m src.llm_jp_judge.generate \
    output.dir=$OUTPUT_DIR/generation \
    client=vllm \
    client.model_name=$MODEL_NAME \
    benchmark.safety.dataset.path=./data/cache/llm-jp/AnswerCarefully/v2.0/test.json

# 評価
uv run python3 -m src.llm_jp_judge.evaluate \
    input.dir=$OUTPUT_DIR/generation \
    output.dir=$OUTPUT_DIR/evaluation \
    client=azure \
    client.model_name=$MODEL_NAME

影響範囲

  • 破壊的変更: なし
  • 後方互換性: 既存の機能はすべて維持
  • 動作確認: 既存のコマンドは uv run プレフィックスを付けることで動作

コミット履歴

  • 012e8a4 Update README.md
  • 1c361b3 Update README.md
  • 6482ddb Update package management and evaluation components
  • 5242ab2 Migrate to uv package management and update dependencies

yukiharada1228 and others added 4 commits September 22, 2025 09:00
- Reorganize requirements.txt with proper dependency ordering
- Add pyproject.toml for modern Python packaging
- Add uv.lock for reproducible dependency resolution
- Update dependency versions for better compatibility
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant