用途:围绕文档抽取做信息增强,包括统计式关键词抽取(YAKE/RAKE)、文档语言检测,以及为 RAG 和检索生成向量嵌入。关键词与语言检测结果随抽取一并返回;嵌入由独立的 embed 命令生成。
主要能力与用法: 关键词抽取通过 [keywords] 配置块或内联 JSON 配置,没有单一的 --keywords 命令行开关。启用后结果出现在 result.extracted_keywords(Node.js 中为 extractedKeywords,CLI JSON 字段为 extracted_keywords)。两种算法:yake(统计式、无监督、单文档,通用默认)与 rake(共现/短语式,偏爱多词关键短语)。需以 keywords-yake 和/或 keywords-rake Cargo 特性构建 CLI(默认/完整构建已包含);未包含时 [keywords] 配置会被静默忽略,结果为空而不报错。可配置 max_keywords(默认 10)、min_score(两算法分数均归一到 0.0-1.0,越大越好)、ngram_range(仅配置文件支持,[1,3] 为默认)、language(省略则不启用停用词过滤)。示例:xberg extract paper.pdf --format json --config-json '{"keywords":{"algorithm":"yake","max_keywords":15,"language":"en"}}' | jq '.result.extracted_keywords'。
语言检测是真实的 CLI 开关 --detect-language,结果在 result.detected_languages。命令行开关启用时 min_confidence 为 0.8、单语言模式;配置文件 [language_detection] 可设 enabled、min_confidence、detect_multiple。
嵌入由 embed 命令生成,仅接受原始文本(--text 可重复或 stdin),不执行抽取,需要文档向量时应先管道传入 extract 结果。本地 provider 预设为 fast、balanced(默认)、quality、multilingual,无需 API key;也可用 --provider llm 配合 --model 与 --api-key,或 --provider plugin。本地预设未缓存时需先下载,可用 xberg cache warm --embedding-model balanced 或 xberg cache warm --all-embeddings 预热。
限制:关键词抽取仅能通过配置启用;min_score 方向为“越大越好”;嵌入与抽取相互独立;本地嵌入模型首次运行会下载。其余平台支持与收费信息暂未提供。