Leon4gr45 commited on
Commit
2002049
·
verified ·
1 Parent(s): 590e4da

Deploy complete BrainAPI source 21be203f41a4

Browse files

All tracked files from Git commit 21be203f41a4d233b854ca225130560505a514dd; required Docker inputs checked before upload.

entrypoint.sh CHANGED
@@ -74,6 +74,20 @@ export REDIS_PASSWORD
74
  export CELERY_BROKER_URL="redis://:${REDIS_PASSWORD}@127.0.0.1:6379/0"
75
  export CELERY_RESULT_BACKEND="redis://:${REDIS_PASSWORD}@127.0.0.1:6379/0"
76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  # docker exec starts with the image environment, not this script's exports.
78
  # Load the same runtime defaults/credentials for qualification without restarting
79
  # or reinitializing the already-running application services.
 
74
  export CELERY_BROKER_URL="redis://:${REDIS_PASSWORD}@127.0.0.1:6379/0"
75
  export CELERY_RESULT_BACKEND="redis://:${REDIS_PASSWORD}@127.0.0.1:6379/0"
76
 
77
+ echo "========== Effective embedding configuration =========="
78
+ printf 'EMBEDDINGS_PROVIDER=%q\n' "${EMBEDDINGS_PROVIDER:-}"
79
+ printf 'OLLAMA_EMBEDDING_MODEL=%q\n' "${OLLAMA_EMBEDDING_MODEL:-}"
80
+ printf 'EMBEDDINGS_LOCAL_MODEL=%q\n' "${EMBEDDINGS_LOCAL_MODEL:-}"
81
+ printf 'EMBEDDING_PROFILE=%q\n' "${EMBEDDING_PROFILE:-}"
82
+ printf 'EMBEDDING_NATIVE_DIMENSION=%q\n' "${EMBEDDING_NATIVE_DIMENSION:-}"
83
+ printf 'EMBEDDING_MRL_DIMENSION=%q\n' "${EMBEDDING_MRL_DIMENSION:-}"
84
+ printf 'EMBEDDING_NODES_DIMENSION=%q\n' "${EMBEDDING_NODES_DIMENSION:-}"
85
+ printf 'EMBEDDING_TRIPLETS_DIMENSION=%q\n' "${EMBEDDING_TRIPLETS_DIMENSION:-}"
86
+ printf 'EMBEDDING_OBSERVATIONS_DIMENSION=%q\n' "${EMBEDDING_OBSERVATIONS_DIMENSION:-}"
87
+ printf 'EMBEDDING_DATA_DIMENSION=%q\n' "${EMBEDDING_DATA_DIMENSION:-}"
88
+ printf 'EMBEDDING_RELATIONSHIPS_DIMENSION=%q\n' "${EMBEDDING_RELATIONSHIPS_DIMENSION:-}"
89
+ echo "========================================================"
90
+
91
  # docker exec starts with the image environment, not this script's exports.
92
  # Load the same runtime defaults/credentials for qualification without restarting
93
  # or reinitializing the already-running application services.
