Azure / azure-search-vector-samples

A repository of code samples for Vector search capabilities in Azure AI Search.
https://azure.microsoft.com/products/search
MIT License
687 stars 285 forks source link

Error in Azure Portel Index: This index contains a vectorizer created by previous API versions that doesn't include the 'modelName' field. We recommend you to migrate by adding 'experimental' value automatically to the field to restore full portal functionality. #241

Open sunnysharma03 opened 3 weeks ago

sunnysharma03 commented 3 weeks ago

I have created index using the below sample.ipynb file: https://github.com/Azure/azure-search-vector-samples/blob/main/demo-python/code/integrated-vectorization/azure-search-integrated-vectorization-sample.ipynb

And used the private preview azure search whl file: azure_search_documents-11.4.0b12 which was available on github, and recently removed from it.

So as per the below doc, we have a parameter model_name to add in azure_open_ai_parameters constructor: https://learn.microsoft.com/en-us/python/api/azure-search-documents/azure.search.documents.indexes.models.azureopenaiparameters?view=azure-python-preview

I tried to add it in my script but I got below error: model_name is not a known attribute of class <class 'azure.search.documents.indexes._generated.models._models_py3.AzureOpenAIParameters'> and will be ignored image

So I tried to upgrade the Azure Search Document sdk to 11.6.0.4b but still the issue is coming up. Do we need to use some other whl file like we did earlier with 11.4.0b12 ?

Code snippet of my vectorizer:

vectorizers=[  
        AzureOpenAIVectorizer(  
            name="myOpenAI",  
            kind="azureOpenAI",  
            azure_open_ai_parameters=AzureOpenAIParameters(  
                resource_uri=os.getenv("AZURE_OPENAI_ENDPOINT"),  
                deployment_id=model, 
                model_name='text-embedding-3-large',
                api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
            ),  
        ),  
    ]

I am using 2024-05-01-preview for openai version and text-embedding-3-large model. Python version 3.8

dhaksr commented 3 weeks ago

I am on Azure search 11.6.03b and removed the model name.. But I agree. they should fix this and documentation properly vectorizers=[ AzureOpenAIVectorizer( name="myOpenAI", kind="azureOpenAI", azure_open_ai_parameters=AzureOpenAIParameters( resource_uri=azure_openai_endpoint, deployment_id=azure_openai_embedding_deployment, api_key=azure_openai_key, model_name = az_openai_embedding_model, ),

mattgotteiner commented 2 weeks ago

Thanks for the feedback. We only mention this in the Upgrade REST API documentation https://learn.microsoft.com/en-us/azure/search/search-api-migration#upgrade-to-2024-05-01-preview

If the model_name parameter is not available in AzureOpenAIVectorizer class then agreed it should not be used. It would only be available on the latest version of the package.

We'll eventually update our notebooks with examples of this usage. Sorry for the inconvenience