Commit ba086d5
Python: Add missing index in Bedrock FunctionCallContent instantiation (#12203)
### Motivation and Context
The current implementation of `BedrockChatCompletion` does not correctly
initialize `FunctionCallContent` instances when using the Converse
Stream API, as the index is not set. As a result, when adding two
consecutive `FunctionCallContent` instances that belong to different
function calls, the `__add__` method does not raise a
`ContentAdditionException` exception, and the parameters are incorrectly
merged.
### Description
This PR ensures proper initialization of the index in
`FunctionCallContent` instances by using the `contentBlockIndex` value
returned by the Converse Stream API in both delta and start content
block messages. This prevents parameters from different function calls
from being merged.
See:
-
https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ContentBlockDeltaEvent.html
-
https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ContentBlockStartEvent.html
Closes #12202
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
Co-authored-by: Javier Cruz <[email protected]>
Co-authored-by: Evan Mattson <[email protected]>1 parent 781d624 commit ba086d5
File tree
1 file changed
+2
-0
lines changed- python/semantic_kernel/connectors/ai/bedrock/services
1 file changed
+2
-0
lines changedLines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
321 | 321 | | |
322 | 322 | | |
323 | 323 | | |
| 324 | + | |
324 | 325 | | |
325 | 326 | | |
326 | 327 | | |
| |||
350 | 351 | | |
351 | 352 | | |
352 | 353 | | |
| 354 | + | |
353 | 355 | | |
354 | 356 | | |
355 | 357 | | |
| |||
0 commit comments