Skip to content

Conversation

@aagumin
Copy link

@aagumin aagumin commented Dec 24, 2025

#342 Implement Support Mlflow

Now we can:

modctl modelfile generate --model-url models://bert-base-cased-squad/1 

or

modctl modelfile generate --model-url bert-base-cased-squad/1 --provider mlflow

or autopull latest

modctl modelfile generate --model-url bert-base-cased-squad 

Two dependencies have been added:
• databricks-go-sdk — includes the MLflow client, with possible future support for their model registry.
• AWS SDK — used for downloading models. This dependency is relevant for many self-hosted solutions and cloud providers.

@gemini-code-assist
Copy link

Summary of Changes

Hello @aagumin, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly extends the tool's capabilities by integrating with MLflow, a popular platform for managing the machine learning lifecycle. Users can now seamlessly pull and generate modelfiles from models stored in MLflow registries, including those with artifacts hosted on S3. This broadens the ecosystem of supported model sources, making the tool more versatile for MLOps workflows.

Highlights

  • MLflow Integration: Introduced support for MLflow, enabling the generation of modelfiles directly from models registered in MLflow. This includes fetching model versions and downloading artifacts.
  • New Dependencies: Added databricks-go-sdk for MLflow client interactions and AWS SDK for S3 model artifact downloading, expanding the tool's connectivity to cloud storage.
  • Enhanced modctl Commands: The modctl modelfile generate command now supports specifying MLflow models using models://bert-base-cased-squad/1 or explicitly with --provider mlflow.
  • Code Quality Tools: Updated .golangci.yml to include additional Go formatters and linters such as gofumpt, goimports, golines, and swaggo to maintain code consistency and quality.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces support for downloading models from MLflow, which is a great addition. The implementation includes a new mlflow provider, logic to interact with the MLflow registry, and functionality to download model artifacts from S3. While the overall structure is good, I've identified several critical issues that must be addressed. These include a file descriptor leak due to improper use of defer in a loop, a potential panic from unsafe string slicing, and incorrect credential handling logic. Additionally, I've provided feedback on improving logging, making version selection deterministic, and enhancing test coverage to ensure the new provider is robust and reliable.

@aagumin aagumin force-pushed the feature/mlflow-support branch from f439f83 to f8c5d14 Compare December 25, 2025 11:01
@aagumin
Copy link
Author

aagumin commented Dec 25, 2025

/gemini review

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds support for downloading models from MLflow, which is a great feature. The implementation introduces a new MLflow provider, a downloader with S3 storage backend support, and associated tests. I've identified a few critical issues related to authentication and version handling that need to be addressed. Additionally, there are opportunities to improve efficiency by reusing clients and to enhance code quality by refactoring error handling and logging. Overall, this is a solid contribution with a few areas for refinement.

@aagumin
Copy link
Author

aagumin commented Dec 25, 2025

hi! Look my pr pls

Signed-off-by: Arsen Gumin <[email protected]>
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