mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
### Motivation and Context This PR addresses a number of failing integration tests. Chroma, ConversationSummary Skill, and Pinecone. - Chroma memory store tests broke due to a chroma dependency update where the metadata checks for booleans (which are not allowed). Previously, boolean metadata was not supported, but failed to validate correctly. This PR gets around this by converting booleans to strings when storing metadata, and converting string "True" to a boolean upon metadata retrieval. - ConversationSummarySkill added a callback parameter to all calls to estimate the token count for the LLM call. This PR ensures that all these calls have a default callback function to ensure backwards compatibility with applications. - This PR introduces retry logic to the Pinecone integration tests. The tests are backed by the free tier of Pinecone which is a shared instance. Traffic is high and unreliable causing the integration tests to fail consistently. Retry logic addresses a lot of the unreliability, but it is not a perfect fix. **We should address the backing service in parallel to this change.** - Add new dependencies to postgres to account for different install needs for linux/macos/windows ### Description - converts chroma boolean params to strings upon metadata save - converts chroma boolean params from strings upon metadata retrieve - all conversationsummaryskill methods have a default callback for token count - Adds a 1 second delay between each pinecone test - Adds retry logic with progressive increases in waits between calls should a pinecone request fail on known errors caused by service availability Action: https://github.com/microsoft/semantic-kernel/actions/runs/5547243155 ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: Dmytro Struk <[email protected]> Co-authored-by: Shawn Callegari <[email protected]>