用途
RLAMA(Retrieval-Augmented Language Model Adapter)提供完全本地、离线的 RAG,用于对本地文档进行语义搜索。适用于从本地文档构建知识库、检索个人笔记/研究论文/代码文档、在不将数据发送到云端的前提下进行基于文档的问答、为项目文档建立快速语义检索索引,以及为 PDF、Markdown 或代码文件创建可搜索归档。
RLAMA 需要本地运行 Ollama。可通过 ollama list 验证,若未运行则 brew services start ollama(macOS)或 ollama serve。
主要能力
- 本地检索:默认使用仅检索模式,返回相关文本块(默认 top 10,可调 -k),由 Claude 等进行综合,官方建议默认使用该方法。
- 本地 LLM 查询(回退):
rlama run在 Claude 不在流程中时使用(如独立 CLI、cron、脚本)。 - 外部 LLM 综合:可结合 OpenRouter、TogetherAI、本地 Ollama 或任意 OpenAI 兼容端点进行综合。
- 创建与管理 RAG:从文件夹索引文档,支持排除目录/扩展名、指定处理扩展名、自定义分块策略(hybrid 默认、semantic、fixed、hierarchical)。
- 文档管理:列出 RAG、列出文档、查看分块,添加或移除文档,删除 RAG。
- 高级功能:网页爬取、目录监听(自动更新)、网站监听、重排序、API 服务器、模型管理、交互式向导。
- 容错索引:对含超限大文件的混合文件夹,可逐文件处理并跳过失败项。
- 进度监控:通过日志与状态脚本实时监控长任务。
使用方式
创建 RAG(默认模型在脚本中为 qwen2.5:7b,命令示例用 llama3.2):
rlama rag llama3.2 <rag-name> <folder-path>
默认检索(推荐):
python3 ~/.claude/skills/rlama/scripts/rlama_retrieve.py <rag-name> "your query"
本地 LLM 查询(回退):
rlama run <rag-name> --query "your question here"
外部综合示例:
python3 ~/.claude/skills/rlama/scripts/rlama_retrieve.py <rag-name> "your query" --synthesize --synth-model anthropic/claude-sonnet-4
python3 ~/.claude/skills/rlama/scripts/rlama_retrieve.py <rag-name> "your query" --synthesize --provider ollama
API 服务器:
rlama api --port 11249
支持的文件类型:文本(.txt、.md、.markdown)、文档(.pdf、.docx、.doc)、代码(.py、.js、.ts、.go、.rs、.java、.rb、.cpp、.c、.h)、数据(.json、.yaml、.yml、.csv)、网页(.html、.htm)、Org 模式(.org)。
默认数据目录为 ~/.rlama/,可通过 --data-dir 或 RLAMA_DATA_DIR 环境变量更改。Ollama 主机可通过 --host/--port 或 OLLAMA_HOST 配置。
适用场景
个人知识库(多文件夹汇总查询)、代码文档(索引项目文档并查询架构)、研究论文(排除 .bib,添加单篇论文,提高上下文)。官方示例工作流包括使用 rlama wizard 的交互式向导创建。
限制与说明
- 依赖本地 Ollama 运行,且需拉取所需模型(如
ollama pull llama3.2、ollama pull nomic-embed-text)。 - 使用 OpenAI 模型需设置
OPENAI_API_KEY。 - 本地小模型(7B)综合能力弱于 Claude;官方建议默认仅检索,由 Claude 综合。
- 查询首次会构建嵌入缓存(约 30 秒至 10 分钟,视分块数量),后续查询 <1 秒;单个分块截断为 5K 字符以适配嵌入模型上下文窗口。
- 大 RAG 使用增量检查点,若 Ollama 构建中途崩溃,可重跑恢复。
- 官方提供的模型推荐表、质量层级表及各类参数(分块、上下文大小、超时、最大 token)等细节以上文所列命令与选项为准。
用户提供的资料中未给出收费、价格、具体平台支持范围或效果保证等信息,暂未提供。