Skip to content

RivanJarjes/image2taxonomy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image2Taxonomy

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.

Prerequisites

  • Go
  • Ruby
  • Docker
  • A Qwen3-VL GGUF file (configured to use Qwen3-VL-4B as of right now)
  • CMake for Llama-server

Setup

  1. Clone and setup
git clone https://github.com/rivanjarjes/Image2Taxonomy.git
cd Image2Taxonomy
make setup-ai
  1. Download you preferred vision language model put it in infra/models

  2. Run the docker services

cd infra
docker-compose up -d
cd ..
  1. Run the Rails application
cd rails-app
bin/rails db:migrate
bin/dev
  1. 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
  1. Try out the program at localhost:3000

About

Image2Taxonomy is a polyglot microservice that uses a local Multimodal LLM (Qwen-VL) orchestrated by Go to analyze product images. It enforces the official Shopify Product Taxonomy using generated GBNF Grammars, all managed by a Ruby on Rails application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors