语义向量库插件,为 OpenClaw 星型记忆架构提供向量存储与语义搜索能力。
bash
# 从 ClawHub 安装
clawhub install semantic-vector-store
# 或从本地目录安装
clawhub install ./skills/semantic-vector-store
环境变量:
SEMANTIC_VECTOR_DB_PATH:向量数据库路径(默认: ~/.config/cortexgraph/semantic_vectors.db)EMBEDDING_MODEL:嵌入模型名称(默认: all-MiniLM-L6-v2)VECTOR_DIMENSION:向量维度(默认:384)SIMILARITY_THRESHOLD:相似度阈值(默认:0.5)python
from semantic_vector_store import SemanticVectorStore
# 初始化
store = SemanticVectorStore()
# 添加记忆向量
mem_id = "mem_001"
text = "今天学习了 Python 异步编程"
vector = store.embed(text)
store.add_vector(mem_id, vector, metadata={"source": "memory.md"})
# 语义搜索
query = "编程学习"
results = store.search(query, top_k=5)
for result in results:
print(f"记忆 ID: {result['memory_id']}, 相似度: {result['score']:.3f}")
提供星型架构的标准适配器接口:
python
from integration.adapter.semantic_vector_adapter import SemanticVectorAdapter
adapter = SemanticVectorAdapter()
# 获取健康状态
health = adapter.health_check()
print(f"健康状态: {health['status']}")
# 向量化记忆
vectors = adapter.embed_memory("今天完成了重要工作")
print(f"生成向量维度: {len(vectors)}")
# 语义搜索
results = adapter.search("工作", limit=10)
方法说明embed(text: str) -> List[float]将文本转换为向量add_vector(memory_id: str, vector: List[float], metadata: dict)添加向量到存储search(query: str, top_k: int = 10) -> List[dict]语义搜索get_stats() -> dict获取统计信息health_check() -> dict健康检查
sql
CREATE TABLE semantic_vectors (
memory_id TEXT PRIMARY KEY,
vector BLOB, -- FAISS 索引 ID 或原始向量
metadata TEXT, -- JSON 元数据
created_at TIMESTAMP,
updated_at TIMESTAMP
);
语义向量库通过适配器与 MSE 集成:
python
# 在 MSE 中使用语义向量库
from integration.adapter.semantic_vector_adapter import SemanticVectorAdapter
class MemorySyncEnhanced:
def __init__(self):
self.vector_adapter = SemanticVectorAdapter()
def semantic_search(self, query: str):
return self.vector_adapter.search(query)
统一记忆系统可同时查询语义向量和共现图:
python
from unified_memory import UnifiedMemory
memory = UnifiedMemory()
results = memory.search("查询", use_semantic=True, use_cooccurrence=True)
指标目标值向量化延迟< 100ms(短文本)搜索延迟< 50ms(10K 向量)存储容量> 1M 向量准确率> 0.85(MRR)
bash
# 重建索引
python3 -m semantic_vector_store.reindex
# 备份向量
python3 -m semantic_vector_store.backup --output vectors.bin
# 查看统计
python3 -m semantic_vector_store.stats
欢迎提交 Issue 和 Pull Request。请遵循 OpenClaw 技能开发规范。
MIT