跳到正文
DEV Community· Jaswant Kr Nayak·· 3 小時前AI 評分40

ShilpiList Desk:利用 Gemma 協助 Odisha 手工藝賣家製作多語言商品刊登內容

ShilpiList Desk: Using Gemma to Help Odisha's Craft Sellers Create Multilingual Listings

AI 導讀

ShilpiList Desk 使用開放權重多模態模型 Gemma 4,根據手工藝賣家上載的產品照片及提供資料,生成英文、印地語和奧迪亞語商品標題與描述草稿。工具支援最多 10 件產品批次輸入,並設有提示詞層級的準確度規則、啟發式警告,以及提醒用戶讓奧迪亞語草稿先經母語人士審閲的提示。測試中 6 個樣本全部生成有效刊登資料,中位生成延遲為 3.7 秒;作者尚未確認有付費客戶。

正文




What I Built

Small craft sellers and the people who help artisans sell online often need to create product descriptions for multiple marketplaces and languages. Writing these listings takes time, and important product details can be lost or incorrectly described.

I built ShilpiList Desk, an AI-assisted product listing tool designed for Odisha's craft sellers.

Users upload product photos and enter seller-provided facts, including the product name, craft or technique, material, dimensions, maker, location, and GI status. The application generates draft listings in English, Hindi, and Odia.

Features include:

  • Batch entry for up to 10 products through the web interface.
  • Separate product-name and craft/technique fields.
  • Multilingual title and description generation.
  • Prompt-level accuracy rules and heuristic warnings.
  • A retry when the model returns malformed JSON.
  • Listing history, regeneration, ratings, copying, and CSV export.
  • An explicit native-speaker review warning for Odia drafts.

The people who could benefit include individual craft sellers, artisan groups, and small businesses managing product catalogs for multiple makers.

My business hypothesis is to test a low-cost subscription or pay-per-batch service for people who regularly prepare product listings. I haven't established paying customers yet; validating whether sellers would pay is future work.

Demo

Here's the demo of the working application, from entering product facts and uploading a craft photo to generating multilingual listings and exporting a CSV.

Code

GitHub repository: ShilpiList Desk

The project uses Python, FastAPI, HTML, CSS, JavaScript, SQLite, and a Gemma model through an OpenAI-compatible inference endpoint.

How I Built It

I built ShilpiList Desk around Gemma 4, an open-weight multimodal model, using an OpenAI-compatible chat-completion endpoint.

The application sends product photos and seller-provided facts to the model and requests structured JSON containing titles and descriptions in English, Hindi, and Odia. FastAPI validates the output, and SQLite stores products and generated listings.

One useful improvement was separating the product's identity from its craft technique. For example, Pipili Applique Wall Hanging is the product name, while Pipili applique is the technique. I updated the form, database, prompts, listing display, and CSV export to preserve that distinction.

I also added prompt rules to discourage unsupported claims and a retry when the model returns malformed JSON. Heuristic checks flag some potentially unsupported claims and missing craft terminology, but they cannot guarantee factual accuracy.

Latest recorded validation results:

  • 19 automated tests passed, with one dependency deprecation warning.
  • 6 out of 6 sample evaluation cases generated valid listings.
  • English glossary hit rate: 100%.
  • Hindi glossary hit rate: 50%.
  • Odia glossary hit rate: 50%.
  • Median generation latency: 3.7 seconds.

The evaluation covers only six sample products. Glossary hit rates measure whether configured terms appear in the generated text; they do not establish translation quality or factual accuracy.

Hindi and Odia glossary entries remain unreviewed drafts. Odia output is explicitly marked for native-speaker review before publication.

Why Does Open Innovation Matter?

Open-weight AI gives developers flexibility to adapt a model to a specific problem instead of treating a hosted AI service as an unchangeable black box.

For ShilpiList Desk, Gemma provides the model behind image-and-facts-to-listing generation. I can adjust the prompt, add craft-specific terminology, require structured output, and experiment with alternative models and inference environments without rebuilding the entire application.

This matters because a tool for regional craft sellers needs to balance cost, latency, image understanding, factual accuracy, and multilingual quality. An open-weight approach creates room to experiment with these trade-offs and potentially explore local inference in the future.

My current tested setup uses a hosted inference endpoint. I have not demonstrated fully offline operation, proved that all submitted images remain on the seller's computer, or conducted a controlled comparison against a closed model. Those are possible future experiments, not claims about the current application.

For me, open innovation matters because it makes this workflow adaptable and inspectable as I learn what craft sellers actually need.

Prize Categories

Best Use of Gemma

Gemma is the model powering the project's multilingual product-listing workflow. I'm entering this category because it directly matches the technology used in the application.

來源:DEV Community · dev.to