patch.diff ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <<<<<<< SEARCH
2
+ gemma = provider == "ollama" and model == "embeddinggemma-2:270m"
3
+ self.profile = os.getenv("EMBEDDING_PROFILE", "embeddinggemma2-text-v1" if gemma else "")
4
+ default_dimension = 512 if gemma else 384
5
+ =======
6
+ provider = (provider or "").strip().lower()
7
+ model = (model or "").strip()
8
+ gemma = provider == "ollama" and model == "embeddinggemma-2:270m"
9
+ self.profile = (
10
+ os.getenv(
11
+ "EMBEDDING_PROFILE",
12
+ "embeddinggemma2-text-v1" if gemma else "",
13
+ )
14
+ or ""
15
+ ).strip()
16
+ default_dimension = 512 if gemma else 384
17
+ >>>>>>> REPLACE
18
+ <<<<<<< SEARCH
19
+ if gemma or self.profile == "embeddinggemma2-text-v1":
20
+ if not (gemma and self.profile == "embeddinggemma2-text-v1" and self.native_dimension == 768
21
+ and self.mrl_dimension == 512 and dimensions == {512}):
22
+ raise ValueError("embeddinggemma2-text-v1 requires ollama embeddinggemma-2:270m, native 768, MRL 512 and all stored dimensions 512; use a new index when changing profiles")
23
+ elif self.mrl_dimension:
24
+ =======
25
+ if gemma or self.profile == "embeddinggemma2-text-v1":
26
+ if not (gemma and self.profile == "embeddinggemma2-text-v1" and self.native_dimension == 768
27
+ and self.mrl_dimension == 512 and dimensions == {512}):
28
+ raise ValueError(
29
+ "embeddinggemma2-text-v1 configuration mismatch: "
30
+ f"provider={provider!r}, model={model!r}, "
31
+ f"profile={self.profile!r}, "
32
+ f"native_dimension={self.native_dimension!r}, "
33
+ f"mrl_dimension={self.mrl_dimension!r}, "
34
+ f"stored_dimensions={sorted(dimensions)!r}; "
35
+ "expected provider='ollama', model='embeddinggemma-2:270m', "
36
+ "profile='embeddinggemma2-text-v1', native=768, MRL=512, "
37
+ "all stored dimensions=512"
38
+ )
39
+ elif self.mrl_dimension:
40
+ >>>>>>> REPLACE
print_condition.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ gemma = True
3
+ profile = "embeddinggemma2-text-v1"
4
+ native_dimension = 768
5
+ mrl_dimension = 512
6
+ dimensions = {512}
7
+
8
+ if gemma or profile == "embeddinggemma2-text-v1":
9
+ print("gemma is:", gemma)
10
+ print("profile is:", profile)
11
+ print("native_dimension is:", native_dimension)
12
+ print("mrl_dimension is:", mrl_dimension)
13
+ print("dimensions is:", dimensions)
14
+ print("condition:", (gemma and profile == "embeddinggemma2-text-v1" and native_dimension == 768
15
+ and mrl_dimension == 512 and dimensions == {512}))
print_dimensions.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ from src.config import Config
4
+ config = Config()
5
+ dimensions = {
6
+ config.embeddings.embedding_nodes_dimension, config.embeddings.embedding_triplets_dimension,
7
+ config.embeddings.embedding_observations_dimension, config.embeddings.embedding_data_dimension,
8
+ config.embeddings.embedding_relationships_dimension,
9
+ }
10
+ print("Dimensions:", dimensions)
11
+ print("Type:", type(list(dimensions)[0]))
12
+ print("Native:", config.embeddings.native_dimension, type(config.embeddings.native_dimension))
13
+ print("MRL:", config.embeddings.mrl_dimension, type(config.embeddings.mrl_dimension))
14
+ print("Profile:", config.embeddings.profile)
15
+ print("Gemma:", config.ollama.embedding_model == "embeddinggemma-2:270m" if config.ollama else False)
src/config.py CHANGED
@@ -389,8 +389,16 @@ class EmbeddingsConfig:
389
  self.local_model = os.getenv("EMBEDDINGS_LOCAL_MODEL", "BAAI/bge-small-en-v1.5")
390
  self.small_model = os.getenv("EMBEDDINGS_SMALL_MODEL", "BAAI/bge-small-en-v1.5")
391
 
 
 
392
  gemma = provider == "ollama" and model == "embeddinggemma-2:270m"
393
- self.profile = os.getenv("EMBEDDING_PROFILE", "embeddinggemma2-text-v1" if gemma else "")
 
 
 
 
 
 
394
  default_dimension = 512 if gemma else 384
395
 
