[FEA]: Improve the VectorDBService
and WriteToVectorDBStage
to handle similarity search
#1272
Closed
2 tasks done
Labels
feature request
New feature or request
sherlock
Issues/PRs related to Sherlock workflows and components
Milestone
Is this a new feature, an improvement, or a change to existing functionality?
Improvement
How would you describe the priority of this feature request
High
Please provide a clear description of problem this feature solves
When working with the
VectorDBService
andWriteToVectorDBStage
for LLM pipelines, there are a few deficiencies which have come up:FLOAT_VECTOR
index typeWriteToVectorDBStage
does not have any capability to upload embedding vectorsDescribe your ideal solution
The following improvements should be added to the
VectorDBService
class:VectorDBServiceResource
) can be created which limits the API to a single resource.name
parameter should be available on theVectorDBServiceResource
class.VectorDBService.insert(name: str, data: list, **kwargs)
->VectorDBServiceResource.insert(data: list, **kwargs)
get_resource_client(self, name: str, **kwargs: dict[str, typing.Any]) -> VectorDBServiceResource
will provide the mechanism for getting the resource client objectmorpheus/service
calledvdb
milvus_vector_db_service.py
tomorpheus/service/vdb
vector_db_service.py
tomorpheus/service/vdb
vector_db_service_utils.py
tomorpheus/service/vdb/utils.py
These will then need to be implemented for all VDB implementations.
The following improvements should be added to the
WriteToVectorDBStage
:service_kwargs
(the arguments needed for connecting to the service) from theresource_kwargs
(the args required to build and setup the resource)service_kwargs
will always be required since they are necessary to connect to the serviceresource_kwargs
are only necessary when creating the resource (or recreating). If we are just connecting to an existing resource, then the parameters can be determined from the service.ControlMessage
orMultiMessage
orMultiMessageResponse
(if an embedding column is specified) typesAdditional context
See the following files for partial implementations of the above:
Code of Conduct
The text was updated successfully, but these errors were encountered: