fix(retrieval): initial support for multimodality in Knowledge Base
Refs: #507
Co-authored-by: Amela<amela.fejza@huawei.com>
# message auto-generated for no-merge-commit merge:
!625 Experience Improvement(retrieval): initial support for multimodality in Knowledge Base
From: @amelafejza
Reviewed-by: @iamcandiceguo, @deyang
See merge request: openJiuwen/agent-core!625
feat(retrieval): Support Agentic retrieval with any Retriever type
Refs: #441
Co-authored-by: Shriram<shriram.piramanayagam@h-partners.com>
# message auto-generated for no-merge-commit merge:
!555 feat(retrieval): Support Agentic retrieval with any Retriever type
From: @shriram1998
Reviewed-by: @yangzequ, @deyang
See merge request: openJiuwen/agent-core!555
refactor(retrieval): refactor retrieval exceptions to use build_error
Refs: #85
Co-authored-by: Tinaxy<xinyu.hou2@h-partners.com>
Co-authored-by: SushiNinja<jin.huang2@h-partners.com>
# message auto-generated for no-merge-commit merge:
!190 merge develop-0120 into develop
refactor(retrieval): refactor retrieval exceptions to use build_error
Created-by: Tinaxy
Commit-by: SushiNinja;Tinaxy
Merged-by: openJiuwen-bot
Description: <!-- Thanks for sending a pull request! Here are some tips for you:
1) If this is your first time, please read our contributor guidelines: https://gitcode.com/openJiuwen/community/blob/master/CONTRIBUTING.md
2) If you want to contribute your code but don't know who will review and merge, please add label openjiuwen-assistant to the pull request, we will find and do it as soon as possible.
-->
**What type of PR is this?**
<!--
选择下面一种标签替换下方 /kind <label>,可选标签类型有:
- /kind bug
- /kind task
- /kind feature
- /kind refactor
- /kind clean_code
如PR描述不符合规范,修改PR描述后需要/check-pr重新检查PR规范。
-->
/kind refactor
**Self-checklist**:(**请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入**)
+ - [ ] **设计**:PR对应的方案是否已经经过Maintainer评审,方案检视意见是否均已答复并完成方案修改
+ - [x] **测试**:PR中的代码是否已有UT/ST测试用例进行充分的覆盖,新增测试用例是否随本PR一并上库或已经上库
+ - [ ] **验证**:PR描述信息中是否已包含对该PR对应的Feature、Refactor、Bugfix的预期目标达成情况的详细验证结果描述
+ - [ ] **接口**:是否涉及对外接口变更,相应变更已得到接口评审组织的通过,API对应的注释信息已经刷新正确
+ - [ ] **文档**:是否涉及官网文档修改,如果涉及请及时提交资料到Doc仓
<!-- **Special notes for your reviewers**: -->
<!-- + - [ ] 是否导致无法前向兼容 -->
<!-- + - [ ] 是否涉及依赖的三方库变更 -->
See merge request: openJiuwen/agent-core!190
feat(retrieval): update existing codebase to use VectorField definitions
Refs: #208
Co-authored-by: SushiNinja<jin.huang2@h-partners.com>
# message auto-generated for no-merge-commit merge:
!238 merge kb-vector-field into develop
feat(retrieval): update existing codebase to use VectorField definitions
Created-by: SushiNinja
Commit-by: SushiNinja
Merged-by: openJiuwen-bot
Description: <!-- Thanks for sending a pull request! Here are some tips for you:
1) If this is your first time, please read our contributor guidelines: https://gitcode.com/openJiuwen/openJiuwen/blob/master/CONTRIBUTING.md
2) If you want to contribute your code but don't know who will review and merge, please add label openJiuwen-assistant to the pull request, we will find and do it as soon as possible.
-->
**What type of PR is this?**
<!--
Choose one label from bug, task, feature and refactor, and replace <label> below the comment block.
If this pr is not only bugfix/task/feature and also a refactor, you can append /kind refactor label after /kind bug, /kind task and /kind feature.
-->
/kind feature
**What does this PR do / why do we need it**:
Following PR [#215](https://gitcode.com/openJiuwen/agent-core/pull/215), existing codebase should adapt to use VectorField definitions.
This PR:
- adapted VectorStore and Indexer classes to make use of the new VectorField definitions
- add unit tests for new validation logic of vector_field in constructor
Another issue this PR addresses is that VectorStore class has two abstract methods not implemented in its subclasses: MilvusVectorStore and ChromaVectorStore:
```python
@abstractmethod
async def table_exists(self, table_name: str) -> bool:
pass
@abstractmethod
async def delete_table(self, table_name: str) -> None:
pass
```
This PR implemented them in MilvusVectorStore and ChromaVectorStore.
**Which issue(s) this PR fixes**:
<!--
*Automatically closes linked issue when PR is merged.
Usage: Fixes #<issue number>, or Fixes (paste link of issue).
-->
Fixes [#207](https://gitcode.com/openJiuwen/agent-core/issues/207) [#208](https://gitcode.com/openJiuwen/agent-core/issues/208)
**What scenarios were tested, and what were the verification results(Function, performance, reliability, etc.)**:
Tested with knowledge base construction and retrieval code.
**Self-checklist**:(**Please check carefully,and mark an x in the [] brackets. We will review your completion status.**)
+ - [ ] **Design**: Has the solution corresponding to the PR been reviewed by the Maintainer, and have all review comments been replied to and revised
+ - [x] **Test**: Has the code in the PR been fully covered by UT/ST test cases, and have the newly added test cases been uploaded to the repository along with this PR or already uploaded.
+ - [x] **Verification**: Does the PR description contains a detailed description of the verification results regarding the achievement of the expected goals for the Feature, Refactor, and Bugfix to this PR.
+ - [ ] **Interface**: Does it involve changes to external interfaces? The corresponding changes have been approved by the interface review organization, and the annotation information for the API has been correctly refreshed.
+ - [ ] **Document**: Does it involve modifications to the official website documentation? If so, please submit the materials to the Doc repository in a timely manner.
<!-- **Special notes for your reviewers**: -->
<!-- + - [ ] Whether it causes forward compatibility failure -->
<!-- + - [ ] Whether the dependent third-party library change is involved -->
See merge request: openJiuwen/agent-core!238
fix(retrieval): initial support for multimodality in Knowledge Base
Refs: #507
Co-authored-by: Amela<amela.fejza@huawei.com>
# message auto-generated for no-merge-commit merge:
!625 Experience Improvement(retrieval): initial support for multimodality in Knowledge Base
From: @amelafejza
Reviewed-by: @iamcandiceguo, @deyang
See merge request: openJiuwen/agent-core!625
feat(retrieval): Support Agentic retrieval with any Retriever type
Refs: #441
Co-authored-by: Shriram<shriram.piramanayagam@h-partners.com>
# message auto-generated for no-merge-commit merge:
!555 feat(retrieval): Support Agentic retrieval with any Retriever type
From: @shriram1998
Reviewed-by: @yangzequ, @deyang
See merge request: openJiuwen/agent-core!555