Skip to content

feat(ai): add Gemma media embeddings and Google mobile actions - #2119

Merged
ucguy4u merged 1 commit into
mainfrom
cursor/gemma-embed-google-tools-8768
Oct 16, 2026
Merged

ucguy4u merged 1 commit into
mainfrom
cursor/gemma-embed-google-tools-8768

Conversation

@ucguy4u

@ucguy4u ucguy4u commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Summary

EmbeddingGemma 2 can now embed a photo or an audio clip, and the Mobile Actions model can run Google's seven published device tools.

  • Text search stays on EmbeddingGemma 2 Text 270M. A photo uses the 440M text-and-vision package (387,710,976 bytes). Audio uses the 740M package (484,622,336 bytes). The smallest installed package that covers the input is the one that runs.
  • When mobile-actions-270m-litertlm is the chat model, it can call flashlight on/off, create contact, send email, show map, open Wi-Fi settings, and create a calendar event. Those open the system screen or toggle the torch.
  • Airo-only actions (LifeTrack, budget, music, and the other Mind connectors) are requested from the training repo in [Training] Fine-tune an Airo action model beyond Google's seven mobile actions barista-tuning#9.

Test Plan

  • dart analyze on the embeddings library and the new tool file
  • flutter test for embedding client, embedding service, and model catalog (37 tests)
  • flutter test test/reasoning/google_mobile_action_tools_test.dart (3 tests)
  • scripts/check-docs-completeness.sh --base origin/main --head HEAD
  • Manual device verification documented, or not applicable

Verification environment: Host-only. Media embedding calls match the LiteRT-LM 0.18.0 InputData.Image and InputData.Audio API. They were not run on a phone.

Agent Policy

  • Linked issue includes a Critical Agent Gate.
  • Linked issue includes a Feature Packet or documents why one is not needed. The custom-action training request is [Training] Fine-tune an Airo action model beyond Google's seven mobile actions barista-tuning#9.
  • Cross-agent contract is documented for framework/application boundary work. Embeddings stay in core_ai. Tool execution stays in feature_mind and reuses DeviceActionsService.
  • Deterministic use cases and automation flows are linked or included.
  • AI/tool/memory/routine changes include eval, trace, and redaction coverage. Tests cover modality selection, the media channel, and the seven Google tool names.
  • Android Emulator was not used.

Council Review

  • Media Intelligence Architect: embedding package selection

  • Flutter Architect: core_ai embedding service and Mind chat tool routing

  • Platform Architect: Android embedMedia

  • I checked the Decision Matrix and listed every required role above.

  • Every package touched has a module.yaml.

  • owner/reviewers in any touched module.yaml still match who actually reviewed this PR.

Open in Web Open in Cursor 

Search can embed a photo or audio clip with EmbeddingGemma 2, and the Mobile Actions model can run Google's seven device tools.

Co-authored-by: Uday Chauhan <chauhan.s.uday26@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

Plugin Module Size Gate

Policy: modules over 3 MB must be delivered as plugins; plugin modules over 5 MB must document cache management.

Module Size Type Status
packages/core_ai 0.59 MB bundled OK
packages/feature_mind 2.95 MB bundled WARN: 1-3 MB requires PR size justification

@ucguy4u
ucguy4u marked this pull request as ready for review October 16, 2026 18:00
@ucguy4u
ucguy4u merged commit 2403d8d into main Oct 16, 2026
15 of 20 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

🚀 PR Quick Check Summary

Check Status Description
PR Validation ❌ failure Title format, docs, bundled model guardrail
Code Quality ✅ success Analyze, formatting
Core Tests ❌ failure Core package unit tests
Airo Mind Shell ✅ success Mind flavour analyze, tests, entrypoint compile

💡 Note: Full app tests, coverage reports, and security scans run on merge to main.

View Details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants