用途
WeKnora 提供多种“针对知识库提问”的方式,本技能帮助你在这些方式之间做出正确选择,避免浪费轮次或返回错误的数据形态。它面向通过 weknora CLI 从 WeKnora 知识库检索或提问的场景,尤其适用于不确定该用 chat、session ask 还是 search chunks 的情况。
前置要求
必须先阅读 weknora-shared 技能,了解认证、--kb 解析、JSON 信封、退出码以及流式/NDJSON 输出等背景知识。
主要能力与命令选择
按目标选择命令:
- 需要基于知识库的自然语言答案:
chat "<q>" --kb <kb>,有 LLM 综合,返回有界答案事件;--reference添加引用,--verbose添加执行细节。 - 通过自定义智能体回答(可自带知识库范围、工具、网络搜索):
session ask --agent <id> "<q>",有 LLM 综合(含工具),返回有界答案事件;--reference添加引用,--verbose添加执行细节。 - 需要原始上下文片段自行推理(不生成答案):
search chunks "<q>" --kb <kb>,无 LLM 综合,返回排序后的片段列表。 - 按关键词(标题/文件名)查找匹配文档:
search docs "<q>" --kb <kb>,无 LLM 综合,返回文档列表。 - 按名称查找知识库:
search kb "<q>",无 LLM 综合,返回知识库列表。 - 按标题查找历史会话:
search sessions "<q>",无 LLM 综合,返回会话列表。
三个关键决策
- 答案 vs 原始上下文:想要书面答案用
chat/session ask;想要片段供自己推理(例如跨来源综合)用search chunks。不要为了读取源文本而调用chat。 chatvssession ask:chat是普通知识库 RAG 问答;session ask --agent <id>调用已配置的自定义智能体(可能限定自己的知识库、调用工具、进行网络搜索)。如果用户为此设置了智能体,优先使用它(用weknora agent list查找 id);否则用chat。- 单次 vs 多轮:
chat和session ask在默认 JSON 输出中都会返回data.session_id。在下一次调用时传入--session <id>可继续对话。在 NDJSON 模式下,从init中读取该 id。
使用方式与示例
# 原始检索,供自行推理
weknora search chunks "retry backoff policy" --kb engineering --limit 12
# 有依据的答案(人类可读转录)
weknora chat "How do we handle retries?" --kb engineering --format text
# 继续对话(session id 来自上面的 data.session_id)
weknora chat "And the max attempts?" --kb engineering --session sess_abc
# 通过自定义智能体回答
weknora session ask --agent ag_123 "Summarize this quarter's incidents"
安全与注意事项
chat、search chunks、search docs需要知识库:传入--kb <id-or-name>,或设置WEKNORA_KB_ID,或对目录执行weknora link(按此顺序解析)。若都无法解析则退出码 1(local.kb_id_required);名称错误则退出码 1(local.kb_not_found)。用weknora kb list/search kb解析名称。(search kb/search sessions是租户级,不接受--kb。)chat/session ask默认返回一个缓冲的 JSON 信封,内含答案事件。添加--reference获得索引引用,--verbose获得执行细节;使用--format ndjson获取原始事件,或--format text获取实时人类可读投影。- 停滞的流不会被 Ctrl-C 停止(那只会断开本地连接;服务器继续生成并计费)。需在服务端停止:
weknora session stop <session-id> --message <message-id>(session_id 来自data.session_id,或在--format ndjson下来自init)。用weknora session resume <session-id> --message <message-id>重新接入流。 search chunks --limit默认 8(针对 LLM 上下文窗口调优);search docs/kb/sessions列表默认 30。可用--vector-threshold/--keyword-threshold调整检索,或用--no-vector/--no-keyword禁用某个通道。详情见 references/search-chunks.md。
适用场景
适用于需要从 WeKnora 知识库获取有依据答案、原始检索片段、文档匹配、知识库或会话查找,以及多轮对话续接的场景。
限制
关于收费、价格、平台支持范围等具体信息,资料中暂未提供。