Skip to content

Commit f54ab36

Browse files
authored
feat: add more file type (#192)
feat: support more file types Signed-off-by: Zhao Chen <[email protected]>
1 parent 8240c9e commit f54ab36

File tree

1 file changed

+99
-22
lines changed

1 file changed

+99
-22
lines changed

pkg/modelfile/constants.go

Lines changed: 99 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,25 @@ import (
2424
var (
2525
// Config file patterns - supported configuration file extensions.
2626
ConfigFilePatterns = []string{
27-
"*.json", // JSON configuration files
28-
"*.jsonl", // JSON Lines format
29-
"*.yaml", // YAML configuration files
30-
"*.yml", // YAML alternative extension
31-
"*.toml", // TOML configuration files
32-
"*.ini", // INI configuration files
33-
"*.config", // Generic config files
34-
"*.modelcard", // Model card metadata
35-
"*.meta", // Model metadata
36-
37-
// Model-specific files.
27+
"*.json", // JSON configuration files
28+
"*.jsonl", // JSON Lines format
29+
"*.yaml", // YAML configuration files
30+
"*.yml", // YAML alternative extension
31+
"*.toml", // TOML configuration files
32+
"*.ini", // INI configuration files
33+
"*.config", // Generic config files
34+
"*.cfg", // Generic config files
35+
"*.conf", // Generic config files
36+
"*.properties", // Generic config files
37+
"*.props", // Generic config files
38+
"*.prop", // Generic config files
39+
"*.xml", // XML configuration files
40+
"*.xsd", // XML Schema Definition
41+
"*.rng", // XML Schema Relax NG
42+
43+
// Model-specific config files.
44+
"*.modelcard", // Model card metadata
45+
"*.meta", // Model metadata
3846
"*tokenizer.model*", // Tokenizer files (e.g., Mistral v3)
3947
"config.json.*", // Model configuration variants
4048
}
@@ -56,21 +64,72 @@ var (
5664
"*.hdf5", // HDF5 (alternative extension)
5765

5866
// Other ML frameworks.
59-
"*.ot", // OpenVINO format
60-
"*.engine", // TensorRT format
61-
"*.trt", // TensorRT format (alternative extension)
62-
"*.onnx", // Open Neural Network Exchange format
63-
"*.gguf", // GGML Universal Format
64-
"*.msgpack", // MessagePack serialization
65-
"*.model", // Some NLP frameworks
67+
"*.ot", // OpenVINO format
68+
"*.engine", // TensorRT format
69+
"*.trt", // TensorRT format (alternative extension)
70+
"*.onnx", // Open Neural Network Exchange format
71+
"*.gguf", // GGML Universal Format
72+
"*.msgpack", // MessagePack serialization
73+
"*.model", // Some NLP frameworks
74+
"*.pkl", // Pickle format
75+
"*.pickle", // Pickle format (alternative extension)
76+
"*.ckpt", // Checkpoint format
77+
"*.checkpoint", // Checkpoint format (alternative extension)
6678
}
6779

6880
// Code file patterns - supported script and notebook files.
6981
CodeFilePatterns = []string{
70-
"*.py", // Python source files
71-
"*.sh", // Shell scripts
72-
"*.ipynb", // Jupyter notebooks
73-
"*.patch", // Patch files
82+
"*.py", // Python source files
83+
"*.ipynb", // Jupyter notebooks
84+
"*.sh", // Shell scripts
85+
"*.patch", // Patch files
86+
"*.c", // C source files
87+
"*.h", // C header files
88+
"*.hxx", // C++ header files
89+
"*.cpp", // C++ source files
90+
"*.cc", // C++ source files
91+
"*.hpp", // C++ header files
92+
"*.hh", // C++ header files
93+
"*.java", // Java source files
94+
"*.js", // JavaScript source files
95+
"*.ts", // TypeScript source files
96+
"*.go", // Go source files
97+
"*.rs", // Rust source files
98+
"*.swift", // Swift source files
99+
"*.rb", // Ruby source files
100+
"*.php", // PHP source files
101+
"*.scala", // Scala source files
102+
"*.kt", // Kotlin source files
103+
"*.r", // R source files
104+
"*.m", // MATLAB/Objective-C source files
105+
"*.f", // Fortran source files
106+
"*.f90", // Fortran 90 source files
107+
"*.jl", // Julia source files
108+
"*.lua", // Lua source files
109+
"*.pl", // Perl source files
110+
"*.cs", // C# source files
111+
"*.vb", // Visual Basic source files
112+
"*.dart", // Dart source files
113+
"*.groovy", // Groovy source files
114+
"*.elm", // Elm source files
115+
"*.erl", // Erlang source files
116+
"*.ex", // Elixir source files
117+
"*.hs", // Haskell source files
118+
"*.clj", // Clojure source files
119+
"*.cljs", // ClojureScript source files
120+
"*.cljc", // Clojure Common Lisp source files
121+
"*.cl", // Common Lisp source files
122+
"*.lisp", // Lisp source files
123+
"*.scm", // Scheme source files
124+
"*.cu", // CUDA source files
125+
"*.cuh", // CUDA header files
126+
127+
// Library files.
128+
"*.so", // Shared object files
129+
"*.dll", // Dynamic Link Library
130+
"*.dylib", // Dynamic Library
131+
"*.lib", // Library files
132+
"*.a", // Static Library
74133
}
75134

76135
// Doc file patterns - supported documentation files
@@ -83,6 +142,7 @@ var (
83142
"README*", // Project documentation
84143
"SETUP*", // Setup instructions
85144
"*requirements*", // Dependency specifications
145+
"*.log", // Log files
86146

87147
// Image assets.
88148
"*.jpg", // JPEG image format
@@ -92,6 +152,23 @@ var (
92152
"*.bmp", // Bitmap image format
93153
"*.tiff", // TIFF image format
94154
"*.ico", // Icon format
155+
"*.webp", // WebP image format
156+
"*.heic", // HEIC image format
157+
"*.heif", // HEIF image format
158+
"*.hevc", // HEVC image format
159+
"*.svg", // SVG image format
160+
161+
// Video assets.
162+
"*.mp4", // MPEG-4 video format
163+
"*.mov", // QuickTime video format
164+
"*.avi", // AVI video format
165+
"*.mkv", // Matroska video format
166+
"*.webm", // WebM video format
167+
"*.m4v", // MPEG-4 video format
168+
"*.flv", // Flash Video format
169+
"*.wmv", // Windows Media Video format
170+
"*.mpg", // MPEG-1 video format
171+
"*.mpeg", // MPEG-2 video format
95172
}
96173

97174
// Skip patterns - files and directories to ignore during processing.

0 commit comments

Comments
 (0)