{"repo": "camier/layflow", "files": {"docs/INFRASTRUCTURE.md": {"e3e2080788cb8b0d166e2f8c622f8269a9a1f6e4": {"t": 1785746590.6256738, "n": 4148, "h": "19bd91277d32dfc6", "c": "# Infrastructure Setup - Layflow\n\n> **Quick start**: For local dev setup only, see [SETUP_LOCAL_SERVICES.md](../SETUP_LOCAL_SERVICES.md). This document is the full operational reference.\n\nLast updated: 2026-02-21\n\n## Verified Working Stack\n\n| Component | Endpoint | Status | Notes |\n|-----------|----------|--------|-------|\n| **Milvus** | `http://127.0.0.1:19530` | ✅ Running | Native systemd service |\n| **Model Server** | `http://127.0.0.1:8005` | ✅ Running | ColQwen2.5 on CUDA |\n| **LiteLLM** | `http://127.0.0.1:4000/v1` | ✅ Running | OpenAI-compatible |\n| **Redis** | `redis://127.0.0.1:6379` | ✅ Running | Docker (tez-redis) |\n\n## Milvus Collections\n\n```\ncolpali_kanna_128 # 3.5M vectors, 128-dim (PRIMARY)\ncolpali_kanna_128_el # Evidence ledger\ncolpali_kanna_128_pages_sparse\ncolpali_kanna_128_evidence_blocks_el\ntez_chunks # 768-dim document chunks\ntez_entities # Extracted entities\ntez_images # Image embeddings\nsubstance_embeddings # Substance RAG\nmolecule_embeddings # Molecule RAG\n```\n\n## Query Pipeline\n\n```python\n# 1. Embed query via model server\nPOST /embed_text → 12 vectors (ColPali multi-vector)\n\n# 2. Average vectors (MaxSim) → 128-dim\n\n# 3. Search Milvus collection \"colpali_kanna_128\"\n# → returns page_number, filename, image_id\n```\n\n### Test Query Results\n\n| Query | Top Result | Score |\n|-------|------------|-------|\n| machine learning | Indigenous World.pdf p.32 | 0.678 |\n| biodiversity | Leonti - Future is Written p.13 | 0.678 |\n| traditional medicine | South African Herbal Pharma p.37 | 0.678 |\n| benefit sharing | Access and Benefit-Sharing p.67 | 0.726 |\n\n## Environment Requirements\n\n### Model Server\n\n```bash\n# Start\ncd /LAB/@thesis/layflow\nmicromamba run -n layflow-ml python -m model_server.app --host 127.0.0.1 --port 8005\n\n# Dependencies (critical versions)\n# - torch<2.9.0,>=2.2.0 (colpali_engine requirement)\n# - colpali-engine>=0.3.7\n# - transformers>=4.40\n```\n\n### Milvus\n\n```bash\n# Check status\nsystemctl status milvus\n\n# Connect\nfrom pymilvus import connections, Collection\nconnections.connect('default', host='127.0.0.1', port='19530')\n```\n\n## LLM Configuration (LiteLLM)\n\nLiteLLM proxy at `http://127.0.0.1:4000/v1` routes to multiple providers.\n\n### Workflow Model Mapping\n\n| Node | LiteLLM Model | Provider | Notes |\n|------|---------------|----------|-------|\n| Requirements | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Seed Axes | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Extract | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Macro Gen | `minimax-m2.5` | MiniMax | Fast coding |\n| Micro Gen | `cliproxy/kimi-cli` | kimi | Kimi CLI |\n| Find Sources | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Coherence | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Human Review | `minimax-m2.5` | MiniMax | Fast coding |\n| Display | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n\n### Testing LLM Calls\n\n```bash\ncurl -X POST http://127.0.0.1:4000/v1/chat/completions \\\n -H \"Authorization: Bearer sk-REDACTED\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"deepseek/deepseek-reasoner\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Say OK\"}],\n \"max_tokens\": 5\n }'\n```\n\n### Available Models\n\n```\ndeepseek/deepseek-reasoner # DeepSeek Reasoner (reasoning)\nminimax-m2.5 # MiniMax M2.5 (fast coding)\nzai-glm-5-coding # Z.ai GLM-5 (coding)\ncliproxy/kimi-cli # Kimi CLI (kimi)\n```\n\n## Key Environment Variables\n\n```bash\nMILVUS_URI=http://127.0.0.1:19530\nMODEL_SERVER_URL=http://127.0.0.1:8005\nLITELLM_PROXY_URL=http://127.0.0.1:4000/v1\nREDIS_DSN=redis://127.0.0.1:6379\n\n# RAG config\nRAG_VECTOR_SEARCH_PROVIDER=milvus_colpali_patch_maxsim\nRAG_BASE_ID_MAP_JSON='{\"thesis_corpus\": \"colpali_kanna_128\"}'\n```\n\n## Files Updated\n\n- `docs/TOOLING_DOCS_MAP.md` - Service endpoints\n- `docs/ENV_DIAG.md` - Model server + Milvus setup\n- `docs/REPO_MAP.md` - Port map\n- `tests/test_workflow_templates_validate.py` - Fixed path to templates\n- `app/workflow_assets/templates/workflow_v5_CONFIGURED_FIXED_SANITIZED.json` - Fixed LLM model names\n"}, "6bfb7fb9ddd606313eb36469c461872a409ebe84": {"t": 1785766089.8420222, "n": 4148, "h": "19bd91277d32dfc6", "c": "# Infrastructure Setup - Layflow\n\n> **Quick start**: For local dev setup only, see [SETUP_LOCAL_SERVICES.md](../SETUP_LOCAL_SERVICES.md). This document is the full operational reference.\n\nLast updated: 2026-02-21\n\n## Verified Working Stack\n\n| Component | Endpoint | Status | Notes |\n|-----------|----------|--------|-------|\n| **Milvus** | `http://127.0.0.1:19530` | ✅ Running | Native systemd service |\n| **Model Server** | `http://127.0.0.1:8005` | ✅ Running | ColQwen2.5 on CUDA |\n| **LiteLLM** | `http://127.0.0.1:4000/v1` | ✅ Running | OpenAI-compatible |\n| **Redis** | `redis://127.0.0.1:6379` | ✅ Running | Docker (tez-redis) |\n\n## Milvus Collections\n\n```\ncolpali_kanna_128 # 3.5M vectors, 128-dim (PRIMARY)\ncolpali_kanna_128_el # Evidence ledger\ncolpali_kanna_128_pages_sparse\ncolpali_kanna_128_evidence_blocks_el\ntez_chunks # 768-dim document chunks\ntez_entities # Extracted entities\ntez_images # Image embeddings\nsubstance_embeddings # Substance RAG\nmolecule_embeddings # Molecule RAG\n```\n\n## Query Pipeline\n\n```python\n# 1. Embed query via model server\nPOST /embed_text → 12 vectors (ColPali multi-vector)\n\n# 2. Average vectors (MaxSim) → 128-dim\n\n# 3. Search Milvus collection \"colpali_kanna_128\"\n# → returns page_number, filename, image_id\n```\n\n### Test Query Results\n\n| Query | Top Result | Score |\n|-------|------------|-------|\n| machine learning | Indigenous World.pdf p.32 | 0.678 |\n| biodiversity | Leonti - Future is Written p.13 | 0.678 |\n| traditional medicine | South African Herbal Pharma p.37 | 0.678 |\n| benefit sharing | Access and Benefit-Sharing p.67 | 0.726 |\n\n## Environment Requirements\n\n### Model Server\n\n```bash\n# Start\ncd /LAB/@thesis/layflow\nmicromamba run -n layflow-ml python -m model_server.app --host 127.0.0.1 --port 8005\n\n# Dependencies (critical versions)\n# - torch<2.9.0,>=2.2.0 (colpali_engine requirement)\n# - colpali-engine>=0.3.7\n# - transformers>=4.40\n```\n\n### Milvus\n\n```bash\n# Check status\nsystemctl status milvus\n\n# Connect\nfrom pymilvus import connections, Collection\nconnections.connect('default', host='127.0.0.1', port='19530')\n```\n\n## LLM Configuration (LiteLLM)\n\nLiteLLM proxy at `http://127.0.0.1:4000/v1` routes to multiple providers.\n\n### Workflow Model Mapping\n\n| Node | LiteLLM Model | Provider | Notes |\n|------|---------------|----------|-------|\n| Requirements | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Seed Axes | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Extract | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Macro Gen | `minimax-m2.5` | MiniMax | Fast coding |\n| Micro Gen | `cliproxy/kimi-cli` | kimi | Kimi CLI |\n| Find Sources | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Coherence | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Human Review | `minimax-m2.5` | MiniMax | Fast coding |\n| Display | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n\n### Testing LLM Calls\n\n```bash\ncurl -X POST http://127.0.0.1:4000/v1/chat/completions \\\n -H \"Authorization: Bearer sk-REDACTED\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"deepseek/deepseek-reasoner\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Say OK\"}],\n \"max_tokens\": 5\n }'\n```\n\n### Available Models\n\n```\ndeepseek/deepseek-reasoner # DeepSeek Reasoner (reasoning)\nminimax-m2.5 # MiniMax M2.5 (fast coding)\nzai-glm-5-coding # Z.ai GLM-5 (coding)\ncliproxy/kimi-cli # Kimi CLI (kimi)\n```\n\n## Key Environment Variables\n\n```bash\nMILVUS_URI=http://127.0.0.1:19530\nMODEL_SERVER_URL=http://127.0.0.1:8005\nLITELLM_PROXY_URL=http://127.0.0.1:4000/v1\nREDIS_DSN=redis://127.0.0.1:6379\n\n# RAG config\nRAG_VECTOR_SEARCH_PROVIDER=milvus_colpali_patch_maxsim\nRAG_BASE_ID_MAP_JSON='{\"thesis_corpus\": \"colpali_kanna_128\"}'\n```\n\n## Files Updated\n\n- `docs/TOOLING_DOCS_MAP.md` - Service endpoints\n- `docs/ENV_DIAG.md` - Model server + Milvus setup\n- `docs/REPO_MAP.md` - Port map\n- `tests/test_workflow_templates_validate.py` - Fixed path to templates\n- `app/workflow_assets/templates/workflow_v5_CONFIGURED_FIXED_SANITIZED.json` - Fixed LLM model names\n"}, "5cf5e2a9e9438b01586c90f65c31b5db4c0b9ddd": {"t": 1785766091.3680973, "n": 3994, "h": "de72292dda66dae4", "c": "# Infrastructure Setup - Layflow\n\nLast updated: 2026-02-21\n\n## Verified Working Stack\n\n| Component | Endpoint | Status | Notes |\n|-----------|----------|--------|-------|\n| **Milvus** | `http://127.0.0.1:19530` | ✅ Running | Native systemd service |\n| **Model Server** | `http://127.0.0.1:8005` | ✅ Running | ColQwen2.5 on CUDA |\n| **LiteLLM** | `http://127.0.0.1:4000/v1` | ✅ Running | OpenAI-compatible |\n| **Redis** | `redis://127.0.0.1:6379` | ✅ Running | Docker (tez-redis) |\n\n## Milvus Collections\n\n```\ncolpali_kanna_128 # 3.5M vectors, 128-dim (PRIMARY)\ncolpali_kanna_128_el # Evidence ledger\ncolpali_kanna_128_pages_sparse\ncolpali_kanna_128_evidence_blocks_el\ntez_chunks # 768-dim document chunks\ntez_entities # Extracted entities\ntez_images # Image embeddings\nsubstance_embeddings # Substance RAG\nmolecule_embeddings # Molecule RAG\n```\n\n## Query Pipeline\n\n```python\n# 1. Embed query via model server\nPOST /embed_text → 12 vectors (ColPali multi-vector)\n\n# 2. Average vectors (MaxSim) → 128-dim\n\n# 3. Search Milvus collection \"colpali_kanna_128\"\n# → returns page_number, filename, image_id\n```\n\n### Test Query Results\n\n| Query | Top Result | Score |\n|-------|------------|-------|\n| machine learning | Indigenous World.pdf p.32 | 0.678 |\n| biodiversity | Leonti - Future is Written p.13 | 0.678 |\n| traditional medicine | South African Herbal Pharma p.37 | 0.678 |\n| benefit sharing | Access and Benefit-Sharing p.67 | 0.726 |\n\n## Environment Requirements\n\n### Model Server\n\n```bash\n# Start\ncd /LAB/@thesis/layflow\nmicromamba run -n layflow-ml python -m model_server.app --host 127.0.0.1 --port 8005\n\n# Dependencies (critical versions)\n# - torch<2.9.0,>=2.2.0 (colpali_engine requirement)\n# - colpali-engine>=0.3.7\n# - transformers>=4.40\n```\n\n### Milvus\n\n```bash\n# Check status\nsystemctl status milvus\n\n# Connect\nfrom pymilvus import connections, Collection\nconnections.connect('default', host='127.0.0.1', port='19530')\n```\n\n## LLM Configuration (LiteLLM)\n\nLiteLLM proxy at `http://127.0.0.1:4000/v1` routes to multiple providers.\n\n### Workflow Model Mapping\n\n| Node | LiteLLM Model | Provider | Notes |\n|------|---------------|----------|-------|\n| Requirements | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Seed Axes | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Extract | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Macro Gen | `minimax-m2.5` | MiniMax | Fast coding |\n| Micro Gen | `cliproxy/kimi-cli` | kimi | Kimi CLI |\n| Find Sources | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Coherence | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Human Review | `minimax-m2.5` | MiniMax | Fast coding |\n| Display | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n\n### Testing LLM Calls\n\n```bash\ncurl -X POST http://127.0.0.1:4000/v1/chat/completions \\\n -H \"Authorization: Bearer sk-REDACTED\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"deepseek/deepseek-reasoner\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Say OK\"}],\n \"max_tokens\": 5\n }'\n```\n\n### Available Models\n\n```\ndeepseek/deepseek-reasoner # DeepSeek Reasoner (reasoning)\nminimax-m2.5 # MiniMax M2.5 (fast coding)\nzai-glm-5-coding # Z.ai GLM-5 (coding)\ncliproxy/kimi-cli # Kimi CLI (kimi)\n```\n\n## Key Environment Variables\n\n```bash\nMILVUS_URI=http://127.0.0.1:19530\nMODEL_SERVER_URL=http://127.0.0.1:8005\nLITELLM_PROXY_URL=http://127.0.0.1:4000/v1\nREDIS_DSN=redis://127.0.0.1:6379\n\n# RAG config\nRAG_VECTOR_SEARCH_PROVIDER=milvus_colpali_patch_maxsim\nRAG_BASE_ID_MAP_JSON='{\"thesis_corpus\": \"colpali_kanna_128\"}'\n```\n\n## Files Updated\n\n- `docs/TOOLING_DOCS_MAP.md` - Service endpoints\n- `docs/ENV_DIAG.md` - Model server + Milvus setup\n- `docs/REPO_MAP.md` - Port map\n- `tests/test_workflow_templates_validate.py` - Fixed path to templates\n- `app/workflow_assets/templates/workflow_v5_CONFIGURED_FIXED_SANITIZED.json` - Fixed LLM model names\n"}, "37800d9a4fecb69b24ed78a1fffcb8c78e591cb0": {"t": 1785766092.9068627, "n": 4015, "h": "1d37acbc42f565c1", "c": "# Infrastructure Setup - Layflow\n\nLast updated: 2026-02-21\n\n## Verified Working Stack\n\n| Component | Endpoint | Status | Notes |\n|-----------|----------|--------|-------|\n| **Milvus** | `http://127.0.0.1:19530` | ✅ Running | Native systemd service |\n| **Model Server** | `http://127.0.0.1:8005` | ✅ Running | ColQwen2.5 on CUDA |\n| **LiteLLM** | `http://127.0.0.1:4000/v1` | ✅ Running | OpenAI-compatible |\n| **Redis** | `redis://127.0.0.1:6379` | ✅ Running | Docker (tez-redis) |\n\n## Milvus Collections\n\n```\ncolpali_kanna_128 # 3.5M vectors, 128-dim (PRIMARY)\ncolpali_kanna_128_el # Evidence ledger\ncolpali_kanna_128_pages_sparse\ncolpali_kanna_128_evidence_blocks_el\ntez_chunks # 768-dim document chunks\ntez_entities # Extracted entities\ntez_images # Image embeddings\nsubstance_embeddings # Substance RAG\nmolecule_embeddings # Molecule RAG\n```\n\n## Query Pipeline\n\n```python\n# 1. Embed query via model server\nPOST /embed_text → 12 vectors (ColPali multi-vector)\n\n# 2. Average vectors (MaxSim) → 128-dim\n\n# 3. Search Milvus collection \"colpali_kanna_128\"\n# → returns page_number, filename, image_id\n```\n\n### Test Query Results\n\n| Query | Top Result | Score |\n|-------|------------|-------|\n| machine learning | Indigenous World.pdf p.32 | 0.678 |\n| biodiversity | Leonti - Future is Written p.13 | 0.678 |\n| traditional medicine | South African Herbal Pharma p.37 | 0.678 |\n| benefit sharing | Access and Benefit-Sharing p.67 | 0.726 |\n\n## Environment Requirements\n\n### Model Server\n\n```bash\n# Start\ncd /LAB/@thesis/layflow\nmicromamba run -n layflow-ml python -m model_server.app --host 127.0.0.1 --port 8005\n\n# Dependencies (critical versions)\n# - torch<2.9.0,>=2.2.0 (colpali_engine requirement)\n# - colpali-engine>=0.3.7\n# - transformers>=4.40\n```\n\n### Milvus\n\n```bash\n# Check status\nsystemctl status milvus\n\n# Connect\nfrom pymilvus import connections, Collection\nconnections.connect('default', host='127.0.0.1', port='19530')\n```\n\n## LLM Configuration (LiteLLM)\n\nLiteLLM proxy at `http://127.0.0.1:4000/v1` routes to multiple providers.\n\n### Workflow Model Mapping\n\n| Node | LiteLLM Model | Provider | Notes |\n|------|---------------|----------|-------|\n| Requirements | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Seed Axes | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Extract | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Macro Gen | `minimax-m2.5` | MiniMax | Fast coding |\n| Micro Gen | `cliproxy/kimi-cli` | kimi | Kimi CLI |\n| Find Sources | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n| Coherence | `deepseek/deepseek-reasoner` | deepseek.com | Reasoning model |\n| Human Review | `minimax-m2.5` | MiniMax | Fast coding |\n| Display | `zai-glm-5-coding` | z.ai | GLM-5 coding |\n\n### Testing LLM Calls\n\n```bash\ncurl -X POST http://127.0.0.1:4000/v1/chat/completions \\\n -H \"Authorization: Bearer sk-HTl2EYE9neqdZcsjm2zt_Q\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"deepseek/deepseek-reasoner\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Say OK\"}],\n \"max_tokens\": 5\n }'\n```\n\n### Available Models\n\n```\ndeepseek/deepseek-reasoner # DeepSeek Reasoner (reasoning)\nminimax-m2.5 # MiniMax M2.5 (fast coding)\nzai-glm-5-coding # Z.ai GLM-5 (coding)\ncliproxy/kimi-cli # Kimi CLI (kimi)\n```\n\n## Key Environment Variables\n\n```bash\nMILVUS_URI=http://127.0.0.1:19530\nMODEL_SERVER_URL=http://127.0.0.1:8005\nLITELLM_PROXY_URL=http://127.0.0.1:4000/v1\nREDIS_DSN=redis://127.0.0.1:6379\n\n# RAG config\nRAG_VECTOR_SEARCH_PROVIDER=milvus_colpali_patch_maxsim\nRAG_BASE_ID_MAP_JSON='{\"thesis_corpus\": \"colpali_kanna_128\"}'\n```\n\n## Files Updated\n\n- `docs/TOOLING_DOCS_MAP.md` - Service endpoints\n- `docs/ENV_DIAG.md` - Model server + Milvus setup\n- `docs/REPO_MAP.md` - Port map\n- `backend/tests/test_workflow_templates_validate.py` - Fixed path to templates\n- `backend/app/engine/templates/workflow_v5_CONFIGURED_FIXED_SANITIZED.json` - Fixed LLM model names\n"}}}}