Skip to content

Conversation

@wangxingjun778
Copy link
Collaborator

No description provided.

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.

Summary of Changes

Hello @wangxingjun778, 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 introduces a new feature that enables pushing local files to Hugging Face repositories, similar to the existing ModelScope integration. It also includes a refactoring of the existing PushToModelScope class, making its push method more flexible by requiring the repo_id to be passed directly to the method rather than being stored during initialization.

Highlights

  • New Hugging Face Integration: A PushToHuggingFace class has been added, allowing users to upload files from a local directory to Hugging Face models or datasets.
  • ModelScope Push Method Refactoring: The PushToModelScope class has been updated to remove repo_id from its constructor and instead require it as a keyword argument in its push method, enhancing flexibility.
  • Parameter Reordering: The push method in the base PushToHub class has had its exclude parameter reordered for better consistency.
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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

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 issue 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 a valuable feature by adding support for pushing files to the Hugging Face Hub. The implementation of the new PushToHuggingFace class is well-structured. I've identified a couple of areas for improvement within this new class: a bug where a method parameter is ignored, and a minor style issue. Additionally, the refactoring of the PushToModelScope class to make it more flexible is a welcome change.

Comment on lines 541 to 549
self.api.upload_folder(
repo_id=repo_id,
folder_path=folder_path,
path_in_repo=path_in_repo,
commit_message=commit_message,
token=self.token,
repo_type=repo_type,
ignore_patterns=exclude,
)

Choose a reason for hiding this comment

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

high

The push method accepts a revision parameter, which is intended to specify the target branch for the upload. However, this parameter is not being passed to the self.api.upload_folder call. This causes the revision argument to be ignored, and uploads will always go to the default branch. To fix this bug, the revision parameter should be passed to the upload_folder method.

Suggested change
self.api.upload_folder(
repo_id=repo_id,
folder_path=folder_path,
path_in_repo=path_in_repo,
commit_message=commit_message,
token=self.token,
repo_type=repo_type,
ignore_patterns=exclude,
)
self.api.upload_folder(
repo_id=repo_id,
folder_path=folder_path,
path_in_repo=path_in_repo,
commit_message=commit_message,
token=self.token,
repo_type=repo_type,
ignore_patterns=exclude,
revision=revision,
)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed

if not repo_id:
raise ValueError('Repository ID cannot be empty.')

if not repo_type in ['model', 'dataset']:

Choose a reason for hiding this comment

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

medium

For better readability and adherence to Python's style conventions (PEP 8), it's recommended to use the not in operator for checking non-membership instead of not ... in ....

Suggested change
if not repo_type in ['model', 'dataset']:
if repo_type not in ['model', 'dataset']:

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed

@wangxingjun778 wangxingjun778 merged commit 1b04f31 into modelscope:main Aug 21, 2025
1 of 2 checks passed
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.

2 participants