microsoft / AI-Chat-App-Hack

HackTogether: The Microsoft Python Chatbot Hack | Register, Hack, Win
MIT License
234 stars 49 forks source link

Project: AI assistant designed to guide users in selecting the most cost-effective Azure region and virtual machine types based on up-to-date pricing data, powered with LangChain and GPT-4 #95

Open linjungz opened 9 months ago

linjungz commented 9 months ago

Project name

Copilot for Azure Pricing

Description

This is an AI assistant designed to guide users in selecting the most cost-effective Azure region and virtual machine types based on up-to-date pricing data. It's built with LangChain and Azure GPT-4.

Although the pre-trained data in the GPT-4 model should be sufficient for common knowledge about Azure regions and virtual machines, it's not expected to be up to date and correct. Thus, region information including display name and availability zones support have been fetched from Azure official documents and saved locally for retrieval.

In addition, Azure virtual machine pricing data is also fetched from Azure Retail API and saved locally. At the very beginning, Azure Retail API is called every time the user asks the Agent. But I soon found that the Azure Retail API requests could be throttled due to too many requests within a brief period of time. Meanwhile, the price data is not updated very frequently. Hence the pricing data is scheduled to be retrieved every day and be cached locally.

Finally, data about VM configuration is also fetched using Azure CLI list-sizes and scheduled to update when new Virtual Machine types release.

All this information is available to the Agent as tools. All the tools are implemented as functions in python codes and would retrieve data which are preloaded from JSON files locally when Agent starts to run. More data about virtual machine and other Azure services could be added in a similar way to make this Agent more helpful.

Azure users including both end user and Azure sales who need to check virtual machine price frequently could use this app as a copilot for their planning and cost estimation.

Language

English/Chinese

Project Repository URL

https://github.com/linjungz/copilot-azure-pricing

Deployed Endpoint URL

https://copilot-azure-pricing.azdemo.cbuilder.tech/

Project video

https://youtu.be/A6JQE4UF2uA

Team members

linjungz

Showcase Consent

Yes