简体中文 | English
- Introduction
- Getting Started
- Git Basics for Non-technical Users
- Commit Message Guidelines
- Project Structure
- Contributing
Enhancing Large Language Model Performance for Complex Physics Reasoning with Diagrams and Expressions Challenge Website: here
- Open GitHub and navigate to our project repository.
- Click the green "Code" button and copy the HTTPS URL.
- Open Git Bash (Windows) or Terminal (Mac/Linux).
- Run the following command:
git clone <paste-the-copied-URL-here>
- Navigate into the project folder:
cd project-name
-
Update Your Local Copy (always do this before starting work):
git pull origin main
- This fetches the latest changes from GitHub.
-
Create a New Branch (replace
your-feature-name
with a short description of your work):git checkout -b your-feature-name
- Branches keep your work separate from others'.
-
Make Changes to the files using your preferred editor (e.g., Notepad, VS Code).
-
Check Status (see which files you’ve changed):
git status
-
Add Your Changes (replace
filename
with the actual file name):git add filename
- Or add all changed files at once:
git add .
- Or add all changed files at once:
-
Commit Your Changes (write a clear message using the prefix guidelines below):
git commit -m "Prefix: Brief description of your changes"
-
Push to GitHub (upload your branch to GitHub):
git push origin your-feature-name
-
Create a Pull Request (PR)
- Go to the GitHub repository.
- Click "Compare & pull request" for your branch.
- Add a description and submit the PR.
To keep our project organized, all commit messages must follow this format:
Prefix: Short description of the changes (50 characters or less)
-
[ADD]
: When adding new files or features.
Example:[ADD] Add README.md for project documentation
-
[UPDATE]
: When modifying existing files.
Example:[UPDATE] Update installation instructions in README
-
[FIX]
: When fixing errors or bugs.
Example:[FIX] Fix typo in main.js
-
[REMOVE]
: When deleting files or features.
Example:[REMOVE] Remove outdated test files
-
[DOCS]
: When updating documentation (e.g., README, comments).
Example:[DOCS] Add API documentation for new endpoint
-
[STYLE]
: When changing code style (indentation, formatting).
Example:[STYLE] Format code with Prettier
Here’s a breakdown of the main files and folders in our project and what they contain:
project-root/
├── images/ # Stores images corresponding to 2000 physics problems
├── README.md # This documentation file (available in both Chinese and English)
├── dev.json # Data for fine - tuning. Contains 200 dev data samples with answers.
├── example.py # (If applicable) Sample Python script for demonstration
├── mini.json # Raw problem data with 200 questions
├── public_prediction_example.json # Expected format for final prediction submissions
└── total.json # Raw problem data with 2000 questions
- Stores images corresponding to 2000 physics problems. These visuals are crucial for understanding and solving the problems, especially those with diagrams like circuit diagrams or coordinate systems.
- Purpose: Used as the basis for fine - tuning our models.
- Content: Contains 200 dev data samples with answers. The official description is: "we have provided 200 dev data samples with answers".
- Format:
{ "index": None, "question": "", # Text of the physics question "subject": "", # Type of question (e.g., CM for classical mechanics, OPT for optics) "image_path": [ # List of image paths related to the question ], "img_category": "", # Type of diagram (e.g., circuit diagrams, coordinate systems) "vision_relevance": "", # Indicates if the image has necessary info to solve the problem "language": "", # Language of the question (English/Chinese) "level": None, # Knowledge level required "sig_figs": "", # Number of significant figures in the answer "caption": "", # Textual description of images "reasoning": "", # Reasoning steps for solving the problem "answer": "" # Correct answer }
- Purpose: Store raw physics problem data.
mini.json
: Contains data for 200 questions.total.json
: Contains data for 2000 questions (the full dataset).
- Format:
{ "index": None, "question": "", # Text of the physics question "subject": "", # Type of question (e.g., CM, OPT) "image_path": [ # List of image paths related to the question ], "img_category": "", # Type of diagram (e.g., circuit diagrams) "vision_relevance": "", # Indicates if the image has necessary info to solve the problem "language": "", # Language of the question (English/Chinese) "level": None, # Knowledge level required "sig_figs": "", # Number of significant figures in the answer "caption": "" # Textual description of images }
- Purpose: Serves as a template for submitting final predictions. This is the format we expect when you submit your solved problems.
- Format:
{ "question": "", # Text of the physics question "subject": "", # Type of question (e.g., CM, OPT) "image_path": [ # List of image paths related to the question ], "sig_figs": "", # Number of significant figures in the answer "level": None, # Knowledge level required "language": "", # Language of the question (English/Chinese) "index": None, # Index of the question "img_category": "", # Type of diagram (e.g., circuit diagrams) "vision_relevance": "", # Indicates if the image has necessary info to solve the problem "caption": "", # Textual description of images "prediction": "<think>\n<think>\n\n<think>\n<think>" # Your predicted solution (follow the think - and - answer block structure) }
As per the organizer’s explanation (refer to the discussion in the project communication):
- We primarily compare the think - and - answer blocks in predictions.
- If a result does not contain such a block, the entire response will be compared instead.
- Always work on your own branch (never directly on
main
). - Follow the commit message prefix guidelines.
- Test your changes before submitting a PR.
- If you’re unsure, ask for help in the team chat!