Replies: 3 comments 4 replies
-
I was too curious to not try it out and came up with a minimal work-in-progress model for running the lean_dojo interaction part in the CI. Here is a small repo that runs a lean_dojo repl interaction test of a mathlib4 theorem in 6 seconds using the mwe approach: |
Beta Was this translation helpful? Give feedback.
-
Hi @josojo, thank you for the thorough suggestions on LeanDojo. Many of them make a lot of sense to me. Please see my individual comments below, and feel free to follow up on any of those points!
I'd say LeanDojo is designed to operate offline. For example, it can only trace public repos on GitHub. If you generate some new code, you have to commit it to GitHub before using LeanDojo to process it, which may be inconvenient in a setup where the data is generated on the fly
We can add additional flags to turn these features on and off (in the form of environment variables or some config files).
Most of the time is spent in tracing the repos. I don't see an obvious way to speed up that part (besides the remote caching mechanism that we already have). BTW, it may be possible to speed up testing using pytest-parallel if you have many CPUs, though we didn't try. We usually only run unit tests when updating the
Yes, this part does have a lot of room for improvement. Currently, it needs the traced repo only for locating the target proof in the source file.
I'm open to dropping the Lean 3 support (we can put it in a
I agree. It would be great if LeanDojo can work with a local mwe instead of requiring a GitHub repo.
How would you build the mwe automatically and in a completely general way?
I wouldn't change the current default behavior, but we can add options to support this simplified tracing. |
Beta Was this translation helpful? Give feedback.
-
I prototyped many of these proposals from above. Most of them provided their value.
But, I think I will not continue, since it seems https://github.com/semorrison/lean-training-data is an even better approach as it is faster and all native in lean. At least, I want to play around a little bit more with it before I continue the work to port the gained knowledge to this project. |
Beta Was this translation helpful? Give feedback.
-
I have now played with LeanDojo for two weeks. And the work done is really nice!
One has to recognize that it was built for the specific requirements of the Reprover and it might not be the best fit for a general framework that enables extracting data for prompt generation + ai result testing via lean-REPL.
Some implications are:
E.g, the dojo component(for interacting with the very nice REPL env) requires a traced repo although this is fundamentally not needed.
To better suit the general goal of building a framework enabling extracting data for prompt generation + ai result testing via lean-REPL. I would propose the following restructurings:
My question is now:
What do you think about these proposals? Should we try to push these changes into the current repo? Would you like to make the repo more of a general toolset for AI prompt generation and testing? Or should I (or hopefully we! ❤️ ) start from scratch?
Beta Was this translation helpful? Give feedback.
All reactions