Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git cloneだけでなく、リポジトリからpip installしてmain.pyの処理が実行できるようにする #1

Merged
merged 8 commits into from
Apr 1, 2024

Conversation

ftnext
Copy link
Contributor

@ftnext ftnext commented Mar 15, 2024

関連する Issue / PR

NLP2024 Slackの以下の投稿の件です
https://nlp2024kobe.slack.com/archives/C06MMTFLGV8/p1710473073324849

PR をマージした後の挙動の変化

  • pip install git+https://github.com/sbintuitions/JMTEB.git して python -m jmteb で main.py と同様の実行ができる
  • 将来PyPIに公開する下地を作る

挙動の変更を達成するために行ったこと

  • テストコードのフィクスチャはconftest.pyで共通化しました
  • src-layoutを導入しました。これまではsrcという名前でインストールされていましたが、今後はjmtebという名前になります(poetry run python -m pip listで確認できます)
  • main.pyの内容を __main__.py でも実行できるようにしました
  • TODO --evaluators引数の指定の仕方を考える必要があります(site-packages下にインストールされることになるので)

動作確認

  • テストが通ることを確認した
  • python -m main.py 相当の動作確認をしたら、ドラフトでないプルリクエストにします

@ryokan0123
Copy link
Collaborator

PR ありがとうございます!

TODO --evaluators引数の指定の仕方を考える必要があります(site-packages下にインストールされることになるので)

もう考えておられるかもしれませんが、config のデフォルトパスを main.py のパスから相対的に指定することになるでしょうか。

JMTEB/main.py

Lines 51 to 53 in d9e52fd

parser.add_argument(
"--evaluators", type=dict[str, EmbeddingEvaluator], enable_path=True, default="src/configs/jmteb.jsonnet"
)

before: default="src/configs/jmteb.jsonnet"
after: default=Path(__file__).parent / "configs" / "jmteb.jsonnet"

[To main] Enable CI in dev branch
@lsz05 lsz05 changed the base branch from main to dev March 18, 2024 09:47
@lsz05
Copy link
Collaborator

lsz05 commented Mar 18, 2024

早速のcontribution,ありがとうございます!
base branchをdevにしましたので,勝手ながら本PRのbaseもdevに変更させていただきます。
よろしくお願いいたします。

@ryokan0123
Copy link
Collaborator

@ftnext
作業大変助かります。
このあと動作確認など含め、少しだけ作業を進めればマージできると思っていますが、もしよろしければ、残りをこちらで進めても大丈夫でしょうか?
我々の変更の影響で conflicts が発生してしまっているのもあり。

@ryokan0123
Copy link
Collaborator

こちら仕上げ作業を行なっていきます〜

@ryokan0123 ryokan0123 requested a review from masaya-ohagi April 1, 2024 04:45
@ryokan0123 ryokan0123 marked this pull request as ready for review April 1, 2024 04:45
@ftnext
Copy link
Contributor Author

ftnext commented Apr 1, 2024

@ryokan0123 仕上げ作業、ありがとうございます。
conflictは私の方で直して再度pull requestを上げることもできますので、こちらの取り込みを劣後していただいても私としてはかまいません。

#1 (comment) で案を出していただいていますが、configの指定の仕方が個人的には悩ましいなと思っています。浮かんだ案があれば共有いたします

@ryokan0123
Copy link
Collaborator

@ftnext
ご確認ありがとうございます。
ひとまず作業が一段落し、python -m main.py で従来通り動くようになりましたので、一旦 merge する形で進めさせていただければと思います。

config の指定に関して、デフォルトの Path(__file__).parent / "configs" / "jmteb.jsonnet" はひとまず読み込めるようになりましたが、その他ライブラリ内の configs/tasks/jsts.jsonnet などをユーザーが指定して読み込むことは依然として難しいですね…
少しアドホックに、config の名前を指定さえすれば、あとはプログラム側でライブラリ内の該当箇所を探して config を読み込む、といった処理が考えられるかもしれません。この点はこちらでも少し検討してから、解決しそうであれば実装しようかと思います。

Copy link
Collaborator

@masaya-ohagi masaya-ohagi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@masaya-ohagi masaya-ohagi merged commit 90968b8 into sbintuitions:dev Apr 1, 2024
3 checks passed
@lsz05 lsz05 mentioned this pull request Apr 24, 2024
1 task
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.

4 participants