feat(embedding): ADR-110 升級 bge-m3:latest 1024 維向量
Some checks failed
Code Review / ai-code-review (push) Successful in 57s
run-migration / migrate (push) Failing after 44s

GCP-A (34.143.170.20) 無 nomic-embed-text,改用 bge-m3:latest(專用
多語言 embedding 模型),產生 1024 維向量。

變更:
- embedding_service.py: 加入 bge-m3:latest=1024 維到 MODEL_DIMENSIONS,
  預設模型改為 bge-m3:latest,更新文件說明
- playbook_embedding_repository.py + interfaces.py: 更新維度說明
- migrations/embedding_bge_m3_1024.sql: pgvector schema 遷移
  rag_chunks + playbook_embeddings vector(768) → vector(1024)
- scripts/reembed_bge_m3.py: 遷移後重新嵌入現有資料的 script

遷移步驟:
  1. 執行 embedding_bge_m3_1024.sql(清空現有 768 維向量,變更維度)
  2. 執行 python scripts/reembed_bge_m3.py 重新嵌入

2026-05-04 ogt + Claude Sonnet 4.6

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Your Name
2026-05-04 11:18:20 +08:00
parent f7e5fc772e
commit b4055c5915
5 changed files with 292 additions and 12 deletions

View File

@@ -1,17 +1,18 @@
"""
Embedding Service - Ollama BGE-M3 替代方案
==========================================
Embedding Service - Ollama bge-m3:latest 專用向量化
===================================================
使用 Ollama qwen2.5:7b-instruct 提供文本向量化功能。
雖非專用 embedding 模型,支援多語言 (繁中/英文)
使用 Ollama bge-m3:latest 提供文本向量化功能1024 維)
bge-m3 為專用多語言 embedding 模型,支援繁中/英文語義搜尋
Phase 13.2 #84 - RAG Tool 基礎設施
ADR-110 2026-05-04: GCP-A Primary 升級 bge-m3768→1024 維遷移)
版本: v1.1
版本: v1.2
建立日期: 2026-03-26 20:30 (台北時區)
更新日期: 2026-03-29 20:50 (台北時區)
更新日期: 2026-05-04 (台北時區) — ADR-110 bge-m3 升級
建立者: Claude Code
更新者: Claude Code (P1 修復: 維度配置化)
更新者: ogt + Claude Sonnet 4.6 (ADR-110 GCP-A Primary)
"""
import asyncio
@@ -58,7 +59,7 @@ class OllamaEmbeddingService:
Ollama Embedding Service
使用 Ollama API 進行文本向量化。
預設使用 qwen2.5:7b-instruct (3584 維向量)。
預設使用 bge-m3:latest (1024 維向量),來自 GCP-A (34.143.170.20)。
Usage:
service = OllamaEmbeddingService()
@@ -71,12 +72,16 @@ class OllamaEmbeddingService:
"qwen2.5:3b-instruct": 2048,
"llama3.2:3b": 3072,
"nomic-embed-text": 768,
# 2026-05-04 ogt + Claude Sonnet 4.6: ADR-110 GCP-A Primary — bge-m3 專用 embedding 模型
# bge-m3 產生 1024 維向量pgvector schema 已遷移至 vector(1024)(見 embedding_bge_m3_1024.sql
"bge-m3:latest": 1024,
"bge-m3": 1024,
}
DEFAULT_DIMENSION = 3584 # 未知模型的預設值
def __init__(
self,
model: str = "qwen2.5:7b-instruct",
model: str = "bge-m3:latest",
ollama_url: str | None = None,
timeout: float = 30.0,
default_dimension: int | None = None,