Add support for semantic search with the dense vector#355
Open
daixque wants to merge 2 commits intoelastic:mainfrom
Open
Add support for semantic search with the dense vector#355daixque wants to merge 2 commits intoelastic:mainfrom
daixque wants to merge 2 commits intoelastic:mainfrom
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
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.
Intention
Current chatbot-rag-app is set up with only SparseVectorStrategy. I'd like to add DenseVectorStrategy because for those who speak non-English languages, DenseVectorStrategy with E5 models is good option.
I know this doesn't work for the data ingestion part, but it's great to have a dense vector option in the RAG example.
Changes
This pull request introduces several enhancements to the
example-apps/chatbot-rag-appto support both sparse and dense vector strategies for Elasticsearch. The changes include updates to the environment configuration, the main chat API, and logging improvements.Support for multiple vector strategies:
example-apps/chatbot-rag-app/api/chat.py: Added support forDenseVectorStrategyalongside the existingSparseVectorStrategy. Introduced new environment variables to configure the strategy type, model ID, vector field, and query field. [1] [2]Environment configuration updates:
example-apps/chatbot-rag-app/env.example: Updated the example environment file to include configurations for both sparse and dense vector strategies, allowing users to easily switch between them.Logging improvements:
example-apps/chatbot-rag-app/api/chat.py: Improved logging in theask_questionfunction to ensure that document metadata is logged only if the "name" field is present.