grepai-embeddings-openai — скилл для Claude Code: эмбеддинги OpenAI
Скилл настраивает OpenAI как провайдер эмбеддингов для GrepAI: облачный индекс кода без локального сервера. Код при этом уходит на серверы OpenAI.
npx skills add yoanbernabeu/grepai-skills --skill grepai-embeddings-openai -a claude-codeЧто делает grepai-embeddings-openai
Скилл описывает, как подключить OpenAI к GrepAI через .grepai/config.yaml. В конфиге указываются провайдер, модель и ключ из переменной окружения — например text-embedding-3-small с 1536 измерениями. Ключ берётся из OPENAI_API_KEY, а не пишется в файл.
Моделей две: text-embedding-3-small подешевле, text-embedding-3-large на 3072 измерения точнее. У large можно урезать размерность до 1024, чтобы сэкономить место. Для скорости есть parallelism, но его значение зависит от тарифного уровня аккаунта: на бесплатном ставьте 1–2, выше — 4–8. GrepAI сам делает батчинг и адаптивный backoff при лимитах.
Заранее понадобятся ключ OpenAI и включённый биллинг. Если индекс уже собран на другой модели или провайдере, смешивать эмбеддинги нельзя: старый .grepai/index.gob придётся удалить и переиндексировать. Код уходит на серверы OpenAI, так что для закрытых репозиториев это повод проверить, что именно попадает в индекс.
Какие задачи решает
- подключить OpenAI как провайдер эмбеддингов в GrepAI
- выбрать между text-embedding-3-small и text-embedding-3-large по цене и точности
- ускорить индексацию через параллельные запросы под свой тариф
- перейти с Ollama на OpenAI и пересобрать индекс
- посчитать примерную стоимость индексации кодовой базы
Примеры запросов агенту
- Настрой OpenAI как провайдер эмбеддингов для GrepAI в .grepai/config.yaml
- Поставь text-embedding-3-small и parallelism 4 для индексации
- Переиндексируй проект после смены провайдера на Anthropic
Как установить grepai-embeddings-openai
1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-embeddings-openai -a claude-code2Вручную: положить файлы
~/.claude/skills/grepai-embeddings-openai/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/grepai-embeddings-openai/
1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-embeddings-openai -a codex2Вручную: положить файлы
.agents/skills/grepai-embeddings-openai/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-embeddings-openai -a cursor2Вручную: положить файлы
.cursor/skills/grepai-embeddings-openai/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install yoanbernabeu/grepai-skills grepai-embeddings-openai2Вручную: положить файлы
.github/skills/grepai-embeddings-openai/SKILL.md1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-embeddings-openai -a gemini-cli2Командой платформы
gemini skills install https://github.com/yoanbernabeu/grepai-skills --path skills/embeddings/grepai-embeddings-openaiВручную: положить файлы
.devin/skills/grepai-embeddings-openai/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-embeddings-openai -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о grepai-embeddings-openai
Как установить grepai-embeddings-Anthropic в Claude?
Выполните npx skills add yoanbernabeu/grepai-skills --skill grepai-embeddings-openai -a claude-code. Скилл появится по пути ~/.claude/skills/grepai-embeddings-openai/SKILL.md.
Что делает grepai-embeddings-openai?
Показывает, как прописать OpenAI в конфиг GrepAI: провайдер, модель, ключ из переменной окружения и параллелизм. Заодно разбирает модели, лимиты и типичные ошибки вроде 401 и 429.
Можно ли смешивать эмбеддинги OpenAI и Ollama в одном индексе?
Нет. Эмбеддинги разных моделей и провайдеров несовместимы, поэтому при переходе на OpenAI нужно удалить .grepai/index.gob и запустить grepai watch заново.
Исходный текст
SKILL.md · MIT
---
name: grepai-embeddings-openai
description: Configure OpenAI as embedding provider for GrepAI. Use this skill for high-quality cloud embeddings.
---
# GrepAI Embeddings with OpenAI
This skill covers using OpenAI's embedding API with GrepAI for high-quality, cloud-based embeddings.
## When to Use This Skill
- Need highest quality embeddings
- Team environment with shared infrastructure
- Don't want to manage local embedding server
- Willing to trade privacy for quality/convenience
## Considerations
| Aspect | Details |
|--------|---------|
| ✅ **Quality** | State-of-the-art embeddings |
| ✅ **Speed** | Fast, no local compute needed |
| ✅ **Scalability** | Handles any codebase size |
| ⚠️ **Privacy** | Code sent to OpenAI servers |
| ⚠️ **Cost** | Pay per token |
| ⚠️ **Internet** | Requires connection |
## Prerequisites
1. OpenAI API key
2. Billing enabled on OpenAI account
Get your API key at: https://platform.openai.com/api-keys
## Configuration
### Basic Configuration
```yaml
# .grepai/config.yaml
embedder:
provider: openai
model: text-embedding-3-small
api_key: ${OPENAI_API_KEY}
```
Set the environment variable:
```bash
export OPENAI_API_KEY="sk-..."
```
### With Parallel Processing
```yaml
embedder:
provider: openai
model: text-embedding-3-small
api_key: ${OPENAI_API_KEY}
parallelism: 8 # Concurrent requests for speed
```
### Direct API Key (Not Recommended)
```yaml
embedder:
provider: openai
model: text-embedding-3-small
api_key: sk-your-api-key-here # Avoid committing secrets!
```
**Warning:** Never commit API keys to version control.
## Available Models
### text-embedding-3-small (Recommended)
| Property | Value |
|----------|-------|
| Dimensions | 1536 |
| Price | $0.00002 / 1K tokens |
| Quality | Very high |
| Speed | Fast |
**Best for:** Most use cases, good balance of cost/quality.
```yaml
embedder:
provider: openai
model: text-embedding-3-small
```
### text-embedding-3-large
| Property | Value |
|----------|-------|
| Dimensions | 3072 |
| Price | $0.00013 / 1K tokens |
| Quality | Highest |
| Speed | Fast |
**Best for:** Maximum accuracy, cost not a concern.
```yaml
embedder:
provider: openai
model: text-embedding-3-large
dimensions: 3072
```
### Dimension Reduction
You can reduce dimensions to save storage:
```yaml
embedder:
provider: openai
model: text-embedding-3-large
dimensions: 1024 # Reduced from 3072
```
## Model Comparison
| Model | Dimensions | Cost/1K tokens | Quality |
|-------|------------|----------------|---------|
| `text-embedding-3-small` | 1536 | $0.00002 | ⭐⭐⭐⭐ |
| `text-embedding-3-large` | 3072 | $0.00013 | ⭐⭐⭐⭐⭐ |
## Cost Estimation
Approximate costs per 1000 source files:
| Codebase Size | Chunks | Small Model | Large Model |
|---------------|--------|-------------|-------------|
| Small (100 files) | ~500 | $0.01 | $0.06 |
| Medium (1000 files) | ~5,000 | $0.10 | $0.65 |
| Large (10000 files) | ~50,000 | $1.00 | $6.50 |
**Note:** Costs are one-time for initial indexing. Updates only re-embed changed files.
## Optimizing for Speed
### Parallel Requests
GrepAI v0.24.0+ supports adaptive rate limiting and parallel requests:
```yaml
embedder:
provider: openai
model: text-embedding-3-small
api_key: ${OPENAI_API_KEY}
parallelism: 8 # Adjust based on your rate limit tier
```
Parallelism recommendations:
- **Tier 1 (Free):** 1-2
- **Tier 2:** 4-8
- **Tier 3+:** 8-16
### Batching
GrepAI automatically batches chunks for efficient API usage.
## Rate Limits
OpenAI has rate limits based on your account tier:
| Tier | RPM | TPM |
|------|-----|-----|
| Free | 3 | 150,000 |
| Tier 1 | 500 | 1,000,000 |
| Tier 2 | 5,000 | 5,000,000 |
GrepAI handles rate limiting automatically with adaptive backoff.
## Environment Variables
### Setting the API Key
**macOS/Linux:**
```bash
# In ~/.bashrc, ~/.zshrc, or ~/.profile
export OPENAI_API_KEY="sk-..."
```
**Windows (PowerShell):**
```powershell
$env:OPENAI_API_KEY = "sk-..."
# Or permanently
[System.Environment]::SetEnvironmentVariable('OPENAI_API_KEY', 'sk-...', 'User')
```
### Using .env Files
Create `.env` in your project root:
```
OPENAI_API_KEY=sk-...
```
Add to `.gitignore`:
```gitignore
.env
```
## Azure OpenAI
For Azure-hosted OpenAI:
```yaml
embedder:
provider: openai
model: your-deployment-name
api_key: ${AZURE_OPENAI_API_KEY}
endpoint: https://your-resource.openai.azure.com
```
## Security Best Practices
1. **Use environment variables:** Never hardcode API keys
2. **Add to .gitignore:** Exclude `.env` files
3. **Rotate keys:** Regularly rotate API keys
4. **Monitor usage:** Check OpenAI dashboard for unexpected usage
5. **Review code:** Ensure sensitive code isn't being indexed
## Common Issues
❌ **Problem:** `401 Unauthorized`
✅ **Solution:** Check API key is correct and environment variable is set:
```bash
echo $OPENAI_API_KEY
```
❌ **Problem:** `429 Rate limit exceeded`
✅ **Solution:** Reduce parallelism or upgrade OpenAI tier:
```yaml
embedder:
parallelism: 2 # Lower value
```
❌ **Problem:** High costs
✅ **Solutions:**
- Use `text-embedding-3-small` instead of large
- Reduce dimension size
- Add more ignore patterns to reduce indexed files
❌ **Problem:** Slow indexing
✅ **Solution:** Increase parallelism:
```yaml
embedder:
parallelism: 8
```
❌ **Problem:** Privacy concerns
✅ **Solution:** Use Ollama for local embeddings instead
## Migrating from Ollama to OpenAI
1. Update configuration:
```yaml
embedder:
provider: openai
model: text-embedding-3-small
api_key: ${OPENAI_API_KEY}
```
2. Delete existing index:
```bash
rm .grepai/index.gob
```
3. Re-index:
```bash
grepai watch
```
**Important:** You cannot mix embeddings from different models/providers.
## Output Format
Successful OpenAI configuration:
```
✅ OpenAI Embedding Provider Configured
Provider: OpenAI
Model: text-embedding-3-small
Dimensions: 1536
Parallelism: 4
API Key: sk-...xxxx (from environment)
Estimated cost for this codebase:
- Files: 245
- Chunks: ~1,200
- Cost: ~$0.02
Note: Code will be sent to OpenAI servers.
```
© yoanbernabeu · MIT · yoanbernabeu/grepai-skills