LightBot: Your Enlightened Assistant. This example showcases how the LightBot understands user intent, accurately interpreting commands to effortlessly control light bot.
Explore how the LightBot understands, allowing precise control over turning lights on and off, while demonstrating the power and potential of the Language Model in understanding and executing user intent accurately mapped with app actions.
This sample shows how to incorporate basic conversational flow into a Teams application. It also illustrates a few of the Teams specific calls you can make from your bot.
You can tell the bot to do actions like turning lights on, off, or dimming them. You can also ask about the status of the lights.
-
Clone the repository
```bash git clone https://github.com/Microsoft/teams-ai.git ```
[!IMPORTANT] To prevent issues when installing dependencies after cloning the repo, copy or move the sample directory to it's own location first. If you opened this sample from the Sample Gallery in Teams Toolkit, you can skip to step 3.
-
If you do not have
yarn
installed, and want to run local bits, install it globallynpm install -g yarn@1.21.1
-
In the root JavaScript folder, install and build all dependencies
cd teams-ai/js # This will use the latest changes from teams-ai in the sample. yarn install #only needs to be run once, after clone or remote pull yarn build # To run using latest published version of teams-ai, do the following instead: cd teams-ai/js/samples/<this-sample-folder> npm install --workspaces=false npm run build
-
In a terminal, navigate to the sample root.
cd samples/<this-sample-folder>/ yarn start # If running the sample on published version of teams-ai npm start
-
Update any prompt
config.json
and/src/index.ts
with your model deployment name. -
If developing without Teams Toolkit, add your OpenAI or Azure OpenAI key to the
OPENAI_KEY
orAZURE_OPENAI_KEY
andAZURE_OPENAI_ENDPOINT
variable(s) in.env
file, which you can copy fromsample.env
. If using TTK, continue following the directions below.
The easiest and fastest way to get up and running is with Teams Toolkit as your development guide.
Otherwise, if want to learn about the other ways to test a sample, use Teams Toolkit or Teams Toolkit CLI, and more, please see our documentation on different ways to run samples.
To use Teams Toolkit, continue following the directions below.
- Add your OpenAI key to the
SECRET_OPENAI_KEY
variable in the./env/.env.local.user
file.
If you are using Azure OpenAI then follow these steps:
- Comment the
SECRET_OPENAI_KEY
variable in the./env/.env.local.user
file. - Add your Azure OpenAI key and endpoint values to the
SECRET_AZURE_OPENAI_KEY
andSECRET_AZURE_OPENAI_ENDPOINT
variables - Open the
teamsapp.local.yml
file and modify the last step to use Azure OpenAI variables instead:
- uses: file/createOrUpdateEnvironmentFile
with:
target: ./.env
envs:
BOT_ID: ${{BOT_ID}}
BOT_PASSWORD: ${{SECRET_BOT_PASSWORD}}
#OPENAI_KEY: ${{SECRET_OPENAI_KEY}}
AZURE_OPENAI_KEY: ${{SECRET_AZURE_OPENAI_KEY}}
AZURE_OPENAI_ENDPOINT: ${{SECRET_AZURE_OPENAI_ENDPOINT}}
- Open
./infra/azure.bicep
and comment out lines 72-75 and uncomment lines 76-83. - Open
./infra/azure.parameters.json
and replace lines 20-22 with:
"azureOpenAIKey": {
"value": "${{SECRET_AZURE_OPENAI_KEY}}"
},
"azureOpenAIEndpoint": {
"value": "${{SECRET_AZURE_OPENAI_ENDPOINT}}"
}
- Ensure you have downloaded and installed Visual Studio Code
- Install the Teams Toolkit extension
- Copy this sample into a new folder outside of teams-ai
- Select File > Open Folder in VS Code and choose this sample's directory
- Using the extension, sign in with your Microsoft 365 account where you have permissions to upload custom apps
- Verify that the Teams Toolkit extension is connected to your Teams account from the above step.
- Select Debug > Start Debugging or F5 to run the app in a Teams web client.
- In the browser that launches, select the Add button to install the app to Teams.
If you do not have permission to upload custom apps (sideloading), Teams Toolkit will recommend creating and using a Microsoft 365 Developer Program account - a free program to get your own dev environment sandbox that includes Teams.
If you are using Azure OpenAI then follow these steps:
- Comment the
SECRET_OPENAI_KEY
variable in the./env/.env.testtool
file. - Add your Azure OpenAI key and endpoint values to the
SECRET_AZURE_OPENAI_KEY
andSECRET_AZURE_OPENAI_ENDPOINT
variables - Open the
teamsapp.testtool.yml
file and modify the last step to use Azure OpenAI variables instead:
- uses: file/createOrUpdateEnvironmentFile
with:
target: ./.localConfigs.testTool
envs:
TEAMSFX_NOTIFICATION_STORE_FILENAME: ${{TEAMSFX_NOTIFICATION_STORE_FILENAME}}
# OPENAI_KEY: ${{SECRET_OPENAI_KEY}}
AZURE_OPENAI_KEY: ${{SECRET_AZURE_OPENAI_KEY}}
AZURE_OPENAI_ENDPOINT: ${{SECRET_AZURE_OPENAI_ENDPOINT}}
- Ensure you have downloaded and installed Visual Studio Code
- Install the Teams Toolkit extension
- Copy this sample into a new folder outside of teams-ai
- Select File > Open Folder in VS Code and choose this sample's directory
- From the left pane, select Run and Debug(Ctrl+Shift+D) and select Debug in Test Tool in dropdown list.
- Select Debug > Start Debugging or F5 to run the app.
- The browser will pop up to open Teams App Test Tool.