This folder contains a collection of tools that utilize AI techniques.
AzureSdkQaBot is a Teams bot which can answer the questions related to the Azure SDK domain. It is powered by Azure OpenAI and written in C#.
Capability of this bot
-
This bot can provide general QA by searching through a knowledge base that includes documents from three sources:
- Azure SDK documents available at the engineering hub site
- TypeSpec documents available at https://github.com/azure/typespec-azure
- Some markdown documents from a customized list
-
Assist with reviewing pull requests for REST API specifications, including query the status of the specification pull request, providing suggestions for next steps, and facilitating the merge process (note that merging is disabled during testing phase)
How to use this bot
- Create a post in the teams channel by accessing https://aka.ms/azsdk/teams-bot.
- In the post content, please include
@AzureSDKAssistant-devwith your questions.
Note: Select the name when typing
@, copying of the@AzureSDKAssistant-devtext to the question would not work.
It is a tool written in Python that uses langchain library to create embeddings in Azure Search Service.
This folder contains some scripts to build embeddings by calling the Embeddings tool.
We have an Azure DevOps pipeline which can help create or refresh the embeddings.
-
This pipeline contains three stages:
- Build EngHub Document Embeddings This stage builds embeddings for all the documents under the engineering hub site
- Build TypeSpec Document Embeddings This stage builds embeddings for all the documents under the typespec-azure site
- Build Customized Document Embeddings This stage builds embeddings for some markdown documents which are publicly accessible.
-
The user can select specific stages when running the pipeline. By default, all three stages are included.
-
The pipeline has an option to refresh the embeddings incrementally. By default,
Incremental Embedding Buildis selected when the pipeline is triggered. If the user wants to create embeddings from scratch, they should unselect this option when triggering the pipeline.
If you have a publicly accessbile markdown file that you want the Teams bot to understand, you can add the information to this file in the following format.
"ci-fix.md": {
"title": "CI Fix Guide",
"url": "https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/ci-fix.md"
}This file is a JSON, and you must ensure that the key in this JSON is not duplicated when adding a new document.