azure-search-openai-demo
azure-search-openai-demo copied to clipboard
may i change the tier level of azure search service?
After deployment, I found it was standard level of azure search service. May I change it to free or basic tier?
It seemed that the tier cannot be changed during the lifecycle of azure search service.
Where is the sku setting? May I change it to free or basic?
Thanks.
--Bill
Same, i only have standard tier S0, not sure whether I simply do not have access to this resource. As such can not make use of the openai service.... when deploying it shows that there is a bad service request, with an issue with quota limit. Not making much sense to me at all.
You may check if openai service is enabled in your subscription and the right region (such as east us) is seleced.
When I tried to deploy it at the first time, I typed wrong region (east us 2) and got the error message about quota limit.
Looks like free and basic do not support the semantic search. I tried swapping to free and 'azd up' no longer worked due to semantic search being unsupported.
I looked in the bicep files and they are setting semantic search to disabled. You can swap the tiers from standard to basic in the main,parameters file and remove semanticSearch: semanticSearch from the search-services.bicep file else it complains during deployment, even if basic is selected.

It's weird, you do need semantic search, even tho the bicep files set it to disabled. Error: (FeatureNotSupportedInService) Semantic search is not enabled for this service.
I found that you have to be careful with setting azure resources. I had EastUS2, which is not supported by the service. So ensure that you have all resources in EastUS or WestUS. Then it worked for me. cheers
Can anyone please share the correct configurations so free tier level of azure search service can be used?
I changed 'free' all ACS SKU in infra folder and deleted semantic search. finally, got this result : BadRequest: Resource identity is not supported for the selected SKU what more can I change?
You can change tier in Azure Portal or in INFRA config files in infra folder:
example in infra/core/search/search-services.bicep
change partitionCount: 1 to partitionCount: 2
Can anyone please share the correct configurations so free tier level of azure search service can be used?
I have exactly the same question for basic tier level. I can't get rid of the "Error: (FeatureNotSupportedInService) Semantic search is not enabled for this service" even after replacing the ACS tier to 'basic' in infra/core/search/search-services.bicep and infra/main.parameters.json and semanticSearch: semanticSearch from the latter file.
My zone is West Europe.
During my small test session, it seemed the search service was the most expensive azure resource for this demo. I wanted to try using the free version of search service although I can't find any documentation explaining how to achieve this. I've been getting all of the same errors everyone is posting here until I eventually figured it out. So here's how I went about it:
- do a standard setup provisioning all the resources with default pricing teir.
- Delete the search service
- Create a new search service on the free tier
- Open keys of the new search service and change "API access control" from "API keys" to "both"
- If you use a different name for your new search service, be sure to update the azd environment variable to the new name e.g. azd env set AZURE_SEARCH_SERVICE "gptkb-cheap"
- Run scripts/prepdocs.ps1 (or I assume prepdocs.sh works the same)
- Neither the free or basic versions support symantic search. So you must open app/frontend/src/pages/chat/chat.tsx line 20 and change
from
const [useSemanticRanker, setUseSemanticRanker] = useState
(true); to const [useSemanticRanker, setUseSemanticRanker] = useState (false); save changes - I'm running mine locally with no app service or plan so the last step is simply to re-run app/start.ps1. If you're running yours in azure, you may get away with running azd deploy - I just haven't tested it.
I was sceptical of using this solution without semantic search, but the results seem to come through ok. It answers my questions on the small demo data set plus a bit of my own.
Thank you!
I hadn't solved this issue by myself, so I didn't post the solution here (I'm not certain what it was, actually). I worked with basic tier. My test session demonstrated a clear performance hit due to the lack of semantic search. For instance, documents that explained how to enable a process were not found when I asked whether I could disable the process.
If you have an error "Resource identity is not supported for the selected SKU" you need to delete this line from search.services.bicep:
identity: { type: 'SystemAssigned' }
I have changed the sku name in search-services.bicep and searchServiceSkuName in main.bicep to 'free', but after running azd up the deployed search service is still in standard tier. I can't find any other places in the project to change the tier of search service. Did I miss something?
There is also parameter
"searchServiceSkuName": { "value": "free" },
In main.parametes.json file. I dont know why there is no one parameter to change, probably another improvment to do.
I succeeded to deploy a working demo with free tier search service. Here's what I did:
- updated "searchServiceSkuName" to { "value": "free" } in the main.parameters.json file
- commented out identity: { type: 'SystemAssigned' } and semanticSearch: semanticSearch in search-services.bicep
- updated the default value to false of useSemanticRanker in Chat.tsx and OneShot.tsx
Although I succeeded, there are still leave some strange things:
- The value of sku in main.bicep and search-services.bicep seems to be ignored because I reverted them to the original 'standard', only changed the "searchServiceSkuName" in main.parameters.json
- Leaving semanticSearch as "disabled" at search-services.bicep doesn't disable it at the deployment, but commenting it out does.
Tested with one query, the one without semantic search required ~18.5s but the one with semantic search needs ~12.9s. But the number of documents indexed is different (want to save time testing the deployment) so the reference value here might be low. Will try to index the same set of documents and test again.
I also succeeded to deploy free tier search service after comment this option in main.bicep.
module searchService 'core/search/search-services.bicep' = { name: 'search-service' scope: searchServiceResourceGroup params: { name: !empty(searchServiceName) ? searchServiceName : 'gptkb-${resourceToken}' location: searchServiceResourceGroupLocation tags: tags authOptions: { aadOrApiKey: { aadAuthFailureMode: 'http401WithBearerChallenge' } } sku: { name: searchServiceSkuName } // semanticSearch: 'free' } }
reference : https://learn.microsoft.com/en-us/azure/search/semantic-search-overview#availability-and-pricing Semantic search is available on search services at the Basic and higher tiers, subject to regional availability.
@kshokn2 I just experimented myself and realized the free tier also doesn't support managed identity, how did you get around that issue? are you using keys?
@pamelafox I've followed Patck63's suggestion (https://github.com/Azure-Samples/azure-search-openai-demo/issues/107#issuecomment-1642300981) a month ago and succeeded deploying and demoing the app using the free searchService tier. Looks like they dropped semantic search support for the free tier sometime between then and last week because my deployment stopped working (got HTTP 500s when chatting). For small demos it would be awesome to have that option again.
Interesting, I didn't realize it changed. I've passed your feedback onto ACS team.
I'm going to close this issue as completed since you can now change the tier via azd env set AZURE_SEARCH_SERVICE_SKU basic
The fact that you can't change it to free tier specifically is tracked here: https://github.com/Azure-Samples/azure-search-openai-demo/issues/586 (But that depends on the product, so may not ever change)