Skip to content

docs: proposal for toolbox-level image embedding pipeline#3009

Closed
Deeven-Seru wants to merge 2 commits intogoogleapis:mainfrom
Deeven-Seru:proposal-2948-image-embedding
Closed

docs: proposal for toolbox-level image embedding pipeline#3009
Deeven-Seru wants to merge 2 commits intogoogleapis:mainfrom
Deeven-Seru:proposal-2948-image-embedding

Conversation

@Deeven-Seru
Copy link
Copy Markdown
Contributor

Summary

Adds a design proposal for toolbox-level image embedding (image ingestion + embeddings + storage adapters) to address #2948.

Details

  • New doc:
  • Outlines architecture, interfaces, config, rollout, and risks

Closes #2948

@Deeven-Seru Deeven-Seru requested a review from a team as a code owner April 9, 2026 14:36
@Deeven-Seru
Copy link
Copy Markdown
Contributor Author

Deeven-Seru commented Apr 9, 2026

Design proposal (short)

Goal: first‑class image ingestion + embedding, centralized at Toolbox level,
not per‑connector.

Architecture

  • New Toolbox embedding module
  • Ingestion: local | HTTP | GCS
  • Embedder backend (pluggable): gemini | vertexai | openai | hf | local
  • Storage adapters: BigQuery + Postgres/pgvector (MVP), then Elastic/Mongo
  • Tools: embed_image, search_image, search_multimodal

Draft API surface

  • Embedder.EmbedImage(ctx, input) -> (vector, metadata, error)
  • StorageAdapter.Store(ctx, vector, metadata) -> error
  • StorageAdapter.Search(ctx, query_vector, filters, top_k) -> (results, error)
  • index_images(source, target, model, batch_size)

Config sketch

  embeddings:                                                                  
    backend: gemini|vertexai|openai|hf                                         
    model: <model-name>                                                        
    batch_size: 64                                                             
    image_sources:                                                             
      - type: gcs|local|http                                                   
        path: gs://bucket/path                                                 
  storage:                                                                     
    target: bigquery|postgres                                                  
    index_table: <name>                                                        

Rollout

Phase 1: embedding module + gemini/vertex/hf + BigQuery/pgvector + CLI batch
ingest
Phase 2: OpenAI backend + Elastic/Mongo
Phase 3: optional external vector stores

This preserves Toolbox consistency, avoids connector bloat, and unlocks
image‑RAG workflows with minimal infra.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a proposal for a toolbox-level image embedding pipeline, outlining the architecture for pluggable embedding backends and storage adapters. The review feedback highlights the need to adhere to documentation style guides by removing redundant H1 headers, suggests aligning conceptual interfaces with Go idioms through the inclusion of context and error handling, and recommends maintaining naming consistency with existing internal embedding implementations.

Comment thread docs/en/documentation/proposals/image-embedding-pipeline.md Outdated
Comment thread docs/en/documentation/proposals/image-embedding-pipeline.md Outdated
Comment thread docs/en/documentation/proposals/image-embedding-pipeline.md Outdated
@Deeven-Seru Deeven-Seru force-pushed the proposal-2948-image-embedding branch from 4afcd41 to 07d2a17 Compare April 9, 2026 14:47
@Deeven-Seru
Copy link
Copy Markdown
Contributor Author

@duwenxin99 PTAL at the design proposal I will start working on it if its feasible

@Yuan325
Copy link
Copy Markdown
Contributor

Yuan325 commented Apr 17, 2026

Hi @Deeven-Seru For design proposal, please add that as a comment in the issue instead of adding a docs~ I've copied over your proposal to the issue. Will close this PR for now, Thank you! :)

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.

Support image ingestion and semantic vectorization as a first-class database source

3 participants