功能简介
Knowledge Base 把文件或受支持的外部数据源登记为 Document,经解析、切片、embedding 与 ingestion 形成可检索内容。Search 支持 vector、fulltext 或 hybrid,并可选择 rerank;结果携带来源与定位信息,但定位可用性取决于解析结果。
当前支持范围
- Knowledge Base / RAG(APPBASE_ENHANCED):把文件和外部资料摄取为可检索知识,覆盖解析、切片、向量化、语义或关键词检索、混合召回与来源信息。
适用场景
- 构建带来源的 RAG 检索。
- 管理文档摄取、重建、取消和失败状态。
- 同步受支持的外部资料并保留来源信息。
前置条件
- 已配置可用 embedding Model/Provider。
- Knowledge Base 所需 Storage、VectorsDB 与 Worker 可用。
- 调用身份具备 knowledgebases read/write Scope。
Console 操作路径
Console → Project → Knowledge Base。创建后可上传 Document、启动 Ingestion、查看 Chunks、执行 Search、配置 Data Sources 或 Reindex。外部数据源字段只按 Console 实际表单使用。
SDK 示例
SDK · TypeScript
import { Client } from 'appbase-console-sdk';
import { KnowledgeBaseSdk } from '<CONSOLE_SOURCE>/lib/sdk/knowledge-base';
const client = new Client()
.setEndpoint('https://<APPBASE_HOST>/v1')
.setProject('<PROJECT_ID>')
.setKey('<API_KEY>');
const knowledge = new KnowledgeBaseSdk(client);
const results = await knowledge.search('<KNOWLEDGE_BASE_ID>', {
query: 'How does project isolation work?',
searchMode: 'hybrid',
limit: 8,
rerank: true
});REST 示例
REST · Bash
curl 'https://<APPBASE_HOST>/v1/knowledgebases/<KNOWLEDGE_BASE_ID>/search' \
-X POST \
-H 'X-Appwrite-Project: <PROJECT_ID>' \
-H 'X-Appwrite-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
--data '{"query":"How does project isolation work?","searchMode":"hybrid","limit":8,"rerank":true}'常见错误
| 现象 | 处理建议 |
|---|---|
| Ingestion failed | 读取 ingestion stage/error,检查解析器、文件格式、embedding Provider 和向量存储。 |
| Search 结果为空 | 确认 Document ready/enabled、检索模式、阈值和索引。 |
| source/locator unavailable | 这是可表达状态;不要伪造页码或高亮。 |
403 | 检查 knowledgebases Scope 与 Project 上下文。 |
当前限制
- 解析质量、页码和高亮准确度受文档格式与解析器影响。
- Embedding model/dimension 变更可能需要重建,不能静默混用向量空间。
- 外部数据源可用范围以实际 Action 和 Console 表单为准。
Appwrite 兼容说明
Knowledge Base/RAG 不作为上游正文翻译;分类只帮助组织 Models、Document、Ingestion 与 Search。
AppBase 增强说明
AppBase 将解析、切片、向量/全文/混合检索、rerank 与来源定位纳入 Project 权限和可观测状态。
发布状态和验证 Commit
origin/main 已核验。验证 Commit:0363062a1c7ea08741975bb5ba0c3361663c9353。
权威来源文件列表
backend-candidate:src/Appwrite/Platform/Modules/KnowledgeBases/Http/KnowledgeBases/backend-candidate:tests/e2e/Services/KnowledgeBases/frontend-candidate:console/src/lib/sdk/knowledge-base.tsfrontend-candidate:console/src/routes/(console)/project-[region]-[project]/knowledge-base/origin-main:docs/products/v2.3.x/knowledge-base/knowledge-base.md
Appwrite taxonomy 仅作信息架构参考:https://appwrite.io/docs/tooling/ai。上游页面不是 AppBase 实现证据。