Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Move DeepSeek R1 to LiteRT-LM and remove MediaPipe

Open
#217 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Active
Tech stack
flutter
Domain
mobile

Research direction

Start with the model URL and file type in lib/data/repositories/ai_model_repository_impl.dart, then check the DeepSeek token limit in lib/data/datasources/llm/local_model_params.dart. Update the listed FlutterGemma.initialize(...) call sites and integration tests, and remove the dependency from pubspec.yaml. Test download and responses on a real phone, including <think> rendering and memory use on a low-RAM device; confirm the old .task file is no longer needed.

Written by the indexing model from the issue text.

Description

enhancement good first issue P2-Medium

What

Move DeepSeek R1 to the LiteRT-LM engine and remove the MediaPipe engine from the app.

Why

  • Right now MediaPipe is only in the app for one model: DeepSeek R1. Our catalog downloads it as a .task file (deepseek_q8_ekv1280.task), which only MediaPipe can run. Qwen3 and Gemma 4 already use LiteRT-LM.
  • Google's own model card says the MediaPipe route is "in maintenance mode", so it won't get new fixes or speedups.
  • A LiteRT-LM build of DeepSeek R1 now exists in the same Hugging Face repo:
    DeepSeek-R1-Distill-Qwen-1.5B_multi-prefill-seq_q8_ekv4096.litertlm
  • One engine instead of two means less to maintain, a smaller app, and DeepSeek gets the same GPU handling and fixes as the other models.

Not a drop-in swap

  • The new file has a bigger context (4096 vs our 1280), so it uses more memory. Needs checking on a low-RAM phone.
  • People who already downloaded the old .task file would need to download the new one. The old file becomes unused (the storage cleanup can remove it).

What to change

  • lib/data/repositories/ai_model_repository_impl.dart — point DeepSeek R1 at the .litertlm URL, file type litertlm
  • lib/data/datasources/llm/local_model_params.dart — DeepSeek maxTokens 1280 → 4096
  • Remove MediaPipeEngine() from FlutterGemma.initialize(...) in lib/main.dart, lib/features/shiv/gana/engine/gana_workmanager.dart, and the integration tests
  • Remove flutter_gemma_mediapipe from pubspec.yaml

How to test (on a real phone)

  • DeepSeek R1 downloads, loads, and answers
  • <think> reasoning blocks still show correctly
  • Memory use and speed compared with the old file
  • Works on a low-RAM phone without being killed

Depends on #216 (flutter_gemma 1.8.3).

Dominant language
Dart
Stars
2
Forks
2
Avg merge
1d 7h
Merged PRs (30d)
35

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from basictech01/uniun

All issues in basictech01/uniun

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.