Go knowledge compiler with scheduler-driven dataset compilation (#17913)

Ports dataset knowledge compilation (wiki/graph/tree/mindmap) to the Go
scheduler with a status contract, aligns wiki storage/retrieval with
Python, sizes prompts by content_length, and resolves embedding batch
size from provider capability.
This commit is contained in:
Zhichang Yu
2026-08-06 15:54:00 +08:00
committed by GitHub
parent addc5acdc0
commit 2e37997ab9
116 changed files with 6678 additions and 1942 deletions

View File

@@ -134,8 +134,8 @@ func TestComponentsHandler_NoFilter(t *testing.T) {
// TestComponentsHandler_FilterIngestion verifies the
// ?category=ingestion filter returns the ingestion components
// (Extractor, File, Parser, Tokenizer + 9 chunker variants). Names
// must be sorted ascending (plan §4 task 1 stable output).
// (Compiler, Extractor, File, Parser, Tokenizer + 9 chunker variants).
// Names must be sorted ascending (plan §4 task 1 stable output).
func TestComponentsHandler_FilterIngestion(t *testing.T) {
eng := newComponentsTestRig(t)
w := doRequest(t, eng, "/api/v1/components?category=ingestion")
@@ -146,7 +146,7 @@ func TestComponentsHandler_FilterIngestion(t *testing.T) {
_, _, data := decodeEnvelope(t, w.Body.Bytes())
wantNames := []string{
"extractor", "file", "grouptitlechunker", "hierarchytitlechunker",
"compiler", "extractor", "file", "grouptitlechunker", "hierarchytitlechunker",
"onechunker", "parser", "presentationchunker", "qachunker", "tablechunker", "tagchunker",
"titlechunker", "tokenchunker", "tokenizer",
}
@@ -172,7 +172,7 @@ func TestComponentsHandler_FilterMultiple(t *testing.T) {
_, _, data := decodeEnvelope(t, w.Body.Bytes())
wantNames := []string{
"extractor", "file", "grouptitlechunker", "hierarchytitlechunker",
"compiler", "extractor", "file", "grouptitlechunker", "hierarchytitlechunker",
"onechunker", "parser", "presentationchunker", "qachunker", "tablechunker", "tagchunker",
"titlechunker", "tokenchunker", "tokenizer",
}
@@ -273,7 +273,7 @@ func TestComponentsHandler_CaseInsensitive(t *testing.T) {
}
_, _, data := decodeEnvelope(t, w.Body.Bytes())
wantNames := []string{
"extractor", "file", "grouptitlechunker", "hierarchytitlechunker",
"compiler", "extractor", "file", "grouptitlechunker", "hierarchytitlechunker",
"onechunker", "parser", "presentationchunker", "qachunker", "tablechunker", "tagchunker",
"titlechunker", "tokenchunker", "tokenizer",
}