AS AgentScopeAPI 手册 / API Reference
类class agentscope.app.rag

KnowledgeBaseManagerBase

class KnowledgeBaseManagerBase(ABC)
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:39–307

知识库管理器基类,把私有文档转化为可检索的知识。位于 agentscope.app.rag 包,继承自 ABC。核心成员包括 get_dimension_policy、create_knowledge_base、get_knowledge_base、list_knowledge_bases、update_knowledge_base、delete_knowledge_base。

Subclasses implement a specific isolation strategy by overriding :meth:create_knowledge_base, :meth:delete_knowledge_base, and :meth:get_knowledge. The bookkeeping methods (:meth:get_knowledge_base, :meth:list_knowledge_bases) have default implementations that delegate to the bound storage.

构造器摘要Constructor Summary

构造器Constructor说明Description
def __init__(storage: 'StorageBase', vector_store: 'VectorStoreBase') -> None
初始化 `KnowledgeBaseManagerBase` 实例。
Initialize the manager.

方法摘要Method Summary

方法Method说明Description
async def __aenter__() -> Selfasync
进入异步上下文并返回自身。
Enter the manager's lifetime.
async def __aexit__(exc_type: type[BaseException] | None, exc: BaseException | None, tb: 'TracebackType | None') -> Noneasync
退出异步上下文并清理资源。
Exit the manager's lifetime, releasing the vector store.
async def get_dimension_policy() -> DimensionPolicyasyncabstractabstractmethod
获取维度策略。
Return the embedding-dimension policy this manager enforces.
async def create_knowledge_base(user_id: str, name: str, description: str, embedding_model_config: 'EmbeddingModelConfi…asyncabstractabstractmethod
创建知识库。
Create a new knowledge base for the given user.
async def get_knowledge_base(user_id: str, knowledge_base_id: str) -> 'KnowledgeBaseRecord | None'async
获取知识库。
Fetch a knowledge base record by id (delegates to storage).
async def list_knowledge_bases(user_id: str) -> 'list[KnowledgeBaseRecord]'async
列出 `list_knowledge_bases`。
List all knowledge base records owned by the given user.
async def update_knowledge_base(user_id: str, knowledge_base_id: str, name: str | None = None, description: str | None…async
更新知识库。
Update mutable fields on an existing knowledge base record.
async def delete_knowledge_base(user_id: str, knowledge_base_id: str) -> boolasyncabstractabstractmethod
删除知识库。
Delete a knowledge base record and its underlying storage.
async def get_knowledge(user_id: str, knowledge_base_id: str) -> 'KnowledgeBase'asyncabstractabstractmethod
获取知识库。
Resolve a runtime :class:`KnowledgeBase` handle for one KB.

构造器详情Constructor Detail

KnowledgeBaseManagerBase

def __init__(storage: 'StorageBase', vector_store: 'VectorStoreBase') -> None

初始化 KnowledgeBaseManagerBase 实例。

Initialize the manager.

参数Parameters
名称Name类型Type说明Description
storage'StorageBase'存储(类型 `'StorageBase'`)。The application-wide storage backend used to persist :class:`KnowledgeBaseRecord` rows and resolve credentials.
vector_store'VectorStoreBase'向量存储(类型 `'VectorStoreBase'`)。The application-wide vector store instance shared by every knowledge base allocated by this manager.
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:49–66

方法详情Method Detail

__aenter__

async def __aenter__() -> Self
async

进入异步上下文并返回自身。

Enters the bound vector store's async context so a single create_app parameter (the manager) covers the vector store's lifecycle too.

返回Returns Self
返回自身。Returns self.
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:72–82

__aexit__

async def __aexit__(exc_type: type[BaseException] | None, exc: BaseException | None, tb: 'TracebackType | None') -> None
async

退出异步上下文并清理资源。

Exit the manager's lifetime, releasing the vector store.

参数Parameters
名称Name类型Type说明Description
exc_typetype[BaseException] | Noneexc 类型(类型 `type[BaseException] | None`)。The exception type raised inside the with-block, if any.
excBaseException | Noneexc(类型 `BaseException | None`)。The exception instance raised inside the with-block, if any.
tb'TracebackType | None'tb(类型 `'TracebackType | None'`)。The traceback for the raised exception, if any.
返回Returns None
无返回值。No value is returned.
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:84–101

get_dimension_policy

async def get_dimension_policy() -> DimensionPolicy
asyncabstractabstractmethod

获取维度策略。

Surfaced over HTTP so the front-end can soft-filter incompatible models / dimensions before submission and show a helpful banner.

返回Returns DimensionPolicy
返回DimensionPolicy。`DimensionPolicy`:
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:108–118

create_knowledge_base

async def create_knowledge_base(user_id: str, name: str, description: str, embedding_model_config: 'EmbeddingModelConfig', chunker_config: 'ChunkerConfig | None' = None) -> 'KnowledgeBaseRecord'
asyncabstractabstractmethod

创建知识库。

Implementations must: 1.

参数Parameters
名称Name类型Type说明Description
user_idstr所有者用户标识。The owner user id.
namestr名称(类型 `str`)。Display name.
descriptionstr描述(类型 `str`)。Free-form description.
embedding_model_config'EmbeddingModelConfig'向量化模型配置(类型 `'EmbeddingModelConfig'`)。Embedding model configuration; pinned to the record.
chunker_config默认default None'ChunkerConfig | None'切分器配置(类型 `'ChunkerConfig | None'`)。Chunker configuration; pinned to the record. `None` leaves the record without a pinned chunker (legacy).
返回Returns 'KnowledgeBaseRecord'
返回'KnowledgeBaseRecord'。`KnowledgeBaseRecord`:
异常Raises
  • 可能抛出 `Exception`。`DimensionPolicyError`:
  • 可能抛出 `Exception`。If the requested dimension violates the manager's
  • 可能抛出 `Exception`。dimension policy.
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:125–164

get_knowledge_base

async def get_knowledge_base(user_id: str, knowledge_base_id: str) -> 'KnowledgeBaseRecord | None'
async

获取知识库。

Fetch a knowledge base record by id (delegates to storage).

参数Parameters
名称Name类型Type说明Description
user_idstr所有者用户标识。The owner user id.
knowledge_base_idstr知识库基类标识。The knowledge base id.
返回Returns 'KnowledgeBaseRecord | None'
返回'KnowledgeBaseRecord|None'。`KnowledgeBaseRecord | None`:
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:166–187

list_knowledge_bases

async def list_knowledge_bases(user_id: str) -> 'list[KnowledgeBaseRecord]'
async

列出 list_knowledge_bases。

List all knowledge base records owned by the given user.

参数Parameters
名称Name类型Type说明Description
user_idstr所有者用户标识。The owner user id.
返回Returns 'list[KnowledgeBaseRecord]'
返回'列出[KnowledgeBaseRecord]'。`list[KnowledgeBaseRecord]`:
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:189–203

update_knowledge_base

async def update_knowledge_base(user_id: str, knowledge_base_id: str, name: str | None = None, description: str | None = None) -> 'KnowledgeBaseRecord | None'
async

更新知识库。

Only name and description are mutable.

参数Parameters
名称Name类型Type说明Description
user_idstr所有者用户标识。The owner user id.
knowledge_base_idstr知识库基类标识。The knowledge base id.
name默认default Nonestr | None名称(类型 `str | None`)。New display name; `None` leaves the name unchanged.
description默认default Nonestr | None描述(类型 `str | None`)。New description; `None` leaves the description unchanged.
返回Returns 'KnowledgeBaseRecord | None'
返回'KnowledgeBaseRecord|None'。`KnowledgeBaseRecord | None`:
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:205–245

delete_knowledge_base

async def delete_knowledge_base(user_id: str, knowledge_base_id: str) -> bool
asyncabstractabstractmethod

删除知识库。

Implementations must: 1.

参数Parameters
名称Name类型Type说明Description
user_idstr所有者用户标识。The owner user id.
knowledge_base_idstr知识库基类到删除的标识。The id of the knowledge base to delete.
返回Returns bool
返回布尔值,表示判断结果。`bool`:
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:248–272

get_knowledge

async def get_knowledge(user_id: str, knowledge_base_id: str) -> 'KnowledgeBase'
asyncabstractabstractmethod

获取知识库。

Implementations are responsible for: - looking the record up in storage (authorisation); - resolving the embedding model from the record's credential; - constructing the :class:KnowledgeBase with the strategy's collection name and metadata filter.

参数Parameters
名称Name类型Type说明Description
user_idstr所有者用户标识。The owner user id.
knowledge_base_idstr知识库基类标识。The knowledge base id.
返回Returns 'KnowledgeBase'
返回'KnowledgeBase'。`KnowledgeBase`:
异常Raises
  • 可能抛出 `Exception`。`KnowledgeBaseNotFoundError`:
  • 可能抛出 `Exception`。If the record does not exist or does not belong to
  • 可能抛出 `Exception`。the authenticated user.
源码Source agentscope/app/rag/knowledge_base_manager/_base.py:279–307
基于官方固定版本源码静态生成Generated from pinned official sources · Python 2.0.11 · Java 2.0.4
签名与文档为静态抽取;如有疑问请以源码为准。Signatures and docs are extracted statically; verify against the source when in doubt.