feat(embedding): add Ollama local embedding support with native API fallback#327
feat(embedding): add Ollama local embedding support with native API fallback#327maxkandel99-arch wants to merge 1 commit into
Conversation
- Adds GBRAIN_EMBEDDING_PROVIDER env var (openai/ollama/local) - Ollama endpoint via /v1/embeddings (OpenAI-compatible) - local mode uses /api/embeddings with 'prompt' field for Ollama v0.21+ (fixes empty embedding bug with batch input arrays on Ollama v0.21) - Auto-detects Ollama URL and uses correct API format - Default model: nomic-embed-text (768 dims)
|
Thanks for this contribution — and apologies for the slow triage. We did a full pass over the entire PR backlog. gbrain has moved fast, and the maintainer's larger "cathedral" rewrites have superseded a big share of community PRs: the AI gateway + recipes + user_provided_models system replaced almost all individual provider PRs; #1805 fixed the whole Postgres module-singleton class; #1542 unified the type taxonomy; #1657 the retrieval path; #1802 the doctor; and so on. We're closing this one in that cleanup — either the fix already landed on master, it duplicates another PR or merged change, or it's outside the current merge bar. Where a closed PR carried a genuinely valuable idea, we've recorded it in docs/designs/COMMUNITY_IDEAS.md so nothing good is lost (a few may graduate into TODOs). Please don't read the close as a judgment of the work — thank you for contributing. If you believe the underlying issue is still live on the latest master, reopen with a quick note and we'll take another look. 🙏 |
Summary
Adds Ollama as a first-class embedding provider, with a fallback to Ollama native API for Ollama v0.21+ compatibility.
Problem
Solution
Environment Variables
Testing (Windows + Ollama v0.21.0)
`�ash
Native API (Ollama v0.21+ recommended)
set GBRAIN_EMBEDDING_PROVIDER=local
set GBRAIN_EMBEDDING_MODEL=nomic-embed-text
gbrain embed --all
OpenAI-compatible (Ollama <0.21)
set GBRAIN_EMBEDDING_PROVIDER=ollama
gbrain embed --all
`
Backwards Compatible