Intelligent Incident Resolution with AI Assistance
The purpose of this project is to develop a cost-effective, AI-powered MS-Teams integrated assistant to enhance the IT Support activities of the organisation.
The business outcome is to:
- Reduce ticket resolution times
- Empower L1 support to handle more incidents independently
- Improve overall service quality
The solution should be easy-to-use, secure, and use Azure cloud services.
Here is a working live demo : [COMING SOON]
The following architecture building blocks are in scope of this project
- Set of RESTful APIs:
- Take a new incident and return probable resolutions based on semantic similarity with historical incidents (semantic reranking)
- Return past tickets with high similarity to the given incident using vector-based search
- Natural language interface for agents to query past issues or resolutions
- Web-based UI chatbot or MS Teams-integrated agent
- Interactive exploration of historical data or common solutions using natural language queries
- Optional advanced functionality such as root cause pattern detection and proactive alerting based on cluster analysis of historical ticket trends.
The Architecture Vision Document is available here test
- Azure Open AI deployment
- Azure AI Search resource
Easily set up a local development environment. (In progress. you need to set up a separate environment for each app.)
- Clone the repo
git clone git@github.com:aa3281/alpaka-itsm-ai-system.git
- Install the NPM packages
npm install
- Update the following values in apps > ms-teams-agent > alpaka-teams-bot > env > .env.playground.user file.
SECRET_AZURE_OPENAI_API_KEY=<your-key> AZURE_OPENAI_ENDPOINT=<your-endpoint> AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>
- Install the NPM packaes
- Update the following values in apps > ai-search-indexer > sample.env
Then rename sample.env to just .env
SEARCH_API_KEY= SEARCH_API_ENDPOINT=https://[UPDATE-THIS].search.windows.net
- run
node index.js
- Javascript
- Bicep
- Create MS Teams Integrated bot scaffolding
- Ensure bot responds to parametric data
- Create indexer and upload custom data embeddings to vector database
- Implement vector-based search
- Implement semantic reranking
- Implement prompt augmentation and response generation
Contributions are what make the open source community such an amazing place to learn, inspire, and create. All contributions are welcome!
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork it
- Create your feature branch (
git checkout -b feat/amazingFeature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feat/amazingFeature
) - Create a new Pull Request
- https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/tool-sdk-overview
- https://www.3cs.ch/on_the_architecture_of_it-service_management_tools
- https://www.trisotech.com/panorama-360/
- https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview?tabs=docss
- https://learn.microsoft.com/en-us/azure/search/search-get-started-rag
- https://learn.microsoft.com/en-us/azure/search/search-get-started-portal-import-vectors?tabs=sample-data-storage%2Cmodel-aoai%2Cconnect-data-storage
- https://learn.microsoft.com/en-us/rest/api/searchservice/
- https://learn.microsoft.com/en-us/azure/search/tutorial-rag-build-solution-maximize-relevance
- https://learn.microsoft.com/en-us/azure/search/semantic-search-overview
- https://medium.com/data-science/retrieval-augmented-generation-rag-from-theory-to-langchain-implementation-4e9bd5f6a4f2
- https://towardsdatascience.com/getting-started-with-langchain-a-beginners-guide-to-building-llm-powered-applications-95fc8898732c/?source=post_page-----4e9bd5f6a4f2---------------------------------------