Share via

building a multipurpose open AI web app using Azure

Jalali, Hadi 40 Reputation points
2024-03-28T12:59:11.26+00:00

Hi, I ingested my data to a container in a blob storage in Azure, but each folder of data is related to a different purpose for the same web app. How can I have multiple indexes, indexers and data sources in Azure AI search and customize the chatbot so that it would ask the user what purpose they have and based on the purpose they answer, the Ai search would use a specific index/indexer/data source to get the answer to the question?

Any idea of how to do it and what azure tools I can use? would I need to change the source code of the app in the github repo of it?

Any help is appreciated! Thanks!

Azure AI Search
Azure AI Search

An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.

Azure OpenAI in Foundry Models
Foundry Tools
Foundry Tools

Formerly known as Azure AI Services or Azure Cognitive Services is a unified collection of prebuilt AI capabilities within the Microsoft Foundry platform


Answer accepted by question author

  1. Bryan Trach 17,842 Reputation points Microsoft Employee Moderator
    2024-03-30T00:12:49.68+00:00

    @Jalali, Hadi Yes, there are Azure tools that can help you with some of the steps. For example, you can use Azure Functions to trigger the indexers to pull data from your blob storage container and update the indexes. You can also use Azure Bot Service to create and deploy your chatbot.

    Regarding your main question, you can use Azure Bot Service to customize the chatbot to dynamically select the index based on the user query. You can create a bot that prompts the user to specify their intent and then uses the Azure Search REST API to query the appropriate index based on the user's response. You can also use the Bot Framework SDK to build a more complex chatbot that can handle natural language queries and provide more sophisticated responses.

    However, if you want to avoid changing the app code, you may need to use a third-party chatbot platform that integrates with Azure AI Search. Some popular options include Dialogflow, Botpress, and BotStar. These platforms provide pre-built integrations with Azure AI Search and allow you to customize the chatbot behavior without writing any code.

    Was this answer helpful?

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Sina Salam 28,606 Reputation points Volunteer Moderator
    2024-03-28T13:36:05.75+00:00

    Hello @Jalali, Hadi ,

    Welcome to the Microsoft Q&A and thank you for posting your questions here.

    Regarding your questions, I understand that you have ingested multiple sets of data into separate folders within a blob storage container in Azure, with each folder corresponding to a different purpose for the same web application. You want to implement a multipurpose AI-powered web application that utilizes Azure AI search to provide answers to user queries based on the purpose they specify. Specifically, you need to set up multiple indexes, indexers, and data sources in Azure AI search, and customize the chatbot to dynamically choose the appropriate index/indexer/data source based on the user's specified purpose. Additionally, you want to determine whether any changes to the source code of the application hosted on GitHub are necessary to achieve this functionality.

    To solve this problem is like embarking on a project, this page will not be enough to explain or teach all you will need to do. But I will advise to utilize Additional Resources by the right side of this page for training and more documentations. Also, follow these few steps:

    Set up Azure AI Search Indexes, Indexers, and Data Sources:

    • Log in to the Azure Portal (https://portal.azure.com).
    • Navigate to the Azure Cognitive Search service.
    • Create a separate index for each purpose of your web application.
    • Configure indexers for each index to pull data from the corresponding folder in your blob storage container.
    • Define data sources pointing to the appropriate blob storage folders for each purpose.

    Customize the Chatbot:

    • Determine the user's purpose by incorporating a question in the chatbot interface asking them to specify their intent.
    • Based on the user's response, dynamically select the corresponding Azure AI search index/indexer/data source.
    • Integrate Azure AI search queries within the chatbot's backend to fetch results from the selected index.
    • Ensure the chatbot interface is user-friendly and intuitive for specifying the purpose.

    Modify Application Code (if necessary):

    • Assess whether the current application code hosted on GitHub requires modifications to support dynamic selection of indexes based on user input.
    • If the existing codebase does not support this functionality, make necessary modifications to integrate with Azure AI search and dynamically switch between indexes.
    • Ensure the modifications maintain code integrity and adhere to best practices.

    The next after you've done the above is to test and deploy and the above are high level steps that can guide you.

    I hope this is helpful! Do not hesitate to let me know if you have any other questions.

    Please remember to "Accept Answer" if answer helped, so that others in the community facing similar issues can easily find the solution.

    Best Regards,

    Sina Salam

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.