Screen.Recording.2025-12-01.at.12.11.40.PM.mov
Image2Taxonomy is a microservice built to automate the e-commerce product classification problem. It uses a Ruby on Rails frontend to manage uploads and orchestrate asynchronous analysis jobs processed by a dedicated Go service running a constrained Multimodal LLM (Qwen-VL) on optimized hardware. The system enforces the official Shopify Product Taxonomy via GBNF Grammars that's automatically updated and generated thru the Go program.
- Go
- Ruby
- Docker
- A Qwen3-VL GGUF file (configured to use Qwen3-VL-4B as of right now)
- CMake for Llama-server
- Clone and setup
git clone https://github.com/rivanjarjes/Image2Taxonomy.git
cd Image2Taxonomy
make setup-ai-
Download you preferred vision language model put it in
infra/models -
Run the docker services
cd infra
docker-compose up -d
cd ..- Run the Rails application
cd rails-app
bin/rails db:migrate
bin/dev- Generate the grammar file and run the Go server:
cd go-worker
go run ./cmd/gen-grammar/main.go
# wait to finish
go run ./cmd/worker/main.go- Try out the program at
localhost:3000