@ragpipe/plugin-ollama
Advanced tools
+97
| # @ragpipe/plugin-ollama | ||
| Ollama local embedding and generation plugin for [ragpipe](https://github.com/yungblud/ragpipe). | ||
| No API key required. Pair with `@ragpipe/plugin-sqlite-vec` for a fully local RAG setup. | ||
| ## Prerequisites | ||
| ```bash | ||
| # Install and start Ollama | ||
| ollama serve | ||
| # Pull models | ||
| ollama pull bge-m3 | ||
| ollama pull llama3 | ||
| ``` | ||
| ## Install | ||
| ```bash | ||
| pnpm add ragpipe @ragpipe/plugin-ollama | ||
| ``` | ||
| ## Usage | ||
| ```ts | ||
| import { defineConfig } from "ragpipe"; | ||
| import { ollamaEmbedding, ollamaGeneration } from "@ragpipe/plugin-ollama"; | ||
| export default defineConfig({ | ||
| embedding: ollamaEmbedding({ | ||
| model: "bge-m3", | ||
| dimensions: 1024, | ||
| }), | ||
| generation: ollamaGeneration({ | ||
| model: "llama3", | ||
| }), | ||
| // ... vectorStore | ||
| }); | ||
| ``` | ||
| ### Remote Ollama server | ||
| ```ts | ||
| ollamaEmbedding({ | ||
| model: "bge-m3", | ||
| dimensions: 1024, | ||
| baseUrl: "http://gpu-server.local:11434", | ||
| }); | ||
| ``` | ||
| ## API | ||
| ### `ollamaEmbedding(options)` | ||
| Returns an `EmbeddingPlugin` that calls Ollama's `/api/embed` endpoint. | ||
| | Option | Type | Default | Description | | ||
| |---|---|---|---| | ||
| | `model` | `string` | — | Embedding model name (required) | | ||
| | `dimensions` | `number` | — | Vector dimensions (required) | | ||
| | `baseUrl` | `string` | `"http://localhost:11434"` | Ollama server URL | | ||
| - **Batch support**: `embedMany()` sends an array of texts in a single API call | ||
| ### `ollamaGeneration(options)` | ||
| Returns a `GenerationPlugin` that calls Ollama's `/api/chat` endpoint. | ||
| | Option | Type | Default | Description | | ||
| |---|---|---|---| | ||
| | `model` | `string` | — | Generation model name (required) | | ||
| | `baseUrl` | `string` | `"http://localhost:11434"` | Ollama server URL | | ||
| | `systemPrompt` | `string` | `"Answer based on the provided context."` | Default system instruction | | ||
| - **Streaming**: `generateStream()` returns an `AsyncIterable<string>` via NDJSON | ||
| - **History**: Pass `{ history }` to include conversation context | ||
| - **Per-call override**: Pass `{ systemPrompt }` at call time to override the default | ||
| ### Supported models | ||
| #### Embedding | ||
| | Model | Dimensions | | ||
| |---|---| | ||
| | `bge-m3` | 1024 | | ||
| | `nomic-embed-text` | 768 | | ||
| | `mxbai-embed-large` | 1024 | | ||
| | `all-minilm` | 384 | | ||
| #### Generation | ||
| `llama3`, `llama3.1`, `mistral`, `gemma2`, `phi3`, `qwen2`, and any model available via `ollama pull`. | ||
| ## License | ||
| MIT |
+2
-2
| { | ||
| "name": "@ragpipe/plugin-ollama", | ||
| "version": "0.1.0", | ||
| "version": "0.2.0", | ||
| "description": "Ollama local embedding and generation plugin for ragpipe", | ||
@@ -53,3 +53,3 @@ "type": "module", | ||
| "peerDependencies": { | ||
| "ragpipe": ">=0.3.0" | ||
| "ragpipe": ">=0.4.0" | ||
| }, | ||
@@ -56,0 +56,0 @@ "devDependencies": { |
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
13220
20.94%6
20%0
-100%98
Infinity%