azure-sdk-tools/tools/sdk-ai-bots
dependabot[bot] dab61769dc
Bump langchain in /tools/sdk-ai-bots/Embeddings in the pip group (#8996)
Bumps the pip group in /tools/sdk-ai-bots/Embeddings with 1 update: [langchain](https://github.com/langchain-ai/langchain).


Updates `langchain` from 0.1.8 to 0.2.10
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](https://github.com/langchain-ai/langchain/compare/langchain-ibm==0.1.8...langchain==0.2.10)

---
updated-dependencies:
- dependency-name: langchain
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 15:10:57 -07:00
..
.pipelines Use azcopy to access azure blob with FWI (#8160) 2024-04-26 15:53:30 +08:00
AzureSdkQaBot Update projects targeting net7.0 to net8.0 (#8619) 2024-07-30 13:51:24 -07:00
Embeddings Bump langchain in /tools/sdk-ai-bots/Embeddings in the pip group (#8996) 2024-09-23 15:10:57 -07:00
Scripts Use azcopy to access azure blob with FWI (#8160) 2024-04-26 15:53:30 +08:00
.gitignore Initial check in for Azure SDK AI Bots (#7882) 2024-03-15 15:31:29 +08:00
README.md Added instructions of how to use the AI bot (#7969) 2024-03-28 16:01:35 +08:00

README.md

Overview

This folder contains a collection of tools that utilize AI techniques.

AzureSdkQaBot

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:

  • 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-dev with your questions.

Note: Select the name when typing @, copying of the @AzureSDKAssistant-dev text to the question would not work.

Embeddings

It is a tool written in Python that uses langchain library to create embeddings in Azure Search Service.

Scripts

This folder contains some scripts to build embeddings by calling the Embeddings tool.

How to Refresh the Document Embeddings Used by Teams Bot

We have an Azure DevOps pipeline which can help create or refresh the embeddings.

  1. 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.
  2. The user can select specific stages when running the pipeline. By default, all three stages are included.

  3. The pipeline has an option to refresh the embeddings incrementally. By default, Incremental Embedding Build is selected when the pipeline is triggered. If the user wants to create embeddings from scratch, they should unselect this option when triggering the pipeline.

How to Add a New Document to the Customized Document List

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.