Knowledge Base Collector
将网页、X/Twitter链接及截图自动存入共享知识库并标签化整理。
下载 1,919
自动捕获、组织与检索信息,支持语义搜索与智能问答。
openclaw skills install @jason-aka-chen/meta-knowledge-base命令、参数、文件名以原文为准
一个能够自动学习与持续成长的自构建知识管理系统。
pip install numpy faiss-cpu sentence-transformersfrom meta_knowledge import KnowledgeBase
kb = KnowledgeBase(
name="my_knowledge",
embedding_model="paraphrase-multilingual-MiniLM-L12-v2"
)# 从文本添加
kb.add(
content="Python 是一种高级编程语言...",
tags=["programming", "python"],
metadata={"source": "user", "date": "2026-03-22"}
)
# 从文件添加
kb.add_from_file("document.pdf", tags=["research"])
# 从网址添加
kb.add_from_url("https://example.com/article", tags=["news"])# 语义搜索
results = kb.search(
query="什么是机器学习?",
top_k=5
)
for r in results:
print(f"{r.score:.2f} | {r.content[:100]}...")# 提出问题
answer = kb.ask(
question="关于 AI 我知道些什么?",
include_sources=True
)
print(answer['answer'])
print("来源:", answer['sources'])# 获取实体关系图
graph = kb.get_knowledge_graph()
# 查找相关概念
related = kb.find_related("Python", depth=2)| 方法 | 说明 |
|---|---|
add(content, ...) | 添加单条知识 |
add_batch(contents) | 批量添加多个条目 |
add_from_file(path) | 解析并添加文件内容 |
add_from_url(url) | 获取并添加网页内容 |
add_from_email(email) | 解析邮件内容 |
| 方法 | 说明 |
|---|---|
search(query, top_k) | 语义搜索 |
hybrid_search(query, ...) | 关键词 + 语义混合搜索 |
filter_search(query, filters) | 带过滤条件的搜索 |
find_similar(content) | 查找相似条目 |
| 方法 | 说明 |
|---|---|
ask(question, ...) | 使用 RAG 获取答案 |
get_context(question) | 获取相关上下文 |
generate_summary(topic) | 生成主题摘要 |
| 方法 | 说明 |
|---|---|
get_knowledge_graph() | 获取实体关系图 |
list_tags() | 列出所有标签 |
export(format) | 导出知识数据 |
import_(data) | 导入知识数据 |
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 数据源 │────▶│ 数据摄入 │────▶│ 存储系统 │
│ - 聊天 │ │ - 解析器 │ │ - 向量数据库 │
│ - 文档 │ │ - 嵌入模型 │ │ - 图数据库 │
│ - 网页 │ │ - 索引器 │ │ - 文档存储 │
└─────────────┘ └─────────────┘ └─────────────┘
│
┌──────────────────────┘
▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 查询处理 │────▶│ 检索模块 │────▶│ 生成模块 │
│ - 搜索 │ │ - 向量检索 │ │ - 大语言模型 │
│ - 提问 │ │ - 图谱检索 │ │ - 引用生成 │
└─────────────┘ └─────────────┘ └─────────────┘| 模型 | 维度 | 语言支持 | 适用场景 |
|---|---|---|---|
| paraphrase-multilingual-MiniLM-L12-v2 | 384 | 50+种 | 通用场景 |
| bge-small-zh-v1.5 | 512 | 中文 | 中文专用 |
| text-embedding-ada-002 | 1536 | 英文 | 生产环境 |
# 自动从对话中捕获信息
@hookimpl
def after_message(message, response):
kb.add(
content=f"用户询问了:{extract_topics(message)}",
tags=["conversation", extract_topics(message)]
)# 在技能中使用知识库
def my_skill(query):
context = kb.search(query, top_k=3)
return generate_response(query, context)已收录 1 个 Skill