153 lines
6.9 KiB
Markdown
153 lines
6.9 KiB
Markdown
---
|
||
name: ltx23-kb
|
||
description: "Record and retrieve LTX 2.3 knowledge in the ai_brain_kb Qdrant collection (the brain), tagged ltx23."
|
||
version: 2.0.0
|
||
author: Hermes Agent
|
||
license: MIT
|
||
platforms: [linux]
|
||
metadata:
|
||
hermes:
|
||
tags: [qdrant, knowledge-base, ltx, video, ltx23, ai-brain-kb]
|
||
related_skills: [ai-brain-kb, qdrant-collection-management, ltx-video-pipeline]
|
||
---
|
||
|
||
# LTX 2.3 Knowledge — stored in `ai_brain_kb`
|
||
|
||
> **This skill no longer owns a separate collection.** LTX 2.3 knowledge lives in the
|
||
> one brain, `ai_brain_kb`, tagged `ltx23`. The former `ltx23_kb` collection was never
|
||
> created in Qdrant (verified 2026-08-09: `GET /collections/ltx23_kb` →
|
||
> `Collection 'ltx23_kb' doesn't exist!`), so there is nothing to migrate and no
|
||
> historical content is lost by this change.
|
||
>
|
||
> **`mcp__better_qdrant__add_documents` is FORBIDDEN against `ai_brain_kb`** — it does a
|
||
> bare-vector upsert with no `bm25` sparse slot and no payload
|
||
> (`doc_type`/`title`/`tags`/`trust`/`host`), so the point is invisible to typed and
|
||
> keyword search. Every write goes through
|
||
> `python3 /home/n8n/bin/ai_brain_kb.py add ...` and nothing else.
|
||
> Reads against `ai_brain_kb` are unrestricted.
|
||
|
||
## Storage Location
|
||
|
||
| Setting | Value |
|
||
|---------|-------|
|
||
| Qdrant | http://10.0.0.22:6333 |
|
||
| Collection | `ai_brain_kb` (the brain — one collection, no exceptions) |
|
||
| Dimensions | 1024 |
|
||
| Distance | Cosine |
|
||
| Embedding | Ollama `snowflake-arctic-embed2` on **mini, 10.0.0.30** (the fleet's only embedder — keep load minimal and batched) |
|
||
| Write interface | `python3 /home/n8n/bin/ai_brain_kb.py add` — the ONLY correct one |
|
||
| Read interface | `ai_brain_kb.py search` / `list` / `facet`, or `mcp__better_qdrant__search` (read-only) |
|
||
| Scoping convention | `--tool ltx` plus `--tags "ltx23,..."` |
|
||
|
||
## What Goes Here
|
||
|
||
Everything LTX 2.3 related that should be searchable across sessions:
|
||
|
||
- **Known issues** — bugs, artifacts, model limitations, workarounds (`--type issue`)
|
||
- **Resolutions / fixes** — patches, config changes that solved problems (`--type finding`)
|
||
- **Prompt suggestions** — effective prompt patterns, structures, word limits (`--type prompt`)
|
||
- **New modules** — community modules, extensions, LoRAs, pipelines (`--type model` / `--type tool`)
|
||
- **Official source tracking** — Lightricks GitHub releases, changelogs, docs (`--type research`)
|
||
- **Community findings** — HuggingFace discussions, Reddit, Discord insights (`--type finding`)
|
||
- **Render settings** — proven configs (steps, guidance, resolution, CFG) (`--type setting`)
|
||
- **Pipeline decisions** — architecture choices, model chain wiring (`--type decision`)
|
||
|
||
## Commands
|
||
|
||
### Add knowledge (the only write path)
|
||
|
||
```bash
|
||
python3 /home/n8n/bin/ai_brain_kb.py add \
|
||
--type finding \
|
||
--title "LTX 2.3 — <short, specific title>" \
|
||
--file /absolute/path/to/findings.md \
|
||
--tool ltx \
|
||
--stage t2v \
|
||
--trust official \
|
||
--tags "ltx23,ltx,<topic>" \
|
||
--importance 0.6
|
||
```
|
||
|
||
- `--content "..."` instead of `--file` for short entries.
|
||
- `--file` chunks large files itself — no MCP 120 s timeout, no size ceiling.
|
||
- Valid `--type` values: `research|finding|decision|issue|workflow|technique|model|setting|tool|asset|prompt|host`.
|
||
- `--url` for the primary source, `--path` for an on-disk or NAS artifact.
|
||
|
||
### Search
|
||
|
||
```bash
|
||
# hybrid (dense + BM25) — the default, best for natural-language questions
|
||
python3 /home/n8n/bin/ai_brain_kb.py search --query "LTX 2.3 temporal consistency fix" --limit 10
|
||
|
||
# scope to LTX content
|
||
python3 /home/n8n/bin/ai_brain_kb.py search --query "prompt ceiling" --tag ltx23
|
||
|
||
# pure keyword / exact-string (filenames, error strings, model names) — no embedding call
|
||
python3 /home/n8n/bin/ai_brain_kb.py search --query "ltxv-097-dev-fp8.safetensors" --mode bm25
|
||
|
||
# by type
|
||
python3 /home/n8n/bin/ai_brain_kb.py search --query "artifacts" --type issue --tag ltx23
|
||
```
|
||
|
||
`list`, `facet`, `recent` and `--mode bm25` do **not** call the embedder — prefer them
|
||
when you only need to enumerate or keyword-match (mini CARE rule).
|
||
|
||
### Delete
|
||
|
||
```bash
|
||
python3 /home/n8n/bin/ai_brain_kb.py delete --doc-id <doc_id> --yes
|
||
```
|
||
|
||
## Workflow: Save Research Findings
|
||
|
||
After researching LTX 2.3 (new release, bug fix, community finding):
|
||
|
||
1. **Dedup first** — `search --query "<topic>" --tag ltx23`.
|
||
≥0.85 skip · 0.70–0.84 add only if meaningfully new · <0.70 always add.
|
||
2. **Write findings to a markdown file** in `~/workspace/general/` or a dedicated LTX workspace.
|
||
3. **Add via the helper** — `ai_brain_kb.py add --type <t> --tool ltx --tags "ltx23,..." --file <path>`.
|
||
4. **Confirm** — the helper prints the `doc_id` and chunk count; report both.
|
||
5. **Verify** — re-find it with `search --mode bm25 --query "<distinctive phrase>"`. A hit only
|
||
on hybrid and not on bm25 is the bare-upsert signature and means the write was wrong.
|
||
|
||
## Workflow: Research an LTX Issue
|
||
|
||
1. **Search the brain first** — `search --query "<issue>" --tag ltx23`, then without the tag
|
||
for broader AI-video context.
|
||
2. **If gaps found** — dispatch web search for official sources (Lightricks GitHub, HuggingFace).
|
||
3. **Save results** — add the research output with the helper, tagged `ltx23`.
|
||
4. **Proceed** — now you have full context.
|
||
|
||
## Official Sources
|
||
|
||
Primary sources to monitor (for cron-based updates):
|
||
|
||
- **GitHub:** https://github.com/Lightricks/LTX-Video — official repo, releases, issues
|
||
- **HuggingFace:** https://huggingface.co/Lightricks/LTX-Video — model weights, model cards
|
||
- **HuggingFace Community:** https://huggingface.co/Lightricks — organization page
|
||
|
||
## Pitfalls
|
||
|
||
- **Never `mcp__better_qdrant__add_documents`** — bare-vector upsert; the point becomes
|
||
invisible to typed and keyword search. The helper is the only correct write interface.
|
||
- **Per-document delete EXISTS** — `ai_brain_kb.py delete --doc-id <id> --yes`. Never
|
||
`mcp__better_qdrant__delete_collection(collection="ai_brain_kb")` — that destroys the
|
||
entire brain, not one document.
|
||
- **File paths must be absolute.**
|
||
- **Large files chunk automatically** — the helper handles chunking; no need to pre-split.
|
||
- **Embedding model must be running** — Ollama with `snowflake-arctic-embed2` on
|
||
**mini (10.0.0.30)**, the fleet's only embedder. Keep writes batched.
|
||
- **Scope with tags, not collections** — `ltx23` tag + `--tool ltx`. Do not create a new
|
||
collection for a topic; the brain is one collection.
|
||
- **Search is hybrid** — dense + BM25. Use `--mode bm25` for exact strings, natural
|
||
language for concepts.
|
||
- **Prompt ceiling** — LTX 2.3 official limit is 200 words (Lightricks GitHub README).
|
||
Community extends to 150-300 words for 10s clips. One main action per 2-3 seconds of video.
|
||
|
||
## Related Skills
|
||
|
||
- `ai-brain-kb` — the authoritative skill for the brain; read it first
|
||
- `qdrant-collection-management` — collection-level operations for OTHER collections
|
||
- `ltx-video-pipeline` — LTX Video pipeline on 10.0.0.202
|
||
- `local-ai-media-generation` — Plan and evaluate local AI media generation pipelines
|