agentscope.app.ragCollectionPerKbManager
class CollectionPerKbManager(KnowledgeBaseManagerBase)
agentscope/app/rag/knowledge_base_manager/_collection_per_kb.py:31–213集合每个知识库管理器,把私有文档转化为可检索的知识。位于 agentscope.app.rag 包,继承自 KnowledgeBaseManagerBase。核心成员包括 get_dimension_policy、create_knowledge_base、delete_knowledge_base、get_knowledge。
Each knowledge base maps to one collection in the bound
:class:~agentscope.rag.VectorStoreBase. The collection is
created at :meth:create_knowledge_base time and dropped at
:meth:delete_knowledge_base time.
方法摘要Method Summary
| 方法Method | 说明Description |
|---|---|
async def get_dimension_policy() -> DimensionPolicyasync | 获取维度策略。 Return :attr:`DimensionPolicyKind.ANY` — every KB picks freely. |
async def create_knowledge_base(user_id: str, name: str, description: str, embedding_model_config: 'EmbeddingModelConfi…async | 创建知识库。 Allocate a new collection and persist the knowledge base record. |
async def delete_knowledge_base(user_id: str, knowledge_base_id: str) -> boolasync | 删除知识库。 Drop the underlying collection and remove the record. |
async def get_knowledge(user_id: str, knowledge_base_id: str) -> KnowledgeBaseasync | 获取知识库。 Resolve a :class:`KnowledgeBase` runtime for one knowledge base. |
方法详情Method Detail
get_dimension_policy
async def get_dimension_policy() -> DimensionPolicy
获取维度策略。
Return :attr:DimensionPolicyKind.ANY — every KB picks freely.
agentscope/app/rag/knowledge_base_manager/_collection_per_kb.py:40–50create_knowledge_base
async def create_knowledge_base(user_id: str, name: str, description: str, embedding_model_config: 'EmbeddingModelConfig', chunker_config: 'ChunkerConfig | None' = None) -> KnowledgeBaseRecord
创建知识库。
Allocate a new collection and persist the knowledge base record.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
user_id | str | 所有者用户标识。The owner user id. |
name | str | 名称(类型 `str`)。Display name. |
description | str | 描述(类型 `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). |
agentscope/app/rag/knowledge_base_manager/_collection_per_kb.py:52–112delete_knowledge_base
async def delete_knowledge_base(user_id: str, knowledge_base_id: str) -> bool
删除知识库。
Drop the underlying collection and remove the record.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
user_id | str | 所有者用户标识。The owner user id. |
knowledge_base_id | str | 知识库基类到删除的标识。The id of the knowledge base to delete. |
agentscope/app/rag/knowledge_base_manager/_collection_per_kb.py:114–148get_knowledge
async def get_knowledge(user_id: str, knowledge_base_id: str) -> KnowledgeBase
获取知识库。
Looks the record up in storage (raising :class:KnowledgeBaseNotFoundError for unknown / un-owned ids), constructs the embedding model from the pinned credential, and returns a ready-to-use handle bound to the record's collection.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
user_id | str | 所有者用户标识。The owner user id. |
knowledge_base_id | str | 知识库基类标识。The knowledge base id. |
- 可能抛出 `Exception`。`KnowledgeBaseNotFoundError`:
- 可能抛出 `Exception`。If the record does not exist or does not belong to
- 可能抛出 `Exception`。the authenticated user.
agentscope/app/rag/knowledge_base_manager/_collection_per_kb.py:150–213