AI Workbench
A real application with subcommands, JSON output, and a Python harness validating its behaviour. The entry point shows how a multi-command CLI is wired.
Source: examples/ai-workbench/packages/faber-ai
src/main.fab#
faber format --locale en — English reader surface# Faber AI workbench command surface.
import from "./commands/model" private * as modelModule
import from "./commands/embed" private * as embedModule
import from "./commands/index" private * as indexModule
import from "./commands/query" private * as queryModule
import from "./commands/generate" private * as generateModule
import from "./commands/chat" private * as chatModule
@ command { name = "embed" }
@ description "Embed input texts with a local model alias"
@ option { binding = model_alias, long = "model", type = string, description = "Model alias", coalesce = "basic/minilm" }
@ option { binding = out, long = "out", type = string, description = "Vector output path", coalesce = "/tmp/faber-ai-vectors.fvi" }
@ option { binding = format, long = "format", type = string, description = "Output format: text or json", coalesce = "text" }
@ option { binding = map, long = "alias-map", type = string, description = "Alias map TOML path", coalesce = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ option { binding = oracle_runner, long = "oracle-runner", type = string, description = "Explicit oracle runner script", coalesce = "" }
@ option { binding = oracle_label, long = "oracle-label", type = string, description = "Oracle runtime label", coalesce = "manual-minilm-torch" }
@ operand { type = string, binding = texts, description = "Input text file" }
fn embed() → void {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ command { name = "index" }
@ description "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ option { binding = out, long = "out", type = string, description = "Index output path", coalesce = "/tmp/faber-ai-index.fvi" }
@ option { binding = format, long = "format", type = string, description = "Output format: text or json", coalesce = "text" }
@ option { binding = metric, long = "metric", type = string, description = "Similarity metric", coalesce = "cosine" }
@ operand { type = string, binding = vectors, description = "Stage 2 vector artifact path" }
fn index() → void {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ command { name = "query" }
@ description "Query a deterministic Stage 3 vector index"
@ option { binding = top, long = "top", type = int, description = "Maximum result count", coalesce = 10 }
@ option { binding = format, long = "format", type = string, description = "Output format: text or json", coalesce = "text" }
@ option { binding = query_vector, long = "query-vector", type = string, description = "Explicit query vector fixture", coalesce = "" }
@ operand { type = string, binding = index, description = "Stage 3 index artifact path" }
@ operand { type = string, binding = query_text, description = "Query text" }
fn query() → void {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ command { name = "generate" }
@ description "Generate text with an explicit local oracle-backed model runner"
@ option { binding = model_alias, long = "model", type = string, description = "Model alias", coalesce = "stretch/qwen3-4b-fp8" }
@ option { binding = out, long = "out", type = string, description = "Generation event output path", coalesce = "/tmp/faber-ai-generate.jsonl" }
@ option { binding = format, long = "format", type = string, description = "Output format: text or json", coalesce = "text" }
@ option { binding = map, long = "alias-map", type = string, description = "Alias map TOML path", coalesce = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ option { binding = oracle_runner, long = "oracle-runner", type = string, description = "Explicit oracle runner script", coalesce = "" }
@ option { binding = oracle_label, long = "oracle-label", type = string, description = "Oracle runtime label", coalesce = "transformers-local-fp8" }
@ option { binding = max_new_tokens, long = "max-new-tokens", type = int, description = "Maximum generated tokens", coalesce = 16 }
@ option { binding = temperature, long = "temperature", type = string, description = "Sampling temperature", coalesce = "0" }
@ option { binding = seed, long = "seed", type = int, description = "Deterministic oracle seed", coalesce = 0 }
@ operand { type = string, binding = prompt, description = "Prompt text file" }
fn generate() → void {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ command { name = "chat" }
@ description "Chat through an explicit local llama.cpp router adapter"
@ option { binding = model_alias, long = "model", type = string, description = "Model alias", coalesce = "daily/qwen36-35b-a3b-q4" }
@ option { binding = out, long = "out", type = string, description = "Chat transcript output path", coalesce = "/tmp/faber-ai-chat.jsonl" }
@ option { binding = format, long = "format", type = string, description = "Output format: text or json", coalesce = "text" }
@ option { binding = map, long = "alias-map", type = string, description = "Alias map TOML path", coalesce = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ option { binding = router_runner, long = "router-runner", type = string, description = "Explicit router runner script", coalesce = "" }
@ option { binding = router_label, long = "router-label", type = string, description = "Router runtime label", coalesce = "llama-router" }
@ option { binding = router_url, long = "router-url", type = string, description = "Router base URL", coalesce = "http://127.0.0.1:18173/v1" }
@ operand { type = string, binding = prompt, description = "Prompt text file" }
fn chat() → void {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ cli { name = "faber-ai" }
@ versio "0.1.0"
@ description "Local Faber AI workbench"
@ imperia "model" ex modelModule
main args args {
}faber format --locale la — canonical Faber# Faber AI workbench command surface.
importa ex "./commands/model" privata * ut modelModule
importa ex "./commands/embed" privata * ut embedModule
importa ex "./commands/index" privata * ut indexModule
importa ex "./commands/query" privata * ut queryModule
importa ex "./commands/generate" privata * ut generateModule
importa ex "./commands/chat" privata * ut chatModule
@ imperium { nomen = "embed" }
@ descriptio "Embed input texts with a local model alias"
@ optio { binding = model_alias, longum = "model", typus = textus, descriptio = "Model alias", vel = "basic/minilm" }
@ optio { binding = out, longum = "out", typus = textus, descriptio = "Vector output path", vel = "/tmp/faber-ai-vectors.fvi" }
@ optio { binding = format, longum = "format", typus = textus, descriptio = "Output format: text or json", vel = "text" }
@ optio { binding = map, longum = "alias-map", typus = textus, descriptio = "Alias map TOML path", vel = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ optio { binding = oracle_runner, longum = "oracle-runner", typus = textus, descriptio = "Explicit oracle runner script", vel = "" }
@ optio { binding = oracle_label, longum = "oracle-label", typus = textus, descriptio = "Oracle runtime label", vel = "manual-minilm-torch" }
@ operandus { typus = textus, binding = texts, descriptio = "Input text file" }
functio embed() → vacuum {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ imperium { nomen = "index" }
@ descriptio "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ optio { binding = out, longum = "out", typus = textus, descriptio = "Index output path", vel = "/tmp/faber-ai-index.fvi" }
@ optio { binding = format, longum = "format", typus = textus, descriptio = "Output format: text or json", vel = "text" }
@ optio { binding = metric, longum = "metric", typus = textus, descriptio = "Similarity metric", vel = "cosine" }
@ operandus { typus = textus, binding = vectors, descriptio = "Stage 2 vector artifact path" }
functio index() → vacuum {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ imperium { nomen = "query" }
@ descriptio "Query a deterministic Stage 3 vector index"
@ optio { binding = top, longum = "top", typus = numerus, descriptio = "Maximum result count", vel = 10 }
@ optio { binding = format, longum = "format", typus = textus, descriptio = "Output format: text or json", vel = "text" }
@ optio { binding = query_vector, longum = "query-vector", typus = textus, descriptio = "Explicit query vector fixture", vel = "" }
@ operandus { typus = textus, binding = index, descriptio = "Stage 3 index artifact path" }
@ operandus { typus = textus, binding = query_text, descriptio = "Query text" }
functio query() → vacuum {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ imperium { nomen = "generate" }
@ descriptio "Generate text with an explicit local oracle-backed model runner"
@ optio { binding = model_alias, longum = "model", typus = textus, descriptio = "Model alias", vel = "stretch/qwen3-4b-fp8" }
@ optio { binding = out, longum = "out", typus = textus, descriptio = "Generation event output path", vel = "/tmp/faber-ai-generate.jsonl" }
@ optio { binding = format, longum = "format", typus = textus, descriptio = "Output format: text or json", vel = "text" }
@ optio { binding = map, longum = "alias-map", typus = textus, descriptio = "Alias map TOML path", vel = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ optio { binding = oracle_runner, longum = "oracle-runner", typus = textus, descriptio = "Explicit oracle runner script", vel = "" }
@ optio { binding = oracle_label, longum = "oracle-label", typus = textus, descriptio = "Oracle runtime label", vel = "transformers-local-fp8" }
@ optio { binding = max_new_tokens, longum = "max-new-tokens", typus = numerus, descriptio = "Maximum generated tokens", vel = 16 }
@ optio { binding = temperature, longum = "temperature", typus = textus, descriptio = "Sampling temperature", vel = "0" }
@ optio { binding = seed, longum = "seed", typus = numerus, descriptio = "Deterministic oracle seed", vel = 0 }
@ operandus { typus = textus, binding = prompt, descriptio = "Prompt text file" }
functio generate() → vacuum {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ imperium { nomen = "chat" }
@ descriptio "Chat through an explicit local llama.cpp router adapter"
@ optio { binding = model_alias, longum = "model", typus = textus, descriptio = "Model alias", vel = "daily/qwen36-35b-a3b-q4" }
@ optio { binding = out, longum = "out", typus = textus, descriptio = "Chat transcript output path", vel = "/tmp/faber-ai-chat.jsonl" }
@ optio { binding = format, longum = "format", typus = textus, descriptio = "Output format: text or json", vel = "text" }
@ optio { binding = map, longum = "alias-map", typus = textus, descriptio = "Alias map TOML path", vel = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ optio { binding = router_runner, longum = "router-runner", typus = textus, descriptio = "Explicit router runner script", vel = "" }
@ optio { binding = router_label, longum = "router-label", typus = textus, descriptio = "Router runtime label", vel = "llama-router" }
@ optio { binding = router_url, longum = "router-url", typus = textus, descriptio = "Router base URL", vel = "http://127.0.0.1:18173/v1" }
@ operandus { typus = textus, binding = prompt, descriptio = "Prompt text file" }
functio chat() → vacuum {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ cli { nomen = "faber-ai" }
@ versio "0.1.0"
@ descriptio "Local Faber AI workbench"
@ imperia "model" ex modelModule
incipit argumenta args {
}faber format --locale th-TH — Thai# Faber AI workbench command surface.
นำเข้า ออก "./commands/model" ส่วนตัว * ในชื่อ modelModule
นำเข้า ออก "./commands/embed" ส่วนตัว * ในชื่อ embedModule
นำเข้า ออก "./commands/index" ส่วนตัว * ในชื่อ indexModule
นำเข้า ออก "./commands/query" ส่วนตัว * ในชื่อ queryModule
นำเข้า ออก "./commands/generate" ส่วนตัว * ในชื่อ generateModule
นำเข้า ออก "./commands/chat" ส่วนตัว * ในชื่อ chatModule
@ คำสั่ง { ชื่อ = "embed" }
@ คำอธิบาย "Embed input texts with a local model alias"
@ ตัวเลือก { binding = model_alias, ยาว = "model", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Model alias", หรือว่าง = "basic/minilm" }
@ ตัวเลือก { binding = out, ยาว = "out", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Vector output path", หรือว่าง = "/tmp/faber-ai-vectors.fvi" }
@ ตัวเลือก { binding = format, ยาว = "format", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Output format: text or json", หรือว่าง = "text" }
@ ตัวเลือก { binding = map, ยาว = "alias-map", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Alias map TOML path", หรือว่าง = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ ตัวเลือก { binding = oracle_runner, ยาว = "oracle-runner", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Explicit oracle runner script", หรือว่าง = "" }
@ ตัวเลือก { binding = oracle_label, ยาว = "oracle-label", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Oracle runtime label", หรือว่าง = "manual-minilm-torch" }
@ ตัวถูกดำเนินการ { ชนิดนามแฝง = ข้อความ, binding = texts, คำอธิบาย = "Input text file" }
ฟังก์ชัน embed() → เปล่า {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ คำสั่ง { ชื่อ = "index" }
@ คำอธิบาย "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ ตัวเลือก { binding = out, ยาว = "out", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Index output path", หรือว่าง = "/tmp/faber-ai-index.fvi" }
@ ตัวเลือก { binding = format, ยาว = "format", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Output format: text or json", หรือว่าง = "text" }
@ ตัวเลือก { binding = metric, ยาว = "metric", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Similarity metric", หรือว่าง = "cosine" }
@ ตัวถูกดำเนินการ { ชนิดนามแฝง = ข้อความ, binding = vectors, คำอธิบาย = "Stage 2 vector artifact path" }
ฟังก์ชัน index() → เปล่า {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ คำสั่ง { ชื่อ = "query" }
@ คำอธิบาย "Query a deterministic Stage 3 vector index"
@ ตัวเลือก { binding = top, ยาว = "top", ชนิดนามแฝง = จำนวน, คำอธิบาย = "Maximum result count", หรือว่าง = 10 }
@ ตัวเลือก { binding = format, ยาว = "format", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Output format: text or json", หรือว่าง = "text" }
@ ตัวเลือก { binding = query_vector, ยาว = "query-vector", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Explicit query vector fixture", หรือว่าง = "" }
@ ตัวถูกดำเนินการ { ชนิดนามแฝง = ข้อความ, binding = index, คำอธิบาย = "Stage 3 index artifact path" }
@ ตัวถูกดำเนินการ { ชนิดนามแฝง = ข้อความ, binding = query_text, คำอธิบาย = "Query text" }
ฟังก์ชัน query() → เปล่า {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ คำสั่ง { ชื่อ = "generate" }
@ คำอธิบาย "Generate text with an explicit local oracle-backed model runner"
@ ตัวเลือก { binding = model_alias, ยาว = "model", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Model alias", หรือว่าง = "stretch/qwen3-4b-fp8" }
@ ตัวเลือก { binding = out, ยาว = "out", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Generation event output path", หรือว่าง = "/tmp/faber-ai-generate.jsonl" }
@ ตัวเลือก { binding = format, ยาว = "format", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Output format: text or json", หรือว่าง = "text" }
@ ตัวเลือก { binding = map, ยาว = "alias-map", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Alias map TOML path", หรือว่าง = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ ตัวเลือก { binding = oracle_runner, ยาว = "oracle-runner", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Explicit oracle runner script", หรือว่าง = "" }
@ ตัวเลือก { binding = oracle_label, ยาว = "oracle-label", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Oracle runtime label", หรือว่าง = "transformers-local-fp8" }
@ ตัวเลือก { binding = max_new_tokens, ยาว = "max-new-tokens", ชนิดนามแฝง = จำนวน, คำอธิบาย = "Maximum generated tokens", หรือว่าง = 16 }
@ ตัวเลือก { binding = temperature, ยาว = "temperature", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Sampling temperature", หรือว่าง = "0" }
@ ตัวเลือก { binding = seed, ยาว = "seed", ชนิดนามแฝง = จำนวน, คำอธิบาย = "Deterministic oracle seed", หรือว่าง = 0 }
@ ตัวถูกดำเนินการ { ชนิดนามแฝง = ข้อความ, binding = prompt, คำอธิบาย = "Prompt text file" }
ฟังก์ชัน generate() → เปล่า {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ คำสั่ง { ชื่อ = "chat" }
@ คำอธิบาย "Chat through an explicit local llama.cpp router adapter"
@ ตัวเลือก { binding = model_alias, ยาว = "model", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Model alias", หรือว่าง = "daily/qwen36-35b-a3b-q4" }
@ ตัวเลือก { binding = out, ยาว = "out", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Chat transcript output path", หรือว่าง = "/tmp/faber-ai-chat.jsonl" }
@ ตัวเลือก { binding = format, ยาว = "format", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Output format: text or json", หรือว่าง = "text" }
@ ตัวเลือก { binding = map, ยาว = "alias-map", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Alias map TOML path", หรือว่าง = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ ตัวเลือก { binding = router_runner, ยาว = "router-runner", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Explicit router runner script", หรือว่าง = "" }
@ ตัวเลือก { binding = router_label, ยาว = "router-label", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Router runtime label", หรือว่าง = "llama-router" }
@ ตัวเลือก { binding = router_url, ยาว = "router-url", ชนิดนามแฝง = ข้อความ, คำอธิบาย = "Router base URL", หรือว่าง = "http://127.0.0.1:18173/v1" }
@ ตัวถูกดำเนินการ { ชนิดนามแฝง = ข้อความ, binding = prompt, คำอธิบาย = "Prompt text file" }
ฟังก์ชัน chat() → เปล่า {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ cli { ชื่อ = "faber-ai" }
@ versio "0.1.0"
@ คำอธิบาย "Local Faber AI workbench"
@ imperia "model" ex modelModule
เริ่ม อาร์กิวเมนต์ args {
}faber format --locale zh-Hans — Simplified Chinese# Faber AI workbench command surface.
导入 取自 "./commands/model" 私有 * 作为 modelModule
导入 取自 "./commands/embed" 私有 * 作为 embedModule
导入 取自 "./commands/index" 私有 * 作为 indexModule
导入 取自 "./commands/query" 私有 * 作为 queryModule
导入 取自 "./commands/generate" 私有 * 作为 generateModule
导入 取自 "./commands/chat" 私有 * 作为 chatModule
@ 命令 { 名称 = "embed" }
@ 描述 "Embed input texts with a local model alias"
@ 选项 { binding = model_alias, 详 = "model", 类型 = 文本, 描述 = "Model alias", 兜底 = "basic/minilm" }
@ 选项 { binding = out, 详 = "out", 类型 = 文本, 描述 = "Vector output path", 兜底 = "/tmp/faber-ai-vectors.fvi" }
@ 选项 { binding = format, 详 = "format", 类型 = 文本, 描述 = "Output format: text or json", 兜底 = "text" }
@ 选项 { binding = map, 详 = "alias-map", 类型 = 文本, 描述 = "Alias map TOML path", 兜底 = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ 选项 { binding = oracle_runner, 详 = "oracle-runner", 类型 = 文本, 描述 = "Explicit oracle runner script", 兜底 = "" }
@ 选项 { binding = oracle_label, 详 = "oracle-label", 类型 = 文本, 描述 = "Oracle runtime label", 兜底 = "manual-minilm-torch" }
@ 操作数 { 类型 = 文本, binding = texts, 描述 = "Input text file" }
函数 embed() → 无值 {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ 命令 { 名称 = "index" }
@ 描述 "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ 选项 { binding = out, 详 = "out", 类型 = 文本, 描述 = "Index output path", 兜底 = "/tmp/faber-ai-index.fvi" }
@ 选项 { binding = format, 详 = "format", 类型 = 文本, 描述 = "Output format: text or json", 兜底 = "text" }
@ 选项 { binding = metric, 详 = "metric", 类型 = 文本, 描述 = "Similarity metric", 兜底 = "cosine" }
@ 操作数 { 类型 = 文本, binding = vectors, 描述 = "Stage 2 vector artifact path" }
函数 index() → 无值 {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ 命令 { 名称 = "query" }
@ 描述 "Query a deterministic Stage 3 vector index"
@ 选项 { binding = top, 详 = "top", 类型 = 整数, 描述 = "Maximum result count", 兜底 = 10 }
@ 选项 { binding = format, 详 = "format", 类型 = 文本, 描述 = "Output format: text or json", 兜底 = "text" }
@ 选项 { binding = query_vector, 详 = "query-vector", 类型 = 文本, 描述 = "Explicit query vector fixture", 兜底 = "" }
@ 操作数 { 类型 = 文本, binding = index, 描述 = "Stage 3 index artifact path" }
@ 操作数 { 类型 = 文本, binding = query_text, 描述 = "Query text" }
函数 query() → 无值 {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ 命令 { 名称 = "generate" }
@ 描述 "Generate text with an explicit local oracle-backed model runner"
@ 选项 { binding = model_alias, 详 = "model", 类型 = 文本, 描述 = "Model alias", 兜底 = "stretch/qwen3-4b-fp8" }
@ 选项 { binding = out, 详 = "out", 类型 = 文本, 描述 = "Generation event output path", 兜底 = "/tmp/faber-ai-generate.jsonl" }
@ 选项 { binding = format, 详 = "format", 类型 = 文本, 描述 = "Output format: text or json", 兜底 = "text" }
@ 选项 { binding = map, 详 = "alias-map", 类型 = 文本, 描述 = "Alias map TOML path", 兜底 = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ 选项 { binding = oracle_runner, 详 = "oracle-runner", 类型 = 文本, 描述 = "Explicit oracle runner script", 兜底 = "" }
@ 选项 { binding = oracle_label, 详 = "oracle-label", 类型 = 文本, 描述 = "Oracle runtime label", 兜底 = "transformers-local-fp8" }
@ 选项 { binding = max_new_tokens, 详 = "max-new-tokens", 类型 = 整数, 描述 = "Maximum generated tokens", 兜底 = 16 }
@ 选项 { binding = temperature, 详 = "temperature", 类型 = 文本, 描述 = "Sampling temperature", 兜底 = "0" }
@ 选项 { binding = seed, 详 = "seed", 类型 = 整数, 描述 = "Deterministic oracle seed", 兜底 = 0 }
@ 操作数 { 类型 = 文本, binding = prompt, 描述 = "Prompt text file" }
函数 generate() → 无值 {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ 命令 { 名称 = "chat" }
@ 描述 "Chat through an explicit local llama.cpp router adapter"
@ 选项 { binding = model_alias, 详 = "model", 类型 = 文本, 描述 = "Model alias", 兜底 = "daily/qwen36-35b-a3b-q4" }
@ 选项 { binding = out, 详 = "out", 类型 = 文本, 描述 = "Chat transcript output path", 兜底 = "/tmp/faber-ai-chat.jsonl" }
@ 选项 { binding = format, 详 = "format", 类型 = 文本, 描述 = "Output format: text or json", 兜底 = "text" }
@ 选项 { binding = map, 详 = "alias-map", 类型 = 文本, 描述 = "Alias map TOML path", 兜底 = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ 选项 { binding = router_runner, 详 = "router-runner", 类型 = 文本, 描述 = "Explicit router runner script", 兜底 = "" }
@ 选项 { binding = router_label, 详 = "router-label", 类型 = 文本, 描述 = "Router runtime label", 兜底 = "llama-router" }
@ 选项 { binding = router_url, 详 = "router-url", 类型 = 文本, 描述 = "Router base URL", 兜底 = "http://127.0.0.1:18173/v1" }
@ 操作数 { 类型 = 文本, binding = prompt, 描述 = "Prompt text file" }
函数 chat() → 无值 {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ 命令行 { 名称 = "faber-ai" }
@ versio "0.1.0"
@ 描述 "Local Faber AI workbench"
@ imperia "model" ex modelModule
入口 参数 args {
}faber format --locale zh-Hant — Traditional Chinese# Faber AI workbench command surface.
匯入 取自 "./commands/model" 私有 * 作為 modelModule
匯入 取自 "./commands/embed" 私有 * 作為 embedModule
匯入 取自 "./commands/index" 私有 * 作為 indexModule
匯入 取自 "./commands/query" 私有 * 作為 queryModule
匯入 取自 "./commands/generate" 私有 * 作為 generateModule
匯入 取自 "./commands/chat" 私有 * 作為 chatModule
@ 命令 { 名稱 = "embed" }
@ 描述 "Embed input texts with a local model alias"
@ 選項 { binding = model_alias, 詳 = "model", 型別 = 文字, 描述 = "Model alias", 或取 = "basic/minilm" }
@ 選項 { binding = out, 詳 = "out", 型別 = 文字, 描述 = "Vector output path", 或取 = "/tmp/faber-ai-vectors.fvi" }
@ 選項 { binding = format, 詳 = "format", 型別 = 文字, 描述 = "Output format: text or json", 或取 = "text" }
@ 選項 { binding = map, 詳 = "alias-map", 型別 = 文字, 描述 = "Alias map TOML path", 或取 = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ 選項 { binding = oracle_runner, 詳 = "oracle-runner", 型別 = 文字, 描述 = "Explicit oracle runner script", 或取 = "" }
@ 選項 { binding = oracle_label, 詳 = "oracle-label", 型別 = 文字, 描述 = "Oracle runtime label", 或取 = "manual-minilm-torch" }
@ 操作數 { 型別 = 文字, binding = texts, 描述 = "Input text file" }
函式 embed() → 空值 {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ 命令 { 名稱 = "index" }
@ 描述 "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ 選項 { binding = out, 詳 = "out", 型別 = 文字, 描述 = "Index output path", 或取 = "/tmp/faber-ai-index.fvi" }
@ 選項 { binding = format, 詳 = "format", 型別 = 文字, 描述 = "Output format: text or json", 或取 = "text" }
@ 選項 { binding = metric, 詳 = "metric", 型別 = 文字, 描述 = "Similarity metric", 或取 = "cosine" }
@ 操作數 { 型別 = 文字, binding = vectors, 描述 = "Stage 2 vector artifact path" }
函式 index() → 空值 {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ 命令 { 名稱 = "query" }
@ 描述 "Query a deterministic Stage 3 vector index"
@ 選項 { binding = top, 詳 = "top", 型別 = 整數, 描述 = "Maximum result count", 或取 = 10 }
@ 選項 { binding = format, 詳 = "format", 型別 = 文字, 描述 = "Output format: text or json", 或取 = "text" }
@ 選項 { binding = query_vector, 詳 = "query-vector", 型別 = 文字, 描述 = "Explicit query vector fixture", 或取 = "" }
@ 操作數 { 型別 = 文字, binding = index, 描述 = "Stage 3 index artifact path" }
@ 操作數 { 型別 = 文字, binding = query_text, 描述 = "Query text" }
函式 query() → 空值 {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ 命令 { 名稱 = "generate" }
@ 描述 "Generate text with an explicit local oracle-backed model runner"
@ 選項 { binding = model_alias, 詳 = "model", 型別 = 文字, 描述 = "Model alias", 或取 = "stretch/qwen3-4b-fp8" }
@ 選項 { binding = out, 詳 = "out", 型別 = 文字, 描述 = "Generation event output path", 或取 = "/tmp/faber-ai-generate.jsonl" }
@ 選項 { binding = format, 詳 = "format", 型別 = 文字, 描述 = "Output format: text or json", 或取 = "text" }
@ 選項 { binding = map, 詳 = "alias-map", 型別 = 文字, 描述 = "Alias map TOML path", 或取 = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ 選項 { binding = oracle_runner, 詳 = "oracle-runner", 型別 = 文字, 描述 = "Explicit oracle runner script", 或取 = "" }
@ 選項 { binding = oracle_label, 詳 = "oracle-label", 型別 = 文字, 描述 = "Oracle runtime label", 或取 = "transformers-local-fp8" }
@ 選項 { binding = max_new_tokens, 詳 = "max-new-tokens", 型別 = 整數, 描述 = "Maximum generated tokens", 或取 = 16 }
@ 選項 { binding = temperature, 詳 = "temperature", 型別 = 文字, 描述 = "Sampling temperature", 或取 = "0" }
@ 選項 { binding = seed, 詳 = "seed", 型別 = 整數, 描述 = "Deterministic oracle seed", 或取 = 0 }
@ 操作數 { 型別 = 文字, binding = prompt, 描述 = "Prompt text file" }
函式 generate() → 空值 {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ 命令 { 名稱 = "chat" }
@ 描述 "Chat through an explicit local llama.cpp router adapter"
@ 選項 { binding = model_alias, 詳 = "model", 型別 = 文字, 描述 = "Model alias", 或取 = "daily/qwen36-35b-a3b-q4" }
@ 選項 { binding = out, 詳 = "out", 型別 = 文字, 描述 = "Chat transcript output path", 或取 = "/tmp/faber-ai-chat.jsonl" }
@ 選項 { binding = format, 詳 = "format", 型別 = 文字, 描述 = "Output format: text or json", 或取 = "text" }
@ 選項 { binding = map, 詳 = "alias-map", 型別 = 文字, 描述 = "Alias map TOML path", 或取 = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ 選項 { binding = router_runner, 詳 = "router-runner", 型別 = 文字, 描述 = "Explicit router runner script", 或取 = "" }
@ 選項 { binding = router_label, 詳 = "router-label", 型別 = 文字, 描述 = "Router runtime label", 或取 = "llama-router" }
@ 選項 { binding = router_url, 詳 = "router-url", 型別 = 文字, 描述 = "Router base URL", 或取 = "http://127.0.0.1:18173/v1" }
@ 操作數 { 型別 = 文字, binding = prompt, 描述 = "Prompt text file" }
函式 chat() → 空值 {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ 命令行 { 名稱 = "faber-ai" }
@ versio "0.1.0"
@ 描述 "Local Faber AI workbench"
@ imperia "model" ex modelModule
入口 引數 args {
}faber format --locale vi — Vietnamese# Faber AI workbench command surface.
nhập từ "./commands/model" riêng_tư * như modelModule
nhập từ "./commands/embed" riêng_tư * như embedModule
nhập từ "./commands/index" riêng_tư * như indexModule
nhập từ "./commands/query" riêng_tư * như queryModule
nhập từ "./commands/generate" riêng_tư * như generateModule
nhập từ "./commands/chat" riêng_tư * như chatModule
@ lệnh { tên = "embed" }
@ mô_tả "Embed input texts with a local model alias"
@ tùy_chọn { binding = model_alias, dài = "model", kiểu_tên = văn_bản, mô_tả = "Model alias", hoặc_nếu_rỗng = "basic/minilm" }
@ tùy_chọn { binding = out, dài = "out", kiểu_tên = văn_bản, mô_tả = "Vector output path", hoặc_nếu_rỗng = "/tmp/faber-ai-vectors.fvi" }
@ tùy_chọn { binding = format, dài = "format", kiểu_tên = văn_bản, mô_tả = "Output format: text or json", hoặc_nếu_rỗng = "text" }
@ tùy_chọn { binding = map, dài = "alias-map", kiểu_tên = văn_bản, mô_tả = "Alias map TOML path", hoặc_nếu_rỗng = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ tùy_chọn { binding = oracle_runner, dài = "oracle-runner", kiểu_tên = văn_bản, mô_tả = "Explicit oracle runner script", hoặc_nếu_rỗng = "" }
@ tùy_chọn { binding = oracle_label, dài = "oracle-label", kiểu_tên = văn_bản, mô_tả = "Oracle runtime label", hoặc_nếu_rỗng = "manual-minilm-torch" }
@ toán_hạng { kiểu_tên = văn_bản, binding = texts, mô_tả = "Input text file" }
hàm embed() → trống {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ lệnh { tên = "index" }
@ mô_tả "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ tùy_chọn { binding = out, dài = "out", kiểu_tên = văn_bản, mô_tả = "Index output path", hoặc_nếu_rỗng = "/tmp/faber-ai-index.fvi" }
@ tùy_chọn { binding = format, dài = "format", kiểu_tên = văn_bản, mô_tả = "Output format: text or json", hoặc_nếu_rỗng = "text" }
@ tùy_chọn { binding = metric, dài = "metric", kiểu_tên = văn_bản, mô_tả = "Similarity metric", hoặc_nếu_rỗng = "cosine" }
@ toán_hạng { kiểu_tên = văn_bản, binding = vectors, mô_tả = "Stage 2 vector artifact path" }
hàm index() → trống {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ lệnh { tên = "query" }
@ mô_tả "Query a deterministic Stage 3 vector index"
@ tùy_chọn { binding = top, dài = "top", kiểu_tên = số, mô_tả = "Maximum result count", hoặc_nếu_rỗng = 10 }
@ tùy_chọn { binding = format, dài = "format", kiểu_tên = văn_bản, mô_tả = "Output format: text or json", hoặc_nếu_rỗng = "text" }
@ tùy_chọn { binding = query_vector, dài = "query-vector", kiểu_tên = văn_bản, mô_tả = "Explicit query vector fixture", hoặc_nếu_rỗng = "" }
@ toán_hạng { kiểu_tên = văn_bản, binding = index, mô_tả = "Stage 3 index artifact path" }
@ toán_hạng { kiểu_tên = văn_bản, binding = query_text, mô_tả = "Query text" }
hàm query() → trống {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ lệnh { tên = "generate" }
@ mô_tả "Generate text with an explicit local oracle-backed model runner"
@ tùy_chọn { binding = model_alias, dài = "model", kiểu_tên = văn_bản, mô_tả = "Model alias", hoặc_nếu_rỗng = "stretch/qwen3-4b-fp8" }
@ tùy_chọn { binding = out, dài = "out", kiểu_tên = văn_bản, mô_tả = "Generation event output path", hoặc_nếu_rỗng = "/tmp/faber-ai-generate.jsonl" }
@ tùy_chọn { binding = format, dài = "format", kiểu_tên = văn_bản, mô_tả = "Output format: text or json", hoặc_nếu_rỗng = "text" }
@ tùy_chọn { binding = map, dài = "alias-map", kiểu_tên = văn_bản, mô_tả = "Alias map TOML path", hoặc_nếu_rỗng = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ tùy_chọn { binding = oracle_runner, dài = "oracle-runner", kiểu_tên = văn_bản, mô_tả = "Explicit oracle runner script", hoặc_nếu_rỗng = "" }
@ tùy_chọn { binding = oracle_label, dài = "oracle-label", kiểu_tên = văn_bản, mô_tả = "Oracle runtime label", hoặc_nếu_rỗng = "transformers-local-fp8" }
@ tùy_chọn { binding = max_new_tokens, dài = "max-new-tokens", kiểu_tên = số, mô_tả = "Maximum generated tokens", hoặc_nếu_rỗng = 16 }
@ tùy_chọn { binding = temperature, dài = "temperature", kiểu_tên = văn_bản, mô_tả = "Sampling temperature", hoặc_nếu_rỗng = "0" }
@ tùy_chọn { binding = seed, dài = "seed", kiểu_tên = số, mô_tả = "Deterministic oracle seed", hoặc_nếu_rỗng = 0 }
@ toán_hạng { kiểu_tên = văn_bản, binding = prompt, mô_tả = "Prompt text file" }
hàm generate() → trống {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ lệnh { tên = "chat" }
@ mô_tả "Chat through an explicit local llama.cpp router adapter"
@ tùy_chọn { binding = model_alias, dài = "model", kiểu_tên = văn_bản, mô_tả = "Model alias", hoặc_nếu_rỗng = "daily/qwen36-35b-a3b-q4" }
@ tùy_chọn { binding = out, dài = "out", kiểu_tên = văn_bản, mô_tả = "Chat transcript output path", hoặc_nếu_rỗng = "/tmp/faber-ai-chat.jsonl" }
@ tùy_chọn { binding = format, dài = "format", kiểu_tên = văn_bản, mô_tả = "Output format: text or json", hoặc_nếu_rỗng = "text" }
@ tùy_chọn { binding = map, dài = "alias-map", kiểu_tên = văn_bản, mô_tả = "Alias map TOML path", hoặc_nếu_rỗng = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ tùy_chọn { binding = router_runner, dài = "router-runner", kiểu_tên = văn_bản, mô_tả = "Explicit router runner script", hoặc_nếu_rỗng = "" }
@ tùy_chọn { binding = router_label, dài = "router-label", kiểu_tên = văn_bản, mô_tả = "Router runtime label", hoặc_nếu_rỗng = "llama-router" }
@ tùy_chọn { binding = router_url, dài = "router-url", kiểu_tên = văn_bản, mô_tả = "Router base URL", hoặc_nếu_rỗng = "http://127.0.0.1:18173/v1" }
@ toán_hạng { kiểu_tên = văn_bản, binding = prompt, mô_tả = "Prompt text file" }
hàm chat() → trống {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ cli { tên = "faber-ai" }
@ versio "0.1.0"
@ mô_tả "Local Faber AI workbench"
@ imperia "model" ex modelModule
bắt_đầu đối_số args {
}faber format --locale ar — Arabic# Faber AI workbench command surface.
استورد من "./commands/model" خاص * كـ modelModule
استورد من "./commands/embed" خاص * كـ embedModule
استورد من "./commands/index" خاص * كـ indexModule
استورد من "./commands/query" خاص * كـ queryModule
استورد من "./commands/generate" خاص * كـ generateModule
استورد من "./commands/chat" خاص * كـ chatModule
@ أمر { اسم = "embed" }
@ وصف "Embed input texts with a local model alias"
@ خيار { binding = model_alias, مفصل = "model", نمط = نص, وصف = "Model alias", عوض = "basic/minilm" }
@ خيار { binding = out, مفصل = "out", نمط = نص, وصف = "Vector output path", عوض = "/tmp/faber-ai-vectors.fvi" }
@ خيار { binding = format, مفصل = "format", نمط = نص, وصف = "Output format: text or json", عوض = "text" }
@ خيار { binding = map, مفصل = "alias-map", نمط = نص, وصف = "Alias map TOML path", عوض = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ خيار { binding = oracle_runner, مفصل = "oracle-runner", نمط = نص, وصف = "Explicit oracle runner script", عوض = "" }
@ خيار { binding = oracle_label, مفصل = "oracle-label", نمط = نص, وصف = "Oracle runtime label", عوض = "manual-minilm-torch" }
@ معامل { نمط = نص, binding = texts, وصف = "Input text file" }
دالة embed() → فراغ {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ أمر { اسم = "index" }
@ وصف "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ خيار { binding = out, مفصل = "out", نمط = نص, وصف = "Index output path", عوض = "/tmp/faber-ai-index.fvi" }
@ خيار { binding = format, مفصل = "format", نمط = نص, وصف = "Output format: text or json", عوض = "text" }
@ خيار { binding = metric, مفصل = "metric", نمط = نص, وصف = "Similarity metric", عوض = "cosine" }
@ معامل { نمط = نص, binding = vectors, وصف = "Stage 2 vector artifact path" }
دالة index() → فراغ {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ أمر { اسم = "query" }
@ وصف "Query a deterministic Stage 3 vector index"
@ خيار { binding = top, مفصل = "top", نمط = عدد, وصف = "Maximum result count", عوض = 10 }
@ خيار { binding = format, مفصل = "format", نمط = نص, وصف = "Output format: text or json", عوض = "text" }
@ خيار { binding = query_vector, مفصل = "query-vector", نمط = نص, وصف = "Explicit query vector fixture", عوض = "" }
@ معامل { نمط = نص, binding = index, وصف = "Stage 3 index artifact path" }
@ معامل { نمط = نص, binding = query_text, وصف = "Query text" }
دالة query() → فراغ {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ أمر { اسم = "generate" }
@ وصف "Generate text with an explicit local oracle-backed model runner"
@ خيار { binding = model_alias, مفصل = "model", نمط = نص, وصف = "Model alias", عوض = "stretch/qwen3-4b-fp8" }
@ خيار { binding = out, مفصل = "out", نمط = نص, وصف = "Generation event output path", عوض = "/tmp/faber-ai-generate.jsonl" }
@ خيار { binding = format, مفصل = "format", نمط = نص, وصف = "Output format: text or json", عوض = "text" }
@ خيار { binding = map, مفصل = "alias-map", نمط = نص, وصف = "Alias map TOML path", عوض = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ خيار { binding = oracle_runner, مفصل = "oracle-runner", نمط = نص, وصف = "Explicit oracle runner script", عوض = "" }
@ خيار { binding = oracle_label, مفصل = "oracle-label", نمط = نص, وصف = "Oracle runtime label", عوض = "transformers-local-fp8" }
@ خيار { binding = max_new_tokens, مفصل = "max-new-tokens", نمط = عدد, وصف = "Maximum generated tokens", عوض = 16 }
@ خيار { binding = temperature, مفصل = "temperature", نمط = نص, وصف = "Sampling temperature", عوض = "0" }
@ خيار { binding = seed, مفصل = "seed", نمط = عدد, وصف = "Deterministic oracle seed", عوض = 0 }
@ معامل { نمط = نص, binding = prompt, وصف = "Prompt text file" }
دالة generate() → فراغ {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ أمر { اسم = "chat" }
@ وصف "Chat through an explicit local llama.cpp router adapter"
@ خيار { binding = model_alias, مفصل = "model", نمط = نص, وصف = "Model alias", عوض = "daily/qwen36-35b-a3b-q4" }
@ خيار { binding = out, مفصل = "out", نمط = نص, وصف = "Chat transcript output path", عوض = "/tmp/faber-ai-chat.jsonl" }
@ خيار { binding = format, مفصل = "format", نمط = نص, وصف = "Output format: text or json", عوض = "text" }
@ خيار { binding = map, مفصل = "alias-map", نمط = نص, وصف = "Alias map TOML path", عوض = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ خيار { binding = router_runner, مفصل = "router-runner", نمط = نص, وصف = "Explicit router runner script", عوض = "" }
@ خيار { binding = router_label, مفصل = "router-label", نمط = نص, وصف = "Router runtime label", عوض = "llama-router" }
@ خيار { binding = router_url, مفصل = "router-url", نمط = نص, وصف = "Router base URL", عوض = "http://127.0.0.1:18173/v1" }
@ معامل { نمط = نص, binding = prompt, وصف = "Prompt text file" }
دالة chat() → فراغ {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ cli { اسم = "faber-ai" }
@ versio "0.1.0"
@ وصف "Local Faber AI workbench"
@ imperia "model" ex modelModule
بداية وسائط args {
}faber format --locale hi — Hindi# Faber AI workbench command surface.
आयात सेवन "./commands/model" निजी * रूपमें modelModule
आयात सेवन "./commands/embed" निजी * रूपमें embedModule
आयात सेवन "./commands/index" निजी * रूपमें indexModule
आयात सेवन "./commands/query" निजी * रूपमें queryModule
आयात सेवन "./commands/generate" निजी * रूपमें generateModule
आयात सेवन "./commands/chat" निजी * रूपमें chatModule
@ आदेश { नाम = "embed" }
@ विवरण "Embed input texts with a local model alias"
@ विकल्प { binding = model_alias, विस्तृत = "model", प्रकार = पाठ, विवरण = "Model alias", डिफ़ॉल्ट = "basic/minilm" }
@ विकल्प { binding = out, विस्तृत = "out", प्रकार = पाठ, विवरण = "Vector output path", डिफ़ॉल्ट = "/tmp/faber-ai-vectors.fvi" }
@ विकल्प { binding = format, विस्तृत = "format", प्रकार = पाठ, विवरण = "Output format: text or json", डिफ़ॉल्ट = "text" }
@ विकल्प { binding = map, विस्तृत = "alias-map", प्रकार = पाठ, विवरण = "Alias map TOML path", डिफ़ॉल्ट = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ विकल्प { binding = oracle_runner, विस्तृत = "oracle-runner", प्रकार = पाठ, विवरण = "Explicit oracle runner script", डिफ़ॉल्ट = "" }
@ विकल्प { binding = oracle_label, विस्तृत = "oracle-label", प्रकार = पाठ, विवरण = "Oracle runtime label", डिफ़ॉल्ट = "manual-minilm-torch" }
@ ऑपरेंड { प्रकार = पाठ, binding = texts, विवरण = "Input text file" }
फलन embed() → रिक्त {
embedModule.curre("§"(args.texts), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label))
}
@ आदेश { नाम = "index" }
@ विवरण "Build a deterministic vector index from a Stage 2 .fvi artifact"
@ विकल्प { binding = out, विस्तृत = "out", प्रकार = पाठ, विवरण = "Index output path", डिफ़ॉल्ट = "/tmp/faber-ai-index.fvi" }
@ विकल्प { binding = format, विस्तृत = "format", प्रकार = पाठ, विवरण = "Output format: text or json", डिफ़ॉल्ट = "text" }
@ विकल्प { binding = metric, विस्तृत = "metric", प्रकार = पाठ, विवरण = "Similarity metric", डिफ़ॉल्ट = "cosine" }
@ ऑपरेंड { प्रकार = पाठ, binding = vectors, विवरण = "Stage 2 vector artifact path" }
फलन index() → रिक्त {
indexModule.curre("§"(args.vectors), "§"(args.out), "§"(args.format), "§"(args.metric))
}
@ आदेश { नाम = "query" }
@ विवरण "Query a deterministic Stage 3 vector index"
@ विकल्प { binding = top, विस्तृत = "top", प्रकार = संख्या, विवरण = "Maximum result count", डिफ़ॉल्ट = 10 }
@ विकल्प { binding = format, विस्तृत = "format", प्रकार = पाठ, विवरण = "Output format: text or json", डिफ़ॉल्ट = "text" }
@ विकल्प { binding = query_vector, विस्तृत = "query-vector", प्रकार = पाठ, विवरण = "Explicit query vector fixture", डिफ़ॉल्ट = "" }
@ ऑपरेंड { प्रकार = पाठ, binding = index, विवरण = "Stage 3 index artifact path" }
@ ऑपरेंड { प्रकार = पाठ, binding = query_text, विवरण = "Query text" }
फलन query() → रिक्त {
queryModule.curre("§"(args.index), "§"(args.query_text), args.top, "§"(args.format), "§"(args.query_vector))
}
@ आदेश { नाम = "generate" }
@ विवरण "Generate text with an explicit local oracle-backed model runner"
@ विकल्प { binding = model_alias, विस्तृत = "model", प्रकार = पाठ, विवरण = "Model alias", डिफ़ॉल्ट = "stretch/qwen3-4b-fp8" }
@ विकल्प { binding = out, विस्तृत = "out", प्रकार = पाठ, विवरण = "Generation event output path", डिफ़ॉल्ट = "/tmp/faber-ai-generate.jsonl" }
@ विकल्प { binding = format, विस्तृत = "format", प्रकार = पाठ, विवरण = "Output format: text or json", डिफ़ॉल्ट = "text" }
@ विकल्प { binding = map, विस्तृत = "alias-map", प्रकार = पाठ, विवरण = "Alias map TOML path", डिफ़ॉल्ट = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ विकल्प { binding = oracle_runner, विस्तृत = "oracle-runner", प्रकार = पाठ, विवरण = "Explicit oracle runner script", डिफ़ॉल्ट = "" }
@ विकल्प { binding = oracle_label, विस्तृत = "oracle-label", प्रकार = पाठ, विवरण = "Oracle runtime label", डिफ़ॉल्ट = "transformers-local-fp8" }
@ विकल्प { binding = max_new_tokens, विस्तृत = "max-new-tokens", प्रकार = संख्या, विवरण = "Maximum generated tokens", डिफ़ॉल्ट = 16 }
@ विकल्प { binding = temperature, विस्तृत = "temperature", प्रकार = पाठ, विवरण = "Sampling temperature", डिफ़ॉल्ट = "0" }
@ विकल्प { binding = seed, विस्तृत = "seed", प्रकार = संख्या, विवरण = "Deterministic oracle seed", डिफ़ॉल्ट = 0 }
@ ऑपरेंड { प्रकार = पाठ, binding = prompt, विवरण = "Prompt text file" }
फलन generate() → रिक्त {
generateModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.oracle_runner), "§"(args.oracle_label), args.max_new_tokens, "§"(args.temperature), args.seed)
}
@ आदेश { नाम = "chat" }
@ विवरण "Chat through an explicit local llama.cpp router adapter"
@ विकल्प { binding = model_alias, विस्तृत = "model", प्रकार = पाठ, विवरण = "Model alias", डिफ़ॉल्ट = "daily/qwen36-35b-a3b-q4" }
@ विकल्प { binding = out, विस्तृत = "out", प्रकार = पाठ, विवरण = "Chat transcript output path", डिफ़ॉल्ट = "/tmp/faber-ai-chat.jsonl" }
@ विकल्प { binding = format, विस्तृत = "format", प्रकार = पाठ, विवरण = "Output format: text or json", डिफ़ॉल्ट = "text" }
@ विकल्प { binding = map, विस्तृत = "alias-map", प्रकार = पाठ, विवरण = "Alias map TOML path", डिफ़ॉल्ट = "docs/campaigns/ai-workbench/model-aliases.toml" }
@ विकल्प { binding = router_runner, विस्तृत = "router-runner", प्रकार = पाठ, विवरण = "Explicit router runner script", डिफ़ॉल्ट = "" }
@ विकल्प { binding = router_label, विस्तृत = "router-label", प्रकार = पाठ, विवरण = "Router runtime label", डिफ़ॉल्ट = "llama-router" }
@ विकल्प { binding = router_url, विस्तृत = "router-url", प्रकार = पाठ, विवरण = "Router base URL", डिफ़ॉल्ट = "http://127.0.0.1:18173/v1" }
@ ऑपरेंड { प्रकार = पाठ, binding = prompt, विवरण = "Prompt text file" }
फलन chat() → रिक्त {
chatModule.curre("§"(args.prompt), "§"(args.model_alias), "§"(args.out), "§"(args.format), "§"(args.map), "§"(args.router_runner), "§"(args.router_label), "§"(args.router_url))
}
@ cli { नाम = "faber-ai" }
@ versio "0.1.0"
@ विवरण "Local Faber AI workbench"
@ imperia "model" ex modelModule
आरंभ तर्क args {
}---