396
  self.embedding_nodes_dimension = (
@@ -430,7 +438,17 @@ class EmbeddingsConfig:
430
  if gemma or self.profile == "embeddinggemma2-text-v1":
431
  if not (gemma and self.profile == "embeddinggemma2-text-v1" and self.native_dimension == 768
432
  and self.mrl_dimension == 512 and dimensions == {512}):
433
- raise ValueError("embeddinggemma2-text-v1 requires ollama embeddinggemma-2:270m, native 768, MRL 512 and all stored dimensions 512; use a new index when changing profiles")
 
 
 
 
 
 
 
 
 
 
434
  elif self.mrl_dimension:
435
  raise ValueError("MRL is only supported by the qualified embeddinggemma2-text-v1 profile")
436
 
 
389
  self.local_model = os.getenv("EMBEDDINGS_LOCAL_MODEL", "BAAI/bge-small-en-v1.5")
390
  self.small_model = os.getenv("EMBEDDINGS_SMALL_MODEL", "BAAI/bge-small-en-v1.5")
391
 
392
+ provider = (provider or "").strip().lower()
393
+ model = (model or "").strip()
394
  gemma = provider == "ollama" and model == "embeddinggemma-2:270m"
395
+ self.profile = (
396
+ os.getenv(
397
+ "EMBEDDING_PROFILE",
398
+ "embeddinggemma2-text-v1" if gemma else "",
399
+ )
400
+ or ""
401
+ ).strip()
402
  default_dimension = 512 if gemma else 384
403
 
404
  self.embedding_nodes_dimension = (
 
438
  if gemma or self.profile == "embeddinggemma2-text-v1":
439
  if not (gemma and self.profile == "embeddinggemma2-text-v1" and self.native_dimension == 768
440
  and self.mrl_dimension == 512 and dimensions == {512}):
441
+ raise ValueError(
442
+ "embeddinggemma2-text-v1 configuration mismatch: "
443
+ f"provider={provider!r}, model={model!r}, "
444
+ f"profile={self.profile!r}, "
445
+ f"native_dimension={self.native_dimension!r}, "
446
+ f"mrl_dimension={self.mrl_dimension!r}, "
447
+ f"stored_dimensions={sorted(dimensions)!r}; "
448
+ "expected provider='ollama', model='embeddinggemma-2:270m', "
449
+ "profile='embeddinggemma2-text-v1', native=768, MRL=512, "
450
+ "all stored dimensions=512"
451
+ )
452
  elif self.mrl_dimension:
453
  raise ValueError("MRL is only supported by the qualified embeddinggemma2-text-v1 profile")
454
 
test_config.py ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.environ["EMBEDDING_PROFILE"] = "embeddinggemma2-text-v1"
3
+ os.environ["EMBEDDING_NATIVE_DIMENSION"] = "768"
4
+ os.environ["EMBEDDING_MRL_DIMENSION"] = "512"
5
+ os.environ["EMBEDDING_NODES_DIMENSION"] = "512"
6
+ os.environ["EMBEDDING_TRIPLETS_DIMENSION"] = "512"
7
+ os.environ["EMBEDDING_OBSERVATIONS_DIMENSION"] = "512"
8
+ os.environ["EMBEDDING_DATA_DIMENSION"] = "512"
9
+ os.environ["EMBEDDING_RELATIONSHIPS_DIMENSION"] = "512"
10
+ os.environ["OLLAMA_EMBEDDING_MODEL"] = "embeddinggemma-2:270m"
11
+ os.environ["EMBEDDINGS_PROVIDER"] = "ollama"
12
+
13
+ from src.constants.embeddings import EMBEDDING_STORES_SIZES
14
+ print("Success:", EMBEDDING_STORES_SIZES)
test_config2.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.environ["EMBEDDING_PROFILE"] = "embeddinggemma2-text-v1"
3
+ os.environ["EMBEDDING_NATIVE_DIMENSION"] = "768"
4
+ os.environ["EMBEDDING_MRL_DIMENSION"] = "512"
5
+ os.environ["EMBEDDING_NODES_DIMENSION"] = "512"
6
+ os.environ["EMBEDDING_TRIPLETS_DIMENSION"] = "512"
7
+ os.environ["EMBEDDING_OBSERVATIONS_DIMENSION"] = "512"
8
+ os.environ["EMBEDDING_DATA_DIMENSION"] = "512"
9
+ os.environ["EMBEDDING_RELATIONSHIPS_DIMENSION"] = "512"
10
+ os.environ["OLLAMA_EMBEDDING_MODEL"] = "embeddinggemma-2:270m"
11
+ os.environ["EMBEDDINGS_PROVIDER"] = "ollama"
12
+
13
+ from src.config import Config
14
+ config = Config()
15
+ print("DATA DIM:", config.embeddings.embedding_data_dimension)
16
+ print("PROFILE:", config.embeddings.profile)
17
+ print("NATIVE:", config.embeddings.native_dimension)
18
+ print("MRL:", config.embeddings.mrl_dimension)
test_config3.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.environ["EMBEDDING_PROFILE"] = "embeddinggemma2-text-v1"
3
+ os.environ["EMBEDDING_NATIVE_DIMENSION"] = "768"
4
+ os.environ["EMBEDDING_MRL_DIMENSION"] = "512"
5
+ os.environ["EMBEDDING_NODES_DIMENSION"] = "512"
6
+ os.environ["EMBEDDING_TRIPLETS_DIMENSION"] = "512"
7
+ os.environ["EMBEDDING_OBSERVATIONS_DIMENSION"] = "512"
8
+ os.environ["EMBEDDING_DATA_DIMENSION"] = "512"
9
+ os.environ["EMBEDDING_RELATIONSHIPS_DIMENSION"] = "512"
10
+ os.environ["OLLAMA_EMBEDDING_MODEL"] = "embeddinggemma-2:270m"
11
+ os.environ["EMBEDDINGS_PROVIDER"] = "ollama"
12
+ os.environ["MODELS_MODE"] = "local"
13
+ os.environ["LLM_SMALL_PROVIDER"] = "ollama"
14
+
15
+ from src.config import Config
16
+ config = Config()
17
+ print("DATA DIM:", config.embeddings.embedding_data_dimension)
18
+ print("PROFILE:", config.embeddings.profile)
19
+ print("NATIVE:", config.embeddings.native_dimension)
20
+ print("MRL:", config.embeddings.mrl_dimension)
21
+ print("PROVIDER:", config.embeddings_provider)
22
+ print("MODEL:", config.ollama.embedding_model)
test_config4.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.environ["EMBEDDING_PROFILE"] = "embeddinggemma2-text-v1"
3
+ os.environ["EMBEDDING_NATIVE_DIMENSION"] = "768"
4
+ os.environ["EMBEDDING_MRL_DIMENSION"] = "512"
5
+ os.environ["EMBEDDING_NODES_DIMENSION"] = "512"
6
+ os.environ["EMBEDDING_TRIPLETS_DIMENSION"] = "512"
7
+ os.environ["EMBEDDING_OBSERVATIONS_DIMENSION"] = "512"
8
+ os.environ["EMBEDDING_DATA_DIMENSION"] = "512"
9
+ os.environ["EMBEDDING_RELATIONSHIPS_DIMENSION"] = "512"
10
+ os.environ["OLLAMA_EMBEDDING_MODEL"] = "embeddinggemma-2:270m"
11
+ os.environ["EMBEDDINGS_PROVIDER"] = "ollama"
12
+ os.environ["MODELS_MODE"] = "local"
13
+ os.environ["LLM_SMALL_PROVIDER"] = "ollama"
14
+
15
+ from src.config import EmbeddingsConfig
16
+ try:
17
+ c = EmbeddingsConfig("local", provider="ollama", model="embeddinggemma-2:270m")
18
+ print("SUCCESS")
19
+ except Exception as e:
20
+ print("ERROR:", type(e), e)
test_config5.py ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ import os
2
+ from src.config import Config
3
+ try:
4
+ c = Config()
5
+ print("SUCCESS")
6
+ except Exception as e:
7
+ print("ERROR:", type(e), e)
test_config6.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.environ["EMBEDDING_PROFILE"] = "embeddinggemma2-text-v1"
3
+ os.environ["EMBEDDING_NATIVE_DIMENSION"] = "768"
4
+ os.environ["EMBEDDING_MRL_DIMENSION"] = "512"
5
+ os.environ["EMBEDDING_NODES_DIMENSION"] = "512"
6
+ os.environ["EMBEDDING_TRIPLETS_DIMENSION"] = "512"
7
+ os.environ["EMBEDDING_OBSERVATIONS_DIMENSION"] = "512"
8
+ os.environ["EMBEDDING_DATA_DIMENSION"] = "512"
9
+ os.environ["EMBEDDING_RELATIONSHIPS_DIMENSION"] = "512"
10
+ os.environ["OLLAMA_EMBEDDING_MODEL"] = "embeddinggemma-2:270m"
11
+ os.environ["EMBEDDINGS_PROVIDER"] = "ollama"
12
+
13
+ from src.config import Config
14
+ try:
15
+ c = Config()
16
+ print("SUCCESS")
17
+ except Exception as e:
18
+ print("ERROR:", type(e), e)
test_config7.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.environ["EMBEDDING_PROFILE"] = "embeddinggemma2-text-v1"
3
+ os.environ["EMBEDDING_NATIVE_DIMENSION"] = "768"
4
+ os.environ["EMBEDDING_MRL_DIMENSION"] = "512"
5
+ os.environ["EMBEDDING_NODES_DIMENSION"] = "512"
6
+ os.environ["EMBEDDING_TRIPLETS_DIMENSION"] = "512"
7
+ os.environ["EMBEDDING_OBSERVATIONS_DIMENSION"] = "512"
8
+ os.environ["EMBEDDING_DATA_DIMENSION"] = "512"
9
+ os.environ["EMBEDDING_RELATIONSHIPS_DIMENSION"] = "512"
10
+ os.environ["OLLAMA_EMBEDDING_MODEL"] = "embeddinggemma-2:270m"
11
+ os.environ["EMBEDDINGS_PROVIDER"] = "ollama"
12
+
13
+ from src.config import Config
14
+ config = Config()
15
+ print("Ollama embedding model:", config.ollama.embedding_model)