@miller-tech/uap 1.163.11 → 1.163.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -108,54 +108,34 @@
108
108
  },
109
109
 
110
110
  "embedding_server": {
111
- "description": "Instance 2: Embedding model (nomic-embed-text-v2-moe) — port 8081. SoTA multilingual MoE embedding model: 475M total / 305M active params, 768 dims, 100+ languages, MIRACL 65.8.",
111
+ "description": "Instance 2: Embedding model (nomic-embed-text-v2-moe) — port 8081. SoTA multilingual MoE embedding model: 475M total / 305M active params, 768 dims, 100+ languages, MIRACL 65.8. Served by HuggingFace Text-Embeddings-Inference (TEI); managed as IaC in agents/docker-compose.yml (service: tei-embeddings).",
112
112
  "model": "nomic-embed-text-v2-moe",
113
- "model_url": "https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe-GGUF",
114
- "recommended_quant": "Q4_K_M",
115
- "quant_options": [
116
- { "quant": "Q4_K_M", "size_mb": 328, "quality": "good, recommended for most use cases" },
117
- { "quant": "Q5_K_M", "size_mb": 354, "quality": "high quality" },
118
- { "quant": "Q6_K", "size_mb": 379, "quality": "very high quality, near perfect" },
119
- { "quant": "Q8_0", "size_mb": 488, "quality": "extremely high, generally unneeded" },
120
- { "quant": "F16", "size_mb": 913, "quality": "full precision, max quality" }
121
- ],
122
- "download_command": "huggingface-cli download nomic-ai/nomic-embed-text-v2-moe-GGUF nomic-embed-text-v2-moe.Q4_K_M.gguf --local-dir /path/to/models/",
113
+ "server": "text-embeddings-inference",
114
+ "server_image": "ghcr.io/huggingface/text-embeddings-inference:cpu-1.9",
115
+ "compose_service": "tei-embeddings",
116
+ "model_url": "https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe",
117
+ "weights_format": "safetensors",
118
+ "_weights_note": "TEI loads safetensors (NOT gguf). The CPU image is ONNX-first but nomic-v2-moe ships no ONNX export, so TEI loads it via the Candle backend ('Starting NomicBert model on Cpu'). Candle caps the internal inference batch at 4 (forces max_batch_requests=4); UAP's client sub-batches of 8 are accepted and micro-batched.",
119
+ "download_command": "bash scripts/fetch-embedding-weights.sh (or let TEI self-download from HF on first start if agents/tei_data is empty and the host is online)",
123
120
 
124
- "command_gpu": "llama-server --model /path/to/nomic-embed-text-v2-moe.Q4_K_M.gguf --port 8081 --host 0.0.0.0 --embeddings --pooling mean --ctx-size 512 --gpu-layers 99 --batch-size 2048 --ubatch-size 512 --threads 4",
125
- "command_cpu": "llama-server --model /path/to/nomic-embed-text-v2-moe.Q4_K_M.gguf --port 8081 --host 0.0.0.0 --embeddings --pooling mean --ctx-size 512 --gpu-layers 0 --batch-size 2048 --threads 8",
121
+ "bring_up": "docker compose -f agents/docker-compose.yml up -d tei-embeddings",
122
+ "command": "text-embeddings-router --model-id nomic-ai/nomic-embed-text-v2-moe --pooling mean --auto-truncate --max-client-batch-size 32 --port 80 --hostname 0.0.0.0",
126
123
 
127
- "flags_gpu": [
128
- "--model /path/to/nomic-embed-text-v2-moe.Q4_K_M.gguf",
129
- "--port 8081",
130
- "--host 0.0.0.0",
131
- "--embeddings",
132
- "--pooling mean",
133
- "--ctx-size 512",
134
- "--gpu-layers 99",
135
- "--batch-size 2048",
136
- "--ubatch-size 512",
137
- "--threads 4"
138
- ],
139
- "flags_cpu": [
140
- "--model /path/to/nomic-embed-text-v2-moe.Q4_K_M.gguf",
141
- "--port 8081",
142
- "--host 0.0.0.0",
143
- "--embeddings",
144
- "--pooling mean",
145
- "--ctx-size 512",
146
- "--gpu-layers 0",
147
- "--batch-size 2048",
148
- "--threads 8"
149
- ],
150
- "vram_estimate_gpu": "~380MB (328MB model + ~50MB KV cache)",
151
- "vram_estimate_cpu": "0 (runs entirely on CPU RAM, ~400MB)",
124
+ "fallback_llama_cpp": {
125
+ "_comment": "Previous backend, kept as a rollback path. Same model/port/contract; relaunching this restores :8081 if TEI is stopped. Stored Q8_0/Q4 GGUF vectors are cosine ~0.999 compatible with TEI fp16, so no re-embed is required to switch either direction.",
126
+ "model_url_gguf": "https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe-GGUF",
127
+ "command_cpu": "llama-server --model /path/to/nomic-embed-text-v2-moe.Q8_0.gguf --port 8081 --host 0.0.0.0 --embeddings --pooling mean --ctx-size 8192 --n-gpu-layers 0 --batch-size 2048 --ubatch-size 2048 --threads 8",
128
+ "command_gpu": "llama-server --model /path/to/nomic-embed-text-v2-moe.Q4_K_M.gguf --port 8081 --host 0.0.0.0 --embeddings --pooling mean --ctx-size 512 --gpu-layers 99 --batch-size 2048 --ubatch-size 512 --threads 4"
129
+ },
130
+ "vram_estimate_gpu": "0 (TEI runs CPU-only; RTX 3090 stays reserved for the Qwen LLM on :8080)",
131
+ "ram_estimate_cpu": "~2GB resident (nomic-v2-moe fp32 safetensors, 305M active params)",
152
132
  "task_prefixes": {
153
133
  "search_query": "search_query: ",
154
134
  "search_document": "search_document: ",
155
135
  "_comment": "nomic-embed-text-v2 requires task prefixes. Queries use search_query:, documents use search_document:. The UAP embedding provider handles this automatically."
156
136
  },
157
137
  "env_var": "UAP_EMBEDDING_ENDPOINT=http://192.168.1.165:8081",
158
- "_comment": "Set UAP_EMBEDDING_ENDPOINT env var to override the default endpoint. The embedding provider auto-detects dimensions from the model response."
138
+ "_comment": "Set UAP_EMBEDDING_ENDPOINT env var to override the default endpoint. The embedding provider auto-detects dimensions from the model response. Contract is server-agnostic: GET /health + POST /v1/embeddings (no model field) -> {data:[{embedding,index}]}, 768 dims."
159
139
  },
160
140
 
161
141
  "dual_model_vram_budget": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.163.11",
3
+ "version": "1.163.12",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",