Skip to content

RegistryTools v0.2.1 - Embedding 优化与存储重构

Latest

Choose a tag to compare

@GeerMrc GeerMrc released this 11 Jan 21:24
· 12 commits to master since this release

🎉 RegistryTools v0.2.1 发布

✨ 主要更新

1. Embedding 搜索引擎优化

问题: 之前的 Embedding 搜索会在启动时立即加载模型和 GPU 资源,导致启动缓慢和资源占用。

解决方案:

  • ✅ 延迟加载机制: 首次使用 Embedding 搜索时才加载模型
  • ✅ 智能设备选择: 新增 REGISTRYTOOLS_DEVICE 环境变量配置
    • cpu - 使用 CPU(默认)
    • gpu:0 / gpu:1 - 指定 GPU 设备
    • auto - 自动检测并使用可用 GPU
  • ✅ 优雅降级策略: GPU 不可用时自动降级到 CPU

配置示例:
```bash

使用 GPU 加速

export REGISTRYTOOLS_SEARCH_METHOD=embedding
export REGISTRYTOOLS_DEVICE=gpu:0

自动选择设备

export REGISTRYTOOLS_DEVICE=auto
```

性能对比:

配置 启动时间 内存占用
v0.2.0 (固定加载) ~3秒 ~550MB
v0.2.1 (延迟加载) ~0.5秒 ~0MB (首次搜索前)

2. 存储后端重构

新增: SQLite 存储后端支持,更适合大规模工具集。

配置方式:
```bash

JSON 存储(默认,< 1000 工具)

export REGISTRYTOOLS_STORAGE_BACKEND=json

SQLite 存储(> 1000 工具)

export REGISTRYTOOLS_STORAGE_BACKEND=sqlite
```

性能对比 (1000 工具):

操作 JSON SQLite 提升
加载全部 75ms 18ms 76%
按标签过滤 15ms 4ms 73%
内存占用 15MB 6MB 60%

3. 文档完善

  • 📚 INSTALLATION.md 新增搜索方法配置章节
  • 📚 BEST_PRACTICES.md 新增环境变量配置说明
  • 📚 新增 STORAGE.md 存储选择指南

🐛 修复

  • 修复 middleware.py 中字符串比较逻辑错误
  • 修复类型安全问题 (result.error None 检查)

📦 安装

```bash

使用 pip 安装

pip install registry-tools==0.2.1

或使用 uvx(无需安装)

uvx registry-tools
```


🔗 链接


📊 统计

  • 453 个测试全部通过
  • 代码覆盖率: 84%
  • 支持 Python 3.10+