-
Notifications
You must be signed in to change notification settings - Fork 6
Release v0.8.0: Jina v4 Embedding Model Support #56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Design for adding optional Jina v4 embeddings as an upgrade from the default v2 model, selectable at install time. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add testing strategy with 50+ test cases covering: - Model registry (happy path, failures, edge cases) - Ollama client dimensions - Config model command (success, failure, error, edge cases) - Daemon dimension mismatch detection - Config loading and override behavior - End-to-end integration tests Includes test utilities to create and TDD workflow guidance. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Comprehensive implementation plan with 15 tasks and 24 unit tests. Each task broken into bite-sized TDD steps: write test, verify fail, implement, verify pass, commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add GetModelInfo function that maps short names (v2, v4) to full Ollama model metadata including dimensions, context size, and human-readable size. Foundation for Jina v4 embedding support feature. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add function to look up model info by full Ollama model name instead of short name. This enables reverse lookups when we have the full model name from configuration but need its metadata. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add GetDimensionsForModel function that returns dimensions for a model by full name, with DefaultDimensions (768) fallback for unknown models. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add a function to get the short name (v2, v4) from a full Ollama model name. Returns empty string for unknown models. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update OllamaClient.Dimensions() to use GetDimensionsForModel instead of hardcoded 768. This enables correct dimension reporting for different embedding models like Jina v2 (768 dim) vs Jina v4 (1024 dim). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add GetContextSizeForModel() helper and OllamaClient.ContextSize() method that returns the appropriate context window size for the configured model (8192 for v2, 32768 for v4). Update embed() to use dynamic context size instead of hardcoded JinaContextSize constant. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds a new subcommand `pm config model` that displays the current embedding model being used. Shows both the short name (v2/v4/custom) and the full Ollama model name. Model switching (with arguments) returns "not yet implemented" error, to be completed in Task 3.2. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add switchModel function to allow switching between embedding models (v2/v4). The command validates the target model, checks if already using it, deletes existing database if present (since embeddings are incompatible between models), and updates the config. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use db.DatabaseFile constant (index.db) instead of hardcoded pommel.db which doesnt exist. Also clean up SQLite WAL and SHM files when deleting the database during model switch. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When selecting Local Ollama or Remote Ollama as the embedding provider, users can now choose between: - Standard (Jina v2 Code): ~300MB, faster, good quality - Maximum (Jina v4 Code): ~8GB, slower, best quality The selected model is used in both the config file generation and when pulling the model from Ollama. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add v2/v4 Jina embedding model selection when Ollama is chosen as the provider. Users can now choose between: - Standard (v2): ~300MB, faster, good quality (recommended) - Maximum (v4): ~8GB, slower, best quality Changes: - Add $script:SelectedModel variable to track selection - Add Select-OllamaModel function for interactive model selection - Call model selection in Setup-LocalOllama and Setup-RemoteOllama - Update Write-GlobalConfig to use selected model name - Update Install-EmbeddingModel to pull the selected model 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Code review recommended clearer help text about the consequence of switching models (deletes existing index). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
feat: Add Jina v4 embedding model support
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Release v0.8.0
New Features
Jina v4 Embedding Model Support
pm config model [v2|v4]command to view/switch embedding modelsChanges
internal/embedder/models.gowith model metadata and lookup functionsDimensions()andContextSize()based on configured modelpm config modelsubcommand for model managementTechnical Details
unclemusclez/jina-embeddings-v2-base-codesellerscrisp/jina-embeddings-v4-text-code-q4Test Plan
go test -tags fts5 ./...)🤖 Generated with Claude Code