support model embedding types in bedrock and cohere post process function #3262
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
BedRock titan model V2 and Cohere V2 model now supports multiple embedding types in their API, which means you can specify different embedding types as a list in the request, and model generates different results based on embedding types in response, e.g.:
Response:
The current bedrock and cohere post process function has default response filter to
$.embedding
and$.embeddings
respectively and the extracted results are bothList<List<Float>>
type, after they support embedding types, the response structure is different and the default response filter extractsList<List<Float>>
andMap<String, List<List<Number>>
type separately. This PR is to add support to user who wants to extract different types of results in model response, and this can be classified into several categories:BedRock (The post process function applies for both v1 and v2 model)
$.embeddingsByType
, the response will be captured intodataAsMap
in ModelTensor, and user can get all embedding types result.$.embeddingsByType.{concrete_embedding_type}
, the response will be captured similar to default case to thedata
field in ModelTensor.Cohere V2 (A new v2 post process function is added to v2 model)
$.embeddings
, the response will be captured intodataAsMap
in ModelTensor, and user can get all embedding types result.$.embeddings.{concrete_embedding_type}
, the response will be captured similar to default case to thedata
field in ModelTensor.Related Issues
#3093
Check List
--signoff
.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.