fix: nebula multi-embedding & add BochaAI Search Retriever #195
+493
−171
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.
Description
Summary:
➕ Added BochaAI Search Retriever
Created BochaAISearchAPI and BochaAISearchRetriever for /v1/web-search & /v1/ai-search.
Added parsing logic for BochaAI’s nested response format (data → webPages → value).
Integrated with InternetRetrieverFactory via backend="bocha".
🔧 NebulaGraph Multi-Embedding Support
Refactored NebulaGraphDB to support dynamic embedding fields (e.g. embedding_1024, embedding_3072).
Adjusted vector index creation, node/edge operations, and query formatting to work with different embedding dimensions.
📝 Examples & Config Updates
Added textual_memory_internet_search_example.py showing how to use BochaAISearchRetriever.
Introduced BochaSearchConfig to InternetRetrieverConfigFactory.
Fix: #196 #197
Docs Issue/PR: (docs-issue-or-pr-link)
Reviewer: @CaralHsi
Checklist: