CosmosDB memory connector improvement
Motivation and Context
Description
- Use UDF for cosin simularity calculation, reduce network IO
- Improve collection existance check performance
- Create a base class for memory storage connectors, this make further connectors easier to test
- Various bugs fixed (not found in issues, but found in unit tests)
I'm experienced in C#, but not experienced in Github PR. please feel free to contact me if you have any questions or suggestions about this PR.
Contribution Checklist
- [Y] The code builds clean without any errors or warnings
- [Y] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [Y] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with
dotnet format - [Y] All unit tests pass, and I have added new tests where possible
- [Y] I didn't break anyone :smile:
@microsoft-github-policy-service agree
Seems the file Connectors.Memory.CosmosDB.csproj was broken after manually solve conflict. Any thing I can do to fix this?
Hi, seems some class files are NOT included in the project file "Connectors.Memory.CosmosDB.csproj". The possible reason is my code base did not synced with lastest. Anyway to fix this? Or I can try create a new PR and abandon this one, please tell me if you need to redo the PR.
Hi, seems some class files are NOT included in the project file "Connectors.Memory.CosmosDB.csproj". The possible reason is my code base did not synced with lastest. Anyway to fix this? Or I can try create a new PR and abandon this one, please tell me if you need to redo the PR.
@JohnMasen Please ensure your PR branch builds and passes tests. You can resolve it in whatever fashion you want - copying files in conflict over from main and resolving locally may be less work than starting from a fresh branch.
Hi, seems some class files are NOT included in the project file "Connectors.Memory.CosmosDB.csproj". The possible reason is my code base did not synced with lastest. Anyway to fix this? Or I can try create a new PR and abandon this one, please tell me if you need to redo the PR.
@JohnMasen Please ensure your PR branch builds and passes tests. You can resolve it in whatever fashion you want - copying files in conflict over from main and resolving locally may be less work than starting from a fresh branch.
Hi, I found the cosmosDB unit tests are failed because of CosmosDB unit test requires local cosmosDB emulator. The previous version does not have unit tests. Seems I have to disable the the unit tests for this PR.
Hi, seems some class files are NOT included in the project file "Connectors.Memory.CosmosDB.csproj". The possible reason is my code base did not synced with lastest. Anyway to fix this? Or I can try create a new PR and abandon this one, please tell me if you need to redo the PR.
@JohnMasen Please ensure your PR branch builds and passes tests. You can resolve it in whatever fashion you want - copying files in conflict over from main and resolving locally may be less work than starting from a fresh branch.
@awharrison-28 the conflicts are solved, PR is ready for review.
Hi, seems some class files are NOT included in the project file "Connectors.Memory.CosmosDB.csproj". The possible reason is my code base did not synced with lastest. Anyway to fix this? Or I can try create a new PR and abandon this one, please tell me if you need to redo the PR.
@JohnMasen Please ensure your PR branch builds and passes tests. You can resolve it in whatever fashion you want - copying files in conflict over from main and resolving locally may be less work than starting from a fresh branch.
@awharrison-28 the conflicts are solved, PR is ready for review.
hi @awharrison-28, I found the merge failed the integration tests. as the cosmosDB requires a real cosmosDB account or a local cosmosDB emulator(Windows only), is there anyway we can add a valid CosmosDB configuration to the integration environment?
Closing this PR due to cosmosDB connector is deprecated.