多模態向量資料庫:用 Gemini Embedding 與 Pinecone 建立跨媒體檢索層
MindStudio 文章示範用 Gemini Embedding 2 系列與 Pinecone 建立 multimodal vector database,重點在模型維度選擇、文字/PDF/圖片/影片/音訊前處理、metadata schema、cross-modal retrieval 與 agent workflow 接入。
MindStudio 這篇文章示範用 Gemini Embedding 2 系列與 Pinecone 建立 multimodal vector database。真正的重點不是「把所有檔案丟進向量庫」,而是為不同媒體設計正確的前處理、embedding model、metadata schema、chunk / segment 策略與查詢 API,讓文字 query 可以找圖片、圖片 query 可以找文件,最後再被 agent workflow 使用。
把 text、image、video、PDF、audio transcript 映射到可檢索的向量空間,並用 Pinecone 儲存 vectors + metadata,實際媒體檔則放在 S3/GCS/CDN 等 object storage。
text-embedding-004 適合文字;gemini-embedding-exp-03-07 是高分 text embedding;Vertex AI 的 multimodalembedding@001 支援 text/image/video 進入同一 1408 維空間。
Pinecone 負責相似度搜尋、metadata filter、namespace、upsert/delete;不要把 raw binary、base64 image 或大型 blob 塞進 metadata。
檢索 API 可被 MindStudio 或其他 agent workflow 以 webhook / API call 使用,讓客服、媒體管理、商品搜尋等流程能跨模態取回 context。
| 內容類型 | Embedding 路線 | 必要 metadata | 實務注意 |
|---|---|---|---|
| Text | text-embedding-004 或 gemini-embedding-exp-03-07 | type、content preview、source、title、url | 使用 RETRIEVAL_DOCUMENT 建索引、RETRIEVAL_QUERY 做查詢 |
| 先 PyMuPDF / pypdf 抽文字,再文字 embedding | doc_id、chunk_index、page_range、title、author | 512–1024 tokens chunk,10–20% overlap | |
| Image | Vertex AI multimodalembedding@001 | file_path / url、filename、category、dimensions | 含文字圖片建議 image embedding + OCR text embedding 雙軌 |
| Video | multimodalembedding@001 segment-level embeddings | file_path、start_sec、end_sec、duration、title | 影片應按時間段切向量,例如每 10 秒一段,檢索後可定位片段 |
| Audio | 先用 Gemini / Whisper 轉錄,再 embed transcript | file_path、chunk_index、speaker、language、timestamp |