Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python: ACS should use Hnsw for vector indexing #2534

Merged
merged 27 commits into from
Aug 23, 2023

Conversation

awharrison-28
Copy link
Contributor

Motivation and Context

This PR builds on #2435 - the previous PR updates azure-search to the latest package , where it is recommended to use HnswVectorSearchAlgorithmConfiguration. The previous implementation appears to be in a semi-deprecated state.

This new flow is the publicly recommended use for ACS according to https://github.com/Azure/cognitive-search-vector-pr/tree/main/demo-python/code.

Description

  • update azure-search-documents dependency from 11.4.0b6 -> 11.4.0b8
  • index configuration changed from VectorSearchAlgorithmConfiguration -> HnswVectorSearchAlgorithmConfiguration
  • update search_client.search() call in get_nearest_matches() to be consistent with the new index api

Contribution Checklist

@awharrison-28 awharrison-28 requested a review from a team as a code owner August 22, 2023 21:58
@shawncal shawncal added python Pull requests for the Python Semantic Kernel memory connector labels Aug 22, 2023
@awharrison-28 awharrison-28 added this pull request to the merge queue Aug 22, 2023
Merged via the queue into main with commit 98d2d9f Aug 23, 2023
31 checks passed
SOE-YoungS pushed a commit to SOE-YoungS/semantic-kernel that referenced this pull request Nov 1, 2023
### Motivation and Context

This PR builds on microsoft#2435
- the previous PR updates azure-search to the latest package , where it
is recommended to use HnswVectorSearchAlgorithmConfiguration. The
previous implementation appears to be in a semi-deprecated state.

This new flow is the publicly recommended use for ACS according to
https://github.com/Azure/cognitive-search-vector-pr/tree/main/demo-python/code.

### Description
- update `azure-search-documents` dependency from `11.4.0b6 -> 11.4.0b8`
- index configuration changed from `VectorSearchAlgorithmConfiguration
-> HnswVectorSearchAlgorithmConfiguration`
- update `search_client.search()` call in `get_nearest_matches()` to be
consistent with the new index api

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] 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
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: Kinfey <kinfeylo@microsoft.com>
Co-authored-by: Lee Miller <lemiller@microsoft.com>
Co-authored-by: Kinfey <93169410+kinfey@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
memory connector python Pull requests for the Python Semantic Kernel
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants