Skip to content

Commit 9513eaf

Browse files
authored
Merge pull request #55 from amihos/fix/embedding-config-mismatch-warning
fix: Add warning for embedding configuration mismatch
2 parents 7bb23eb + ba69f20 commit 9513eaf

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

backend/src/memory/embed.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,11 @@ async function emb_gemini(
153153
): Promise<Record<string, number[]>> {
154154
if (!env.gemini_key) throw new Error("Gemini key missing");
155155
const prom = gem_q.then(async () => {
156-
const url = `https://generativelanguage.googleapis.com/v1beta/models/embedding-001:batchEmbedContents?key=${env.gemini_key}`;
156+
const url = `https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:batchEmbedContents?key=${env.gemini_key}`;
157157
for (let a = 0; a < 3; a++) {
158158
try {
159159
const reqs = Object.entries(txts).map(([s, t]) => ({
160-
model: "models/embedding-001",
160+
model: "models/text-embedding-004",
161161
content: { parts: [{ text: t }] },
162162
taskType: task_map[s] || task_map.semantic,
163163
}));

backend/src/server/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,16 @@ console.log(`[CONFIG] Vector Dimension: ${env.vec_dim}`);
2828
console.log(`[CONFIG] Cache Segments: ${env.cache_segments}`);
2929
console.log(`[CONFIG] Max Active Queries: ${env.max_active}`);
3030

31+
// Warn about configuration mismatch that causes embedding incompatibility
32+
if (env.emb_kind !== "synthetic" && (tier === "hybrid" || tier === "fast")) {
33+
console.warn(
34+
`[CONFIG] ⚠️ WARNING: Embedding configuration mismatch detected!\n` +
35+
` OM_EMBEDDINGS=${env.emb_kind} but OM_TIER=${tier}\n` +
36+
` Storage will use ${env.emb_kind} embeddings, but queries will use synthetic embeddings.\n` +
37+
` This causes semantic search to fail. Set OM_TIER=deep to fix.`
38+
);
39+
}
40+
3141
app.use(req_tracker_mw());
3242

3343
app.use((req: any, res: any, next: any) => {

models.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,35 @@
88
episodic:
99
ollama: nomic-embed-text
1010
openai: text-embedding-3-small
11-
gemini: models/embedding-001
11+
gemini: models/text-embedding-004
1212
aws: amazon.titan-embed-text-v2:0
1313
local: all-MiniLM-L6-v2
1414

1515
semantic:
1616
ollama: nomic-embed-text
1717
openai: text-embedding-3-small
18-
gemini: models/embedding-001
18+
gemini: models/text-embedding-004
1919
aws: amazon.titan-embed-text-v2:0
2020
local: all-MiniLM-L6-v2
2121

2222
procedural:
2323
ollama: nomic-embed-text
2424
openai: text-embedding-3-small
25-
gemini: models/embedding-001
25+
gemini: models/text-embedding-004
2626
aws: amazon.titan-embed-text-v2:0
2727
local: all-MiniLM-L6-v2
2828

2929
emotional:
3030
ollama: nomic-embed-text
3131
openai: text-embedding-3-small
32-
gemini: models/embedding-001
32+
gemini: models/text-embedding-004
3333
aws: amazon.titan-embed-text-v2:0
3434
local: all-MiniLM-L6-v2
3535

3636
reflective:
3737
ollama: nomic-embed-text
3838
openai: text-embedding-3-large
39-
gemini: models/embedding-001
39+
gemini: models/text-embedding-004
4040
aws: amazon.titan-embed-text-v2:0
4141
local: all-mpnet-base-v2
4242
# Available Ollama models (pull with: ollama pull <model>)
@@ -50,7 +50,8 @@ reflective:
5050
# - text-embedding-3-large (3072d)
5151

5252
# Gemini models:
53-
# - models/embedding-001 (768d)
53+
# - models/text-embedding-004 (768d) - latest
54+
# - models/embedding-001 (768d) - deprecated
5455

5556
#AWS models:
5657
# - amazon.titan-embed-text-v2:0 (1024d, 512d, 256)

0 commit comments

Comments
 (0)