浏览全部文档 · 25/37

功能简介

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}'

权限模型

创建、更新、文档摄取和数据源同步需要 knowledgebases.write;查询需要 knowledgebases.read。源文件、Chunk 与搜索结果必须保持同一 Project 边界,外部数据源 Credential 只用于受保护控制面。

常见错误

现象处理建议
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.ts
  • frontend-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 实现证据。

继续阅读