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

feat: add acs vector store #2041

Merged

Conversation

aydan-at-microsoft
Copy link
Contributor

@aydan-at-microsoft aydan-at-microsoft commented Aug 4, 2023

Related Issues/PRs

#xxx

What changes are proposed in this pull request?

Add ACS vector store for vector search.

How is this patch tested?

  • I have written tests (not required for typo or doc fix) and confirmed the proposed feature/bug-fix/change works.

Does this PR change any dependencies?

  • No. You can skip this section.
  • Yes. Make sure the dependencies are resolved correctly, and list changes here.

Does this PR add a new feature? If so, have you added samples on website?

  • No. You can skip this section.
  • Yes. Make sure you have added samples following below steps.
  1. Find the corresponding markdown file for your new feature in website/docs/documentation folder.
    Make sure you choose the correct class estimators/transformers and namespace.
  2. Follow the pattern in markdown file and add another section for your new API, including pyspark, scala (and .NET potentially) samples.
  3. Make sure the DocTable points to correct API link.
  4. Navigate to website folder, and run yarn run start to make sure the website renders correctly.
  5. Don't forget to add <!--pytest-codeblocks:cont--> before each python code blocks to enable auto-tests for python samples.
  6. Make sure the WebsiteSamplesTests job pass in the pipeline.

@github-actions
Copy link

github-actions bot commented Aug 4, 2023

Hey @aydan-at-microsoft 👋!
Thank you so much for contributing to our repository 🙌.
Someone from SynapseML Team will be reviewing this pull request soon.

We use semantic commit messages to streamline the release process.
Before your pull request can be merged, you should make sure your first commit and PR title start with a semantic prefix.
This helps us to create release messages and credit you for your hard work!

Examples of commit messages with semantic prefixes:

  • fix: Fix LightGBM crashes with empty partitions
  • feat: Make HTTP on Spark back-offs configurable
  • docs: Update Spark Serving usage
  • build: Add codecov support
  • perf: improve LightGBM memory usage
  • refactor: make python code generation rely on classes
  • style: Remove nulls from CNTKModel
  • test: Add test coverage for CNTKModel

To test your commit locally, please follow our guild on building from source.
Check out the developer guide for additional guidance on testing your change.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary by GPT-4

The code changes in this commit include:

  1. Adding support for vector fields in Azure Search Writer.
  2. Adding a new option vectorCols to specify the vector columns and their dimensions.
  3. Modifying the writeHelper function to accept an additional parameter isVectorField.
  4. Adding new test cases for handling vector fields.

The main purpose of these changes is to enable users to work with vector fields in Azure Search Writer, which can be useful for scenarios like similarity search and other machine learning tasks that require vector representations of data.

Suggestions

The changes in this PR look good and no suggestions are needed.

Copy link
Collaborator

@mhamilton723 mhamilton723 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing Start!

@aydan-at-microsoft
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@codecov-commenter
Copy link

codecov-commenter commented Aug 25, 2023

Codecov Report

Merging #2041 (56fceec) into master (c6d5882) will decrease coverage by 0.06%.
Report is 1 commits behind head on master.
The diff coverage is 98.50%.

@@            Coverage Diff             @@
##           master    #2041      +/-   ##
==========================================
- Coverage   87.07%   87.01%   -0.06%     
==========================================
  Files         306      306              
  Lines       16063    16117      +54     
  Branches      852      858       +6     
==========================================
+ Hits        13987    14025      +38     
- Misses       2076     2092      +16     
Files Changed Coverage Δ
...zure/synapse/ml/cognitive/search/AzureSearch.scala 89.08% <97.77%> (+1.84%) ⬆️
...e/synapse/ml/cognitive/search/AzureSearchAPI.scala 86.81% <100.00%> (-2.80%) ⬇️
...napse/ml/cognitive/search/AzureSearchSchemas.scala 100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes

@aydan-at-microsoft aydan-at-microsoft marked this pull request as ready for review August 25, 2023 23:07
@aydan-at-microsoft
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@aydan-at-microsoft
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mhamilton723 mhamilton723 merged commit d494f6e into microsoft:master Sep 7, 2023
67 of 68 checks passed
JessicaXYWang pushed a commit to JessicaXYWang/SynapseML that referenced this pull request Sep 11, 2023
* add vector column option

* add the vector option

* vector fields are added and code compiles, untested

* fix bug on checkparity when the index exists

* add FloatType to edm-spark type conversions

* fix synonymmap

* core functionality works

* add no nested field vector check

* add vector validation check

* modify vector columns behavior when column doesn't exist in df schema

* add another test

* clean up the unit test file

* add more tests

* add openai embedding pipeline test

* address comments

* address comments

* address comments

* update notebook

* change index name in notebook

chore: bump to spark 3.3.1

chore: bump to spark 3.3.1

chore: bump to spark 3.3.1
JessicaXYWang pushed a commit to JessicaXYWang/SynapseML that referenced this pull request Sep 14, 2023
* add vector column option

* add the vector option

* vector fields are added and code compiles, untested

* fix bug on checkparity when the index exists

* add FloatType to edm-spark type conversions

* fix synonymmap

* core functionality works

* add no nested field vector check

* add vector validation check

* modify vector columns behavior when column doesn't exist in df schema

* add another test

* clean up the unit test file

* add more tests

* add openai embedding pipeline test

* address comments

* address comments

* address comments

* update notebook

* change index name in notebook
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants