自动化与脚本
需要为 GrepAI 启用本地私有代码嵌入时:用…
在希望 GrepAI 的代码搜索/嵌入生成完全在本地进行、代码不离开本机时,按此安装并配置 Ollama。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要为 GrepAI 启用本地私有代码嵌特定
解决思路
- 安装 Ollama(macOS Homebrew):运行 `brew install ollama`。
- 启动 Ollama 服务:运行 `ollama serve`。
- 安装 Ollama(macOS 直接下载):从 [ollama.com](https://ollama.com) 下载。
- 打开 `.dmg` 并把应用拖到 Applications。
- 从 Applications 启动 Ollama。
- 安装 Ollama(Linux 一行安装):运行 `curl -fsSL https://ollama.com/install.sh | sh`。
- 安装后启动服务:运行 `ollama serve`。
- 安装 Ollama(Windows):从 `https://ollama.com/download/windows` 下载安装程序。
- 运行 Windows 安装程序。
- Windows 上 Ollama 会自动作为服务启动。
- 下载推荐嵌入模型 `nomic-embed-text`:运行 `ollama pull nomic-embed-text`。
- 需要多语言支持(非英文代码/注释更好)时下载替代模型:运行 `ollama pull nomic-embed-text-v2-moe`。
- 需要更大、更准确时下载替代模型:运行 `ollama pull bge-m3`。
- 需要最高质量时下载替代模型:运行 `ollama pull mxbai-embed-large`。
- 按模型表选择:`nomic-embed-text` 为 768 维、274 MB,适合一般代码搜索。
- 按模型表选择:`nomic-embed-text-v2-moe` 为 768 维、500 MB,适合多语言代码库。
- 按模型表选择:`bge-m3` 为 1024 维、1.2 GB,适合大型代码库。
- 按模型表选择:`mxbai-embed-large` 为 1024 维、670 MB,适合最高准确率。
- 验证 Ollama 是否运行:运行 `curl http://localhost:11434/api/tags`,期望返回包含可用模型的 JSON。
- 列出已下载模型:运行 `ollama list`。
- 测试嵌入生成:运行 `curl http://localhost:11434/api/embeddings -d '{"model": "nomic-embed-text", "prompt": "function hello() { return world; }"}'`,应返回嵌入向量。
- 配置 GrepAI:编辑 `.grepai/config.yaml`。
- 在配置中设置 `embedder.provider: ollama`。
- 在配置中设置 `embedder.model: nomic-embed-text`。
- 在配置中设置 `embedder.endpoint: http://localhost:11434`。
- 注意:运行 `grepai init` 时这是默认配置;若使用 `nomic-embed-text`,无需修改。
- 开发时前台运行 Ollama:在当前终端运行 `ollama serve`,以查看日志。
- macOS/Linux 后台运行 Ollama:运行 `nohup ollama serve &`。
- Linux 作为 systemd 服务运行:运行 `sudo systemctl enable ollama`。
- Linux 作为 systemd 服务运行:运行 `sudo systemctl start ollama`。
- 检查运行状态:运行 `pgrep -f ollama`。
- 或检查运行状态:运行 `curl -s http://localhost:11434/api/tags | head -1`。
- 规划内存:`nomic-embed-text` 载入后约占用 500 MB RAM。
- 规划内存:`bge-m3` 载入后约占用 1.5 GB RAM。
- 规划内存:`mxbai-embed-large` 载入后约占用 1 GB RAM。
- CPU/GPU 设置:Ollama 默认使用 CPU。
- macOS 上 Apple Silicon 会自动使用 Metal。
- Linux/Windows 上为 NVIDIA GPU 支持安装 CUDA。
- 排查 `connection refused` 到 localhost:11434:运行 `ollama serve` 启动 Ollama。
- 排查 Model not found:先运行 `ollama pull nomic-embed-text` 拉取模型。
- 排查嵌入生成慢:改用更小的模型。
- 排查嵌入生成慢:运行 `ollama ps` 确认 Ollama 是否使用 GPU。
- 排查嵌入生成慢:关闭其他占用内存的应用。
- 排查 Out of memory:使用更小的模型或增加系统 RAM。
- 最佳实践:启动 GrepAI 前确保 `ollama serve` 正在运行。
- 最佳实践:使用推荐模型 `nomic-embed-text`,它提供最佳平衡。
- 最佳实践:保持 Ollama 作为后台服务运行。
- 最佳实践:定期运行 `ollama pull nomic-embed-text` 更新模型。
- 成功检查:确认输出包含 Ollama 版本、Endpoint `http://localhost:11434`、Model `nomic-embed-text` (768 dimensions)、Status Running,且 GrepAI 可使用本地嵌入。
适用边界 · 注意事项
- 不需要本地/私有嵌入、愿意使用云端嵌入 API 时,不必安装 Ollama。
- 机器内存不足以常驻嵌入模型(例如连约 500 MB 都难以持续占用)或无法让服务保持运行时,不适用。
- 不使用 GrepAI,或环境禁止安装/运行本地服务且无法自行启动 Ollama 时,不适用。