MCPcopy Index your code
hub / github.com/AstrBotDevs/AstrBot / KnowledgeBase

Class KnowledgeBase

astrbot/core/knowledge_base/models.py:11–56  ·  view source on GitHub ↗

知识库表 存储知识库的基本信息和统计数据。

Source from the content-addressed store, hash-verified

9
10
11class KnowledgeBase(BaseKBModel, table=True):
12 """知识库表
13
14 存储知识库的基本信息和统计数据。
15 """
16
17 __tablename__ = "knowledge_bases" # type: ignore
18
19 id: int | None = Field(
20 primary_key=True,
21 sa_column_kwargs={"autoincrement": True},
22 default=None,
23 )
24 kb_id: str = Field(
25 max_length=36,
26 nullable=False,
27 unique=True,
28 default_factory=lambda: str(uuid.uuid4()),
29 index=True,
30 )
31 kb_name: str = Field(max_length=100, nullable=False)
32 description: str | None = Field(default=None, sa_type=Text)
33 emoji: str | None = Field(default="📚", max_length=10)
34 embedding_provider_id: str | None = Field(default=None, max_length=100)
35 rerank_provider_id: str | None = Field(default=None, max_length=100)
36 # 分块配置参数
37 chunk_size: int | None = Field(default=512, nullable=True)
38 chunk_overlap: int | None = Field(default=50, nullable=True)
39 # 检索配置参数
40 top_k_dense: int | None = Field(default=50, nullable=True)
41 top_k_sparse: int | None = Field(default=50, nullable=True)
42 top_m_final: int | None = Field(default=5, nullable=True)
43 created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
44 updated_at: datetime = Field(
45 default_factory=lambda: datetime.now(timezone.utc),
46 sa_column_kwargs={"onupdate": datetime.now(timezone.utc)},
47 )
48 doc_count: int = Field(default=0, nullable=False)
49 chunk_count: int = Field(default=0, nullable=False)
50
51 __table_args__ = (
52 UniqueConstraint(
53 "kb_name",
54 name="uix_kb_name",
55 ),
56 )
57
58
59class KBDocument(BaseKBModel, table=True):

Callers 2

mock_knowledge_baseFunction · 0.90
create_kbMethod · 0.85

Calls 1

nowMethod · 0.80

Tested by 1

mock_knowledge_baseFunction · 0.72