Skip to content

feat(memorySearch): Support multimodal embedding with gemini-embedding-2-preview #43117

Description

@herove

Summary

gemini-embedding-2-preview now supports multimodal embedding - text, images, video, audio, and PDFs all map to the same vector space. This enables cross-modal search (e.g., search images by text description).

Proposed Changes

  1. Extend memorySearch to embed images/attachments alongside text when storing conversation history
  2. Add config option for output dimensionality (outputDimensionality: 768 | 1536 | 3072)
  3. Support mixed-modal queries - user can search with text and get relevant images from history

API Reference

curl ".../gemini-embedding-2-preview:embedContent" \
  -d '{"content": {"parts": [
    {"text": "description"},
    {"inline_data": {"mime_type": "image/png", "data": "base64..."}}
  ]}, "outputDimensionality": 768}'

Model Capabilities

Modality Limit
Text 8192 tokens
Images 6/request, PNG/JPEG
Video 120s, MP4/MOV
Audio 80s, MP3/WAV
PDF 6 pages

Output: 3072 dims (default), scalable to 768/1536 via MRL.

Benefits

  • Cross-modal RAG: "find that screenshot I sent last week"
  • Unified semantic space for all conversation content
  • Better context retrieval for image-heavy conversations

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions