diff --git a/README.md b/README.md index 17f032f70..f959fb18e 100644 --- a/README.md +++ b/README.md @@ -24,17 +24,14 @@ urlFragment: chat-with-your-data-solution-accelerator # Chat with your data - Solution accelerator - + ##### Table of Contents * [User story](#user-story) + [About this repo](#about-this-repo) + [When should you use this repo](#when-should-you-use-this-repo) + [Key features](#key-features) - + [Supported file types](#supported-file-types) + [Target end users](#target-end-users) + [Industry scenario](#industry-scenario) - + [Speech-to-text functionality](#speech-to-text-functionality) - + [Teams extension](#teams-extension) * [Deploy](#deploy) + [Pre-requisites](#pre-requisites) + [Products used](#products-used) @@ -51,11 +48,11 @@ urlFragment: chat-with-your-data-solution-accelerator * [Disclaimers](#disclaimers) \ \ -![User Story](/media/userStory.png) +![User Story](/docs/images/userStory.png) ## User story -Welcome to the *Chat with your data* Solution accelerator repository! The *Chat with your data* Solution accelerator is a powerful tool that combines the capabilities of Azure AI Search and Large Language Models (LLMs) to create a conversational search experience. This solution accelerator uses an Azure OpenAI GPT model and an Azure AI Search index generated from your data, which is integrated into a web application to provide a natural language interface, including speech-to-text functionality, for search queries. Users can drag and drop files, point to storage, and take care of technical setup to transform documents. There is a web app that users can create in their own subscription with security and authentication. +Welcome to the *Chat with your data* Solution accelerator repository! The *Chat with your data* Solution accelerator is a powerful tool that combines the capabilities of Azure AI Search and Large Language Models (LLMs) to create a conversational search experience. This solution accelerator uses an Azure OpenAI GPT model and an Azure AI Search index generated from your data, which is integrated into a web application to provide a natural language interface, including [speech-to-text](docs/speech_to_text.md) functionality, for search queries. Users can drag and drop files, point to storage, and take care of technical setup to transform documents. Everything can be deployed in your own subscription to accelerate your use of this technology. -![Solution Architecture - Chat with your data](/media/cwyd-solution-architecture.png) +![Solution Architecture - Chat with your data](/docs/images/cwyd-solution-architecture.png) ### About this repo @@ -77,6 +74,7 @@ The accelerator presented here provides several options, for example: * A backend that mimics the [On Your Data](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/use-your-data) flow, with the ability to switch to a custom backend * Advanced prompt engineering capabilities * An admin site for ingesting/inspecting/configuring your dataset on the fly +* Push or Pull model for data ingestion: See [integrated vectorization](./docs/integrated_vectorization.md) documentation for more details * Running a Retrieval Augmented Generation (RAG) solution locally *Have you seen [ChatGPT + Enterprise data with Azure OpenAI and AI Search demo](https://github.com/Azure-Samples/azure-search-openai-demo)? If you would like to experiment: Play with prompts, understanding RAG pattern different implementation approaches, see how different features interact with the RAG pattern and choose the best options for your RAG deployments, take a look at that repo. @@ -94,25 +92,14 @@ Here is a comparison table with a few features offered by Azure, an available Gi ### Key features - **Private LLM access on your data**: Get all the benefits of ChatGPT on your private, unstructured data. -- **Single application access to your full data set**: Minimize endpoints required to access internal company knowledgebases -- **Natural language interaction with your unstructured data**: Use natural language to quickly find the answers you need and ask follow-up queries to get the supplemental details. +- **Single application access to your full data set**: Minimize endpoints required to access internal company knowledgebases. Reuse the same backend with the [Microsoft Teams Extension](docs/teams_extension.md) +- **Natural language interaction with your unstructured data**: Use natural language to quickly find the answers you need and ask follow-up queries to get the supplemental details, including [Speech-to-text](docs/speech_to_text.md). - **Easy access to source documentation when querying**: Review referenced documents in the same chat window for additional context. -- **Data upload**: Batch upload documents +- **Data upload**: Batch upload documents of [various file types](docs/supported_file_types.md) - **Accessible orchestration**: Prompt and document configuration (prompt engineering, document processing, and data retrieval) -**Note**: The current model allows users to ask questions about unstructured data, such as PDF, text, and docx files. - -### Supported file types -Out-of-the-box, you can upload the following file types: -* PDF -* JPEG -* JPG -* PNG -* TXT -* HTML -* MD (Markdown) -* DOCX +**Note**: The current model allows users to ask questions about unstructured data, such as PDF, text, and docx files. See the [supported file types](docs/supported_file_types.md). ### Target end users Company personnel (employees, executives) looking to research against internal unstructured company data would leverage this accelerator using natural language to find what they need quickly. @@ -130,25 +117,7 @@ Now that the financial advisor is more informed about Woodgrove’s Emerging Mar Note: Some of the sample data included with this accelerator was generated using AI and is for illustrative purposes only. -### Integrated Vectorization -The Chat with your data accelerator supports [Integrated Vectorization](https://learn.microsoft.com/en-us/azure/search/vector-search-integrated-vectorization), an Azure AI Search feature that pulls, processes and indexes data directly from Azure Storage. This greatly simplifies the code that needs to be maintained by developers deploying the accelerator since the chunking, vectorization and indexing of data is handled by Azure AI's built-in pull-indexers. Learn more about deploying with Integrated Vectorization [here](./docs/INTEGRATED_VECTORIZATION.md). - -### Speech-to-text functionality -Many users are used to the convenience of speech-to-text functionality in their consumer products. With hybrid work increasing, speech-to-text supports a more flexible way for users to chat with their data, whether they’re at their computer or on the go with their mobile device. The speech-to-text capability is combined with NLP capabilities to extract intent and context from spoken language, allowing the chatbot to understand and respond to user requests more intelligently. - -![Web - Chat with unstructured data](/media/web-unstructureddata.png)Chat with your unstructured data - -![Web - Get responses using natural language](/media/web-nlu.png)Get responses using natural language - -### [Teams extension](./docs/TEAMS_EXTENSION.md) -By bringing the Chat with your data experience into Teams, users can stay within their current workflow and get the answers they need without switching platforms. Rather than building the Chat with your data accelerator within Teams from scratch, the same underlying backend used for the web application is leveraged within Teams. - -Learn more about deploying the Teams extension [here](./docs/TEAMS_EXTENSION.md). - -![Teams - Chat with your Data](/media/teams-cwyd.png) -\ -\ -![One-click Deploy](/media/oneClickDeploy.png) +![One-click Deploy](/docs/images/oneClickDeploy.png) ## Deploy ### Pre-requisites - Azure subscription - [Create one for free](https://azure.microsoft.com/free/) with owner access. @@ -202,7 +171,7 @@ switch to a lower version. To find out which versions are supported in different Where `{RESOURCE_TOKEN}` is uniquely generated during deployment. This is a combination of your subscription and the name of the resource group. Then select **Ingest Data** and add your data. You can find sample data in the `/data` directory. - ![A screenshot of the admin site.](./media/admin-site.png) + ![A screenshot of the admin site.](./docs/images/admin-site.png) 2. Navigate to the web app to start chatting on top of your data. The web app can be found at: @@ -210,11 +179,11 @@ switch to a lower version. To find out which versions are supported in different `https://web-{RESOURCE_TOKEN}.azurewebsites.net/` - ![A screenshot of the chat app.](./media/web-unstructureddata.png) + ![A screenshot of the chat app.](./docs/images/web-unstructureddata.png) \ \ -![Supporting documentation](/media/supportingDocuments.png) +![Supporting documentation](/docs/images/supportingDocuments.png) ## Supporting documentation ### Resource links @@ -235,8 +204,7 @@ This solution accelerator deploys the following resources. It's critical to comp This repository is licensed under the [MIT License](LICENSE.md). The data set under the /data folder is licensed under the [CDLA-Permissive-2 License](CDLA-Permissive-2.md). -\ -\ + ## Disclaimers This Software requires the use of third-party components which are governed by separate proprietary or open-source licenses as identified below, and you must comply with the terms of each applicable license in order to use the Software. You acknowledge and agree that this license does not grant you a license or other right to use any such third-party proprietary or open-source components. diff --git a/docs/TEAMS_LOCAL_DEPLOYMENT.md b/docs/TEAMS_LOCAL_DEPLOYMENT.md index fdd1c5541..715186e56 100644 --- a/docs/TEAMS_LOCAL_DEPLOYMENT.md +++ b/docs/TEAMS_LOCAL_DEPLOYMENT.md @@ -24,7 +24,7 @@ Or use the [Azure Functions VS Code extension](https://marketplace.visualstudio. ### Develop & run the Teams Frontend 1. Open the “extensions/teams” folder with Visual Studio Code -![Teams](/media/teams.png) +![Teams](images/teams.png) 2. Open the file env\\.env.local 3. Locate the environment variable _AZURE_FUNCTION_URL_. @@ -33,14 +33,14 @@ Or use the [Azure Functions VS Code extension](https://marketplace.visualstudio. ```env AZURE_FUNCTION_URL=http://localhost:7071/api/GetConversationResponse ``` - ![Env](/media/teams-local-3.png) + ![Env](images/teams-local-3.png) 5. Save the file. 6. Select Teams Toolkit from the navigation panel. 7. Verify your signed into O365 and Azure with sideloading enabled. 8. Select the "play" button next to Local. -![Teams Toolkit](/media/teams-local-2.png) +![Teams Toolkit](images/teams-local-2.png) ## Environment variables diff --git a/docs/best_practices.md b/docs/best_practices.md index fe0629abb..5107ece7c 100644 --- a/docs/best_practices.md +++ b/docs/best_practices.md @@ -1,6 +1,6 @@ [Back to *Chat with your data* README](../README.md) -![Supporting documentation](../media/supportingDocuments.png) +![Supporting documentation](images/supportingDocuments.png) # Best practices **Evaluate your data first** diff --git a/docs/customer_truth.md b/docs/customer_truth.md index 69746326c..348c2c9a9 100644 --- a/docs/customer_truth.md +++ b/docs/customer_truth.md @@ -1,5 +1,5 @@ [Back to *Chat with your data* README](../README.md) -![Customer truth](../media/customerTruth.png) +![Customer truth](images/customerTruth.png) # Customer truth Customer stories coming soon. For early access, contact: fabrizio.ruocco@microsoft.com diff --git a/media/admin-ingest.png b/docs/images/admin-ingest.png similarity index 100% rename from media/admin-ingest.png rename to docs/images/admin-ingest.png diff --git a/media/admin-site.png b/docs/images/admin-site.png similarity index 100% rename from media/admin-site.png rename to docs/images/admin-site.png diff --git a/media/architecture.png b/docs/images/architecture.png similarity index 100% rename from media/architecture.png rename to docs/images/architecture.png diff --git a/media/azure-search-use-iv.png b/docs/images/azure-search-use-iv.png similarity index 100% rename from media/azure-search-use-iv.png rename to docs/images/azure-search-use-iv.png diff --git a/media/chat-app.png b/docs/images/chat-app.png similarity index 100% rename from media/chat-app.png rename to docs/images/chat-app.png diff --git a/media/customerTruth.png b/docs/images/customerTruth.png similarity index 100% rename from media/customerTruth.png rename to docs/images/customerTruth.png diff --git a/media/cwyd-solution-architecture.png b/docs/images/cwyd-solution-architecture.png similarity index 100% rename from media/cwyd-solution-architecture.png rename to docs/images/cwyd-solution-architecture.png diff --git a/media/delete-search-datasource.png b/docs/images/delete-search-datasource.png similarity index 100% rename from media/delete-search-datasource.png rename to docs/images/delete-search-datasource.png diff --git a/media/delete-search-index.png b/docs/images/delete-search-index.png similarity index 100% rename from media/delete-search-index.png rename to docs/images/delete-search-index.png diff --git a/media/delete-search-indexer.png b/docs/images/delete-search-indexer.png similarity index 100% rename from media/delete-search-indexer.png rename to docs/images/delete-search-indexer.png diff --git a/media/delete-search-skillset.png b/docs/images/delete-search-skillset.png similarity index 100% rename from media/delete-search-skillset.png rename to docs/images/delete-search-skillset.png diff --git a/media/oneClickDeploy.png b/docs/images/oneClickDeploy.png similarity index 100% rename from media/oneClickDeploy.png rename to docs/images/oneClickDeploy.png diff --git a/media/supportingDocuments.png b/docs/images/supportingDocuments.png similarity index 100% rename from media/supportingDocuments.png rename to docs/images/supportingDocuments.png diff --git a/media/teams-1.png b/docs/images/teams-1.png similarity index 100% rename from media/teams-1.png rename to docs/images/teams-1.png diff --git a/media/teams-10.png b/docs/images/teams-10.png similarity index 100% rename from media/teams-10.png rename to docs/images/teams-10.png diff --git a/media/teams-11.png b/docs/images/teams-11.png similarity index 100% rename from media/teams-11.png rename to docs/images/teams-11.png diff --git a/media/teams-12.png b/docs/images/teams-12.png similarity index 100% rename from media/teams-12.png rename to docs/images/teams-12.png diff --git a/media/teams-13.png b/docs/images/teams-13.png similarity index 100% rename from media/teams-13.png rename to docs/images/teams-13.png diff --git a/media/teams-14.png b/docs/images/teams-14.png similarity index 100% rename from media/teams-14.png rename to docs/images/teams-14.png diff --git a/media/teams-15.png b/docs/images/teams-15.png similarity index 100% rename from media/teams-15.png rename to docs/images/teams-15.png diff --git a/media/teams-16.png b/docs/images/teams-16.png similarity index 100% rename from media/teams-16.png rename to docs/images/teams-16.png diff --git a/media/teams-17.png b/docs/images/teams-17.png similarity index 100% rename from media/teams-17.png rename to docs/images/teams-17.png diff --git a/media/teams-18.png b/docs/images/teams-18.png similarity index 100% rename from media/teams-18.png rename to docs/images/teams-18.png diff --git a/media/teams-19.png b/docs/images/teams-19.png similarity index 100% rename from media/teams-19.png rename to docs/images/teams-19.png diff --git a/media/teams-2.png b/docs/images/teams-2.png similarity index 100% rename from media/teams-2.png rename to docs/images/teams-2.png diff --git a/media/teams-20.png b/docs/images/teams-20.png similarity index 100% rename from media/teams-20.png rename to docs/images/teams-20.png diff --git a/media/teams-21.png b/docs/images/teams-21.png similarity index 100% rename from media/teams-21.png rename to docs/images/teams-21.png diff --git a/media/teams-22.png b/docs/images/teams-22.png similarity index 100% rename from media/teams-22.png rename to docs/images/teams-22.png diff --git a/media/teams-3.png b/docs/images/teams-3.png similarity index 100% rename from media/teams-3.png rename to docs/images/teams-3.png diff --git a/media/teams-4.png b/docs/images/teams-4.png similarity index 100% rename from media/teams-4.png rename to docs/images/teams-4.png diff --git a/media/teams-5.png b/docs/images/teams-5.png similarity index 100% rename from media/teams-5.png rename to docs/images/teams-5.png diff --git a/media/teams-6.png b/docs/images/teams-6.png similarity index 100% rename from media/teams-6.png rename to docs/images/teams-6.png diff --git a/media/teams-7.png b/docs/images/teams-7.png similarity index 100% rename from media/teams-7.png rename to docs/images/teams-7.png diff --git a/media/teams-8.png b/docs/images/teams-8.png similarity index 100% rename from media/teams-8.png rename to docs/images/teams-8.png diff --git a/media/teams-9.png b/docs/images/teams-9.png similarity index 100% rename from media/teams-9.png rename to docs/images/teams-9.png diff --git a/media/teams-cwyd.png b/docs/images/teams-cwyd.png similarity index 100% rename from media/teams-cwyd.png rename to docs/images/teams-cwyd.png diff --git a/media/teams-deploy-env.png b/docs/images/teams-deploy-env.png similarity index 100% rename from media/teams-deploy-env.png rename to docs/images/teams-deploy-env.png diff --git a/media/teams-local-1.png b/docs/images/teams-local-1.png similarity index 100% rename from media/teams-local-1.png rename to docs/images/teams-local-1.png diff --git a/media/teams-local-2.png b/docs/images/teams-local-2.png similarity index 100% rename from media/teams-local-2.png rename to docs/images/teams-local-2.png diff --git a/media/teams-local-3.png b/docs/images/teams-local-3.png similarity index 100% rename from media/teams-local-3.png rename to docs/images/teams-local-3.png diff --git a/media/teams-ux-1.png b/docs/images/teams-ux-1.png similarity index 100% rename from media/teams-ux-1.png rename to docs/images/teams-ux-1.png diff --git a/media/teams-ux-2.png b/docs/images/teams-ux-2.png similarity index 100% rename from media/teams-ux-2.png rename to docs/images/teams-ux-2.png diff --git a/media/teams-ux-3.png b/docs/images/teams-ux-3.png similarity index 100% rename from media/teams-ux-3.png rename to docs/images/teams-ux-3.png diff --git a/media/teams.png b/docs/images/teams.png similarity index 100% rename from media/teams.png rename to docs/images/teams.png diff --git a/media/userStory.png b/docs/images/userStory.png similarity index 100% rename from media/userStory.png rename to docs/images/userStory.png diff --git a/media/web-app-authentication.png b/docs/images/web-app-authentication.png similarity index 100% rename from media/web-app-authentication.png rename to docs/images/web-app-authentication.png diff --git a/media/web-nlu.png b/docs/images/web-nlu.png similarity index 100% rename from media/web-nlu.png rename to docs/images/web-nlu.png diff --git a/media/web-speech-to-text.png b/docs/images/web-speech-to-text.png similarity index 100% rename from media/web-speech-to-text.png rename to docs/images/web-speech-to-text.png diff --git a/media/web-unstructureddata.png b/docs/images/web-unstructureddata.png similarity index 100% rename from media/web-unstructureddata.png rename to docs/images/web-unstructureddata.png diff --git a/docs/INTEGRATED_VECTORIZATION.md b/docs/integrated_vectorization.md similarity index 89% rename from docs/INTEGRATED_VECTORIZATION.md rename to docs/integrated_vectorization.md index fbd95a754..eba6cd709 100644 --- a/docs/INTEGRATED_VECTORIZATION.md +++ b/docs/integrated_vectorization.md @@ -4,7 +4,7 @@ [**USER STORY**](#user-story) | [**DEPLOYMENT INSTRUCTIONS**](#local-deployment-instructions) \ \ -![User Story](/media/userStory.png) +![User Story](images/userStory.png) ## User Story This feature allows chunking and vectorization of data during ingestion into Azure AI Search through built-in pull-indexers. It supports automatic processing of data directly from storage - meaning the user can just upload their data to Azure Blob Storage and the built-in pull-indexers will do the chunking, vectorization and indexing. This removes the need for Chat With Your Data to explicitly perform chunking, vectorization and pushing to the search index. Read [more](https://learn.microsoft.com/en-us/azure/search/vector-search-integrated-vectorization). @@ -15,7 +15,7 @@ This feature allows chunking and vectorization of data during ingestion into Azu ## Using the Deploy to Azure button When you click the "Deploy to Azure" button on the repo's main page, you will be taken to the Azure portal, where you can select "true" for the option "Azure Search Use Integrated Vectorization". -![Integrated Vectorization](/media/azure-search-use-iv.png) +![Integrated Vectorization](images/azure-search-use-iv.png) ## Local Deployment - If deploying for the first time @@ -30,7 +30,7 @@ If you have previously deployed Chat With Your Data without Integrated Vectoriza 1. On your Azure portal, navigate to the resource group which has your Chat With Your Data deployment. 1. Delete the existing search index. -![Delete Search Index](/media/delete-search-index.png) +![Delete Search Index](images/delete-search-index.png) 1. Run the command `azd env set AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION true` 1. Run `azd up` @@ -40,12 +40,12 @@ If you have a deployment with Integrated Vectorization enabled, and you want to 1. On your Azure portal, navigate to the resource group which has your Chat With Your Data deployment. 1. Delete the existing search index. -![Delete Search Index](/media/delete-search-index.png) +![Delete Search Index](images/delete-search-index.png) 1. Delete the existing indexer. -![Delete Search Index](/media/delete-search-indexer.png) +![Delete Search Index](images/delete-search-indexer.png) 1. Delete the existing skillset. -![Delete Search Index](/media/delete-search-skillset.png) +![Delete Search Index](images/delete-search-skillset.png) 1. Delete the existing datasource. -![Delete Search Index](/media/delete-search-datasource.png) +![Delete Search Index](images/delete-search-datasource.png) 1. Run the command `azd env set AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION false` 1. Run `azd up` diff --git a/docs/speech_to_text.md b/docs/speech_to_text.md new file mode 100644 index 000000000..55d5d3920 --- /dev/null +++ b/docs/speech_to_text.md @@ -0,0 +1,9 @@ +[Back to *Chat with your data* README](../README.md) + +![User Story](images/userStory.png) +# Speech-to-text functionality +Many users are used to the convenience of speech-to-text functionality in their consumer products. With hybrid work increasing, speech-to-text supports a more flexible way for users to chat with their data, whether they’re at their computer or on the go with their mobile device. The speech-to-text capability is combined with NLP capabilities to extract intent and context from spoken language, allowing the chatbot to understand and respond to user requests more intelligently. + +![Web - Chat with unstructured data](images/web-unstructureddata.png)Chat with your unstructured data + +![Web - Get responses using natural language](images/web-nlu.png)Get responses using natural language diff --git a/docs/supported_file_types.md b/docs/supported_file_types.md new file mode 100644 index 000000000..52f9ac33b --- /dev/null +++ b/docs/supported_file_types.md @@ -0,0 +1,14 @@ +[Back to *Chat with your data* README](../README.md) + +![User Story](images/userStory.png) +# Supported file types + +Out-of-the-box, you can upload the following file types: +* PDF +* JPEG +* JPG +* PNG +* TXT +* HTML +* MD (Markdown) +* DOCX diff --git a/docs/TEAMS_EXTENSION.md b/docs/teams_extension.md similarity index 75% rename from docs/TEAMS_EXTENSION.md rename to docs/teams_extension.md index 91e38a76e..9eca2938d 100644 --- a/docs/TEAMS_EXTENSION.md +++ b/docs/teams_extension.md @@ -4,10 +4,12 @@ [**USER STORY**](#user-story) | [**TEAMS DEPLOY**](#deployment-to-teams) | [**SUPPORTING DOCUMENTATION**](#supporting-documentation) \ \ -![User Story](/media/userStory.png) +![User Story](images/userStory.png) ## User story This extension enables users to experience Chat with your data within Teams, without having to switch platforms. It allows them to stay within their existing workflow and get the answers they need. Instead of building the Chat with your data solution accelerator from scratch within Teams, the same underlying backend used for the web application is leveraged within Teams. +![Teams - Chat with your Data](images/teams-cwyd.png) + ## Deployment to Teams **IMPORTANT**: Before you proceed, installation and configuration of the [Chat with your data with speech-to-text deployment](../README.md) is required. @@ -24,11 +26,11 @@ This extension enables users to experience Chat with your data within Teams, wit 1. Clone this GitHub repo. 2. Open the “extensions/teams” folder with Visual Studio Code -![Teams](/media/teams.png) +![Teams](images/teams.png) 3. Open the file env\\.env.test -![ENV](/media/teams-1.png) +![ENV](images/teams-1.png) 4. Locate the environment variable _AZURE_FUNCTION_URL_. 5. Replace the `` and `` with the name of your Function App resource and its clientKey (created in previous section) @@ -36,11 +38,11 @@ This extension enables users to experience Chat with your data within Teams, wit AZURE_FUNCTION_URL=https://backend-.azurewebsites.net/api/GetConversationResponse?code=&clientId=clientKey ``` - ![Env](/media/teams-deploy-env.png) + ![Env](images/teams-deploy-env.png) 6. Save the file. 7. Select Teams Toolkit from the navigation panel. -![Teams Toolkit in VS Code](/media/teams-2.png) +![Teams Toolkit in VS Code](images/teams-2.png) 8. Within the Teams Toolkit panel, login to the following accounts: @@ -48,98 +50,98 @@ This extension enables users to experience Chat with your data within Teams, wit **Sign in to Azure**: Use your Azure account for deploying your app on Azure. You can [create a free Azure account](https://azure.microsoft.com/free/) before you start. -![Teams Toolkit Accounts](/media/teams-3.png) +![Teams Toolkit Accounts](images/teams-3.png) 9. Under **Environment**, select **test**. -![Teams Toolkit Environment](/media/teams-4.png) +![Teams Toolkit Environment](images/teams-4.png) 10. Under **Lifecycle**, select **Provision**. -![Teams Toolkit Lifecycle Provision](/media/teams-5.png) +![Teams Toolkit Lifecycle Provision](images/teams-5.png) 11. Within the command palette, select **test** for the environment. -![Select an Environment](/media/teams-6.png) +![Select an Environment](images/teams-6.png) 12. Select the resource group created earlier in the installation -![Select a Resource Group](/media/teams-7.png) +![Select a Resource Group](images/teams-7.png) 13. When prompted about Azure charges, select **Provision**. -![Azure Charges Prompt](/media/teams-8.png) +![Azure Charges Prompt](images/teams-8.png) 14. Verify that the provisioning was successful. -![Provision Successful](/media/teams-9.png) +![Provision Successful](images/teams-9.png) 15. Under **Lifecycle**, select **Deploy**. -![Teams Toolkit Lifecycle Deploy](/media/teams-10.png) +![Teams Toolkit Lifecycle Deploy](images/teams-10.png) 16. Within the command palette, select **test** for the environment. -![Select an Environment](/media/teams-6.png) +![Select an Environment](images/teams-6.png) 17. When prompted, select **Deploy**. -![VS Code Prompt to Deploy](/media/teams-11.png) +![VS Code Prompt to Deploy](images/teams-11.png) 18. Verify that the Deployment was successful. -![Deployment successful](/media/teams-12.png) +![Deployment successful](images/teams-12.png) 19. Under **Lifecycle**, select **Publish**. -![Teams Toolkit Lifecycle Publish](/media/teams-13.png) +![Teams Toolkit Lifecycle Publish](images/teams-13.png) 20. Within the command palette, select **test** for the environment. -![Select an Environment](/media/teams-6.png) +![Select an Environment](images/teams-6.png) 21. Verify that the Publish was successful. -![Publishing successful](/media/teams-14.png) +![Publishing successful](images/teams-14.png) 22. Select **Go to admin portal**. -![Go to Admin Portal](/media/teams-15.png) +![Go to Admin Portal](images/teams-15.png) 23. On the Manage apps page within the Teams Admin portal, you should see one submitted custom app pending approval. -![Pending Approval](/media/teams-16.png) +![Pending Approval](images/teams-16.png) 24. In the search by name input box, enter: **enterprise chat** -![Filtered app](/media/teams-17.png) +![Filtered app](images/teams-17.png) 25. Select the app and then select **Allow**. -![Selected app](/media/teams-18.png) +![Selected app](images/teams-18.png) 26. Select the app name. -![Select app name](/media/teams-19.png) +![Select app name](images/teams-19.png) 27. Select **Publish**. -![Publish app](/media/teams-20.png) +![Publish app](images/teams-20.png) 28. When prompted, select **Publish**. -![Prompt to publish](/media/teams-21.png) +![Prompt to publish](images/teams-21.png) 29. Depending on your environment, it may take several hours to publish. -![Teams Publish Success](/media/teams-22.png) +![Teams Publish Success](images/teams-22.png) -### [Local deployment instructions](./TEAMS_LOCAL_DEPLOYMENT.md) -To customize the accelerator or run it locally, first, copy the .env.sample file to your development environment's .env file, and edit it according to environment variable values table. Learn more about deploying locally [here](./TEAMS_LOCAL_DEPLOYMENT.md). +### [Local deployment instructions](TEAMS_LOCAL_DEPLOYMENT.md) +To customize the accelerator or run it locally, first, copy the .env.sample file to your development environment's .env file, and edit it according to environment variable values table. Learn more about deploying locally [here](TEAMS_LOCAL_DEPLOYMENT.md). \ \ -![Supporting documentation](/media/supportingDocuments.png) +![Supporting documentation](images/supportingDocuments.png) ## Supporting documentation ### Resource links for Teams extension diff --git a/docs/web-apps.md b/docs/web-apps.md index f1e791f82..69451f6e8 100644 --- a/docs/web-apps.md +++ b/docs/web-apps.md @@ -1,16 +1,16 @@ -# Using the web apps in the "Chat with your data" solution accelerator +# Using the web apps in the "Chat with your data" solution accelerator ## Chat app This solution accelerator provides a web app used for chatting with the LLM using the data you ingest with the [Admin site](#admin-site). This app has a simple interface that enables you and your users to enter prompts and receive responses. -![A screenshot of the chat app.](../media/chat-app.png) +![A screenshot of the chat app.](images/chat-app.png) ## Admin site -This solution accelerator provides an "admin" site that enables you to upload, ingest, and explore your data, along with accessing prompt configuration settings. +This solution accelerator provides an "admin" site that enables you to upload, ingest, and explore your data, along with accessing prompt configuration settings. -![A screenshot of the admin site.](../media/admin-site.png) +![A screenshot of the admin site.](images/admin-site.png) ### Ingesting data @@ -36,11 +36,11 @@ TBD By default, the web apps have no authentication and can be accessed through the internet by anyone with the apps' URLs. To add authentication (for example, restrict access to the app to members of your Azure tenant): -1. Go to the [Azure portal](https://portal.azure.com/#home) and search for the app name you specified during publishing. Select the web app, and go to the **Authentication** tab on the left navigation menu. Then select **Add an identity provider**. +1. Go to the [Azure portal](https://portal.azure.com/#home) and search for the app name you specified during publishing. Select the web app, and go to the **Authentication** tab on the left navigation menu. Then select **Add an identity provider**. - - ![A screenshot of the chat app.](../media/web-app-authentication.png) + + ![A screenshot of the chat app.](images/web-app-authentication.png) 1. Select Microsoft as the identity provider. The default settings on this page will restrict the app to your tenant only, so you don't need to change anything else here. Then select **Add**. - + Now users will be asked to sign in with their Azure Active Directory account to be able to access your app. You can follow a similar process to add another identity provider if you prefer. The app doesn't use the user's login information in any other way other than verifying they are a member of your tenant.