mcpField
G
grepai-embeddings-ollama

grepai-embeddings-ollama

github.com/yoanbernabeu开发20752 次安装38 周前更新
代码仓库

关于 grepai-embeddings-ollama

grepai-embeddings-ollama 是配置 grepai 使用 Ollama 生成代码搜索嵌入的技能,适合需要本地处理代码的开发者。它说明了模型选择、端点配置、性能调整和连接排查。

主要功能

  1. 01将 Ollama 配置为嵌入提供方
  2. 02选择不同模型与向量维度
  3. 03配置本地或远程端点
  4. 04提供性能调整和故障排查指引

适用场景

  1. 01在本地为代码搜索生成嵌入
  2. 02为多语言代码库选择嵌入模型
  3. 03连接远程 Ollama 服务处理嵌入

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-embeddings-ollama

安装后在 Claude Code 中输入/grepai-embeddings-ollama确认已加载。

详细介绍

使用 Ollama 的 GrepAI 嵌入

本技能介绍如何将 Ollama 用作 GrepAI 的嵌入提供方,实现 100% 私密的本地代码搜索。

何时使用此技能

  • 设置私密的本地嵌入
  • 选择合适的 Ollama 模型
  • 优化 Ollama 性能
  • 排查 Ollama 连接问题

为什么选择 Ollama?

优势描述
🔒 隐私代码绝不会离开你的设备
💰 免费无 API 费用或使用限制
⚡ 速度无网络延迟
🔌 离线无需互联网即可运行
🔧 控制权可自行选择模型

前提条件

  1. 已安装并运行 Ollama
  2. 已下载嵌入模型
# Install Ollama
brew install ollama  # macOS
# or
curl -fsSL https://ollama.com/install.sh | sh  # Linux

# Start Ollama
ollama serve

# Download model
ollama pull nomic-embed-text

配置

基本配置
# .grepai/config.yaml
embedder:
  provider: ollama
  model: nomic-embed-text
  endpoint: http://localhost:11434
使用自定义端点
embedder:
  provider: ollama
  model: nomic-embed-text
  endpoint: http://192.168.1.100:11434  # Remote Ollama server
显式指定维度
embedder:
  provider: ollama
  model: nomic-embed-text
  endpoint: http://localhost:11434
  dimensions: 768  # Usually auto-detected

可用模型

推荐:nomic-embed-text
ollama pull nomic-embed-text
属性值
维度768
大小~274 MB
速度快
质量非常适合代码
语言针对英语优化

配置:

embedder:
  provider: ollama
  model: nomic-embed-text
多语言:nomic-embed-text-v2-moe
ollama pull nomic-embed-text-v2-moe
属性值
维度768
大小~500 MB
速度中等
质量非常好
语言多语言

最适合包含非英语注释或文档的代码库。

配置:

embedder:
  provider: ollama
  model: nomic-embed-text-v2-moe
高质量:bge-m3
ollama pull bge-m3
属性值
维度1024
大小~1.2 GB
速度较慢
质量很高
语言多语言

最适合规模较大、结构复杂且对准确性要求很高的代码库。

配置:

embedder:
  provider: ollama
  model: bge-m3
  dimensions: 1024
最高质量:mxbai-embed-large
ollama pull mxbai-embed-large
属性值
维度1024
大小~670 MB
速度中等
质量最高
语言英语

配置:

embedder:
  provider: ollama
  model: mxbai-embed-large
  dimensions: 1024

模型对比

模型维度大小速度质量使用场景
nomic-embed-text768274MB⚡⚡⚡⭐⭐⭐通用场景
nomic-embed-text-v2-moe768500MB⚡⚡⭐⭐⭐⭐多语言
bge-m310241.2GB⚡⭐⭐⭐⭐⭐大型代码库
mxbai-embed-large1024670MB⚡⚡⭐⭐⭐⭐⭐追求最高准确性

性能优化

内存管理

模型会加载到 RAM 中。请确保内存充足:

模型所需 RAM
nomic-embed-text~500 MB
nomic-embed-text-v2-moe~800 MB
bge-m3~1.5 GB
mxbai-embed-large~1 GB
GPU 加速

Ollama 会自动使用:

  • macOS: Metal(Apple Silicon)
  • Linux/Windows: CUDA(NVIDIA GPU)

检查 GPU 使用情况:

ollama ps
保持模型加载

默认情况下,Ollama 会在模型闲置 5 分钟后将其卸载。若要保持模型加载:

# Keep model loaded indefinitely
curl http://localhost:11434/api/generate -d '{
  "model": "nomic-embed-text",
  "keep_alive": -1
}'

验证连接

检查 Ollama 是否正在运行
curl http://localhost:11434/api/tags
列出可用模型
ollama list
测试嵌入
curl http://localhost:11434/api/embeddings -d '{
  "model": "nomic-embed-text",
  "prompt": "function authenticate(user, password)"
}'

将 Ollama 作为服务运行

macOS(launchd)

Ollama 应用会在登录时自动运行。

Linux(systemd)
# Enable service
sudo systemctl enable ollama

# Start service
sudo systemctl start ollama

# Check status
sudo systemctl status ollama
手动在后台运行
nohup ollama serve > /dev/null 2>&1 &

远程 Ollama 服务

在高性能服务上运行 Ollama,并远程连接:

在服务端
# Allow remote connections
OLLAMA_HOST=0.0.0.0 ollama serve
在客户端
# .grepai/config.yaml
embedder:
  provider: ollama
  model: nomic-embed-text
  endpoint: http://server-ip:11434

常见问题

❌ 问题: 连接被拒绝 ✅ 解决方案:

# Start Ollama
ollama serve

❌ 问题: 找不到模型 ✅ 解决方案:

# Pull the model
ollama pull nomic-embed-text

❌ 问题: 嵌入生成缓慢 ✅ 解决方案:

  • 使用较小的模型(nomic-embed-text)
  • 确保正在使用 GPU(ollama ps)
  • 关闭占用大量内存的应用
  • 考虑使用硬件性能更好的远程服务

❌ 问题: 内存不足 ✅ 解决方案:

  • 使用较小的模型
  • 关闭其他应用
  • 升级 RAM
  • 使用远程 Ollama 服务

❌ 问题: 模型更新后嵌入结果不同 ✅ 解决方案: 模型更新后重新建立索引:

rm .grepai/index.gob
grepai watch

最佳实践

  1. 从 nomic-embed-text 开始: 速度与质量的最佳平衡
  2. 保持 Ollama 运行: 建议使用后台服务
  3. 匹配维度: 不要混用维度不同的模型
  4. 更换模型后重新建立索引: 删除索引并重新运行 watch
  5. 监控内存: 嵌入模型会占用大量 RAM

输出格式

成功的 Ollama 配置:

✅ Ollama Embedding Provider Configured

   Provider: Ollama
   Model: nomic-embed-text
   Endpoint: http://localhost:11434
   Dimensions: 768 (auto-detected)
   Status: Connected

   Model Info:
   - Size: 274 MB
   - Loaded: Yes
   - GPU: Apple Metal

评论

支持 Markdown