From 1bbda72647d53fca5e7fc2d6c08e6de0eca5ee07 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Oct 2025 02:02:08 +0000 Subject: [PATCH 1/5] Initial plan From bdd42924b7db6a362ddb80902292b577168cbdcb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Oct 2025 02:15:12 +0000 Subject: [PATCH 2/5] Add patch files and instructions for PRs to cosmos-native branches Co-authored-by: markjbrown <800166+markjbrown@users.noreply.github.com> --- patches/README.md | 126 +++++++++ patches/cosmos-native-start.patch | 448 ++++++++++++++++++++++++++++++ patches/cosmos-native.patch | 448 ++++++++++++++++++++++++++++++ 3 files changed, 1022 insertions(+) create mode 100644 patches/README.md create mode 100644 patches/cosmos-native-start.patch create mode 100644 patches/cosmos-native.patch diff --git a/patches/README.md b/patches/README.md new file mode 100644 index 0000000..dc2f685 --- /dev/null +++ b/patches/README.md @@ -0,0 +1,126 @@ +# Instructions for Creating PRs to cosmos-native and cosmos-native-start Branches + +This directory contains patch files that apply the changes from PRs #81, #85, and #91 to the `cosmos-native` and `cosmos-native-start` branches. + +## What Changes Are Being Applied + +### PR #81: Add comprehensive unit tests as GitHub Actions +- Adds `.github/workflows/unit-tests.yml` - GitHub Actions workflow for unit testing +- Adds `.github/UNIT_TESTS.md` - Documentation for the unit tests + +### PR #85: Update OpenAI deployments to use GlobalStandard SKU and add owner tagging +- Updates `infra/app/ai.bicep` - Changes SKU from "Standard" to "GlobalStandard" +- Updates `infra/core/ai/cognitive-services/deployment.bicep` - Updates default SKU to "GlobalStandard" +- Updates `infra/azd-hooks/preprovision.ps1` - Adds owner UPN retrieval (PowerShell) +- Updates `infra/azd-hooks/preprovision.sh` - Adds owner UPN retrieval (Bash) +- Updates `infra/main.bicep` - Adds ownerUpn parameter and updates tags to include owner +- Updates `infra/main.parameters.json` - Adds OWNER_UPN parameter mapping +- Updates `infra/main.test.bicep` - Adds ownerUpn parameter to test configuration + +### PR #91: Update location of product catalog data +- Updates `infra/main.bicep` - Changes productDataSource URL from Azure Blob Storage to GitHub raw content + +## Files in This Directory + +- `cosmos-native.patch` - Patch file for the cosmos-native branch +- `cosmos-native-start.patch` - Patch file for the cosmos-native-start branch +- `README.md` - This file + +## Option 1: Apply Patches Locally and Create PRs Manually + +### For cosmos-native branch: + +```bash +# Fetch the latest cosmos-native branch +git fetch origin cosmos-native + +# Create a new branch from cosmos-native +git checkout -b apply-prs-cosmos-native origin/cosmos-native + +# Apply the patch +git apply patches/cosmos-native.patch + +# Add and commit the changes +git add -A +git commit -m "Apply PRs #81, #85, and #91 to cosmos-native branch" + +# Push to create a PR +git push -u origin apply-prs-cosmos-native + +# Then create a PR targeting cosmos-native on GitHub +``` + +### For cosmos-native-start branch: + +```bash +# Fetch the latest cosmos-native-start branch +git fetch origin cosmos-native-start + +# Create a new branch from cosmos-native-start +git checkout -b apply-prs-cosmos-native-start origin/cosmos-native-start + +# Apply the patch +git apply patches/cosmos-native-start.patch + +# Add and commit the changes +git add -A +git commit -m "Apply PRs #81, #85, and #91 to cosmos-native-start branch" + +# Push to create a PR +git push -u origin apply-prs-cosmos-native-start + +# Then create a PR targeting cosmos-native-start on GitHub +``` + +## Option 2: Use the Pre-created Branches + +Two branches have already been created with all the changes applied: +- `copilot/apply-prs-cosmos-native` (based on `cosmos-native`) +- `copilot/apply-prs-cosmos-native-start` (based on `cosmos-native-start`) + +These branches exist locally in the repository but cannot be pushed due to authentication constraints. You can: + +1. Cherry-pick the commits from these branches: + ```bash + git checkout -b pr-cosmos-native origin/cosmos-native + git cherry-pick copilot/apply-prs-cosmos-native + git push -u origin pr-cosmos-native + + git checkout -b pr-cosmos-native-start origin/cosmos-native-start + git cherry-pick copilot/apply-prs-cosmos-native-start + git push -u origin pr-cosmos-native-start + ``` + +2. Or recreate the branches and apply the patches as described in Option 1. + +## Creating the Pull Requests on GitHub + +After pushing the branches, create pull requests on GitHub: + +1. Navigate to https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot/pulls +2. Click "New pull request" +3. For the first PR: + - Set base branch to: `cosmos-native` + - Set compare branch to: `apply-prs-cosmos-native` (or your branch name) + - Title: "Apply PRs #81, #85, and #91 to cosmos-native" + - Description: Include details about what's being merged +4. For the second PR: + - Set base branch to: `cosmos-native-start` + - Set compare branch to: `apply-prs-cosmos-native-start` (or your branch name) + - Title: "Apply PRs #81, #85, and #91 to cosmos-native-start" + - Description: Include details about what's being merged + +## Summary of Changes + +Both patch files include identical changes: +- 9 files changed +- 317-319 insertions +- 10 deletions +- 2 new files added (.github/UNIT_TESTS.md and .github/workflows/unit-tests.yml) +- 7 files modified (infrastructure and deployment configuration files) + +The changes ensure that: +1. Both branches have comprehensive unit testing via GitHub Actions +2. Both branches use the GlobalStandard SKU for OpenAI deployments +3. Both branches automatically tag resources with owner information +4. Both branches use the correct product catalog data source from GitHub diff --git a/patches/cosmos-native-start.patch b/patches/cosmos-native-start.patch new file mode 100644 index 0000000..d4a2cc7 --- /dev/null +++ b/patches/cosmos-native-start.patch @@ -0,0 +1,448 @@ +From 445ae2a45dfcdde33beda2a41ee3a0d972e77447 Mon Sep 17 00:00:00 2001 +From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> +Date: Wed, 15 Oct 2025 02:13:45 +0000 +Subject: [PATCH] Apply PRs #81, #85, and #91 to cosmos-native-start branch + +--- + .github/UNIT_TESTS.md | 131 +++++++++++++++ + .github/workflows/unit-tests.yml | 152 ++++++++++++++++++ + infra/app/ai.bicep | 2 +- + infra/azd-hooks/preprovision.ps1 | 9 +- + infra/azd-hooks/preprovision.sh | 11 +- + .../ai/cognitive-services/deployment.bicep | 4 +- + infra/main.bicep | 16 +- + infra/main.parameters.json | 3 + + infra/main.test.bicep | 1 + + 9 files changed, 319 insertions(+), 10 deletions(-) + create mode 100644 .github/UNIT_TESTS.md + create mode 100644 .github/workflows/unit-tests.yml + +diff --git a/.github/UNIT_TESTS.md b/.github/UNIT_TESTS.md +new file mode 100644 +index 0000000..4fc817a +--- /dev/null ++++ b/.github/UNIT_TESTS.md +@@ -0,0 +1,131 @@ ++# Unit Tests Documentation ++ ++This document describes the unit tests implemented for the cosmos-copilot project. ++ ++> **Note**: For a comprehensive guide on testing in GitHub Codespaces, deploying the solution, and running the app, see [TESTING_GUIDE.md](./TESTING_GUIDE.md) ++ ++## Overview ++ ++The unit tests are implemented as GitHub Actions workflows that run automatically on: ++- Push to main branch ++- Pull requests to main branch ++- Manual workflow dispatch ++ ++## Test Jobs ++ ++### 1. Package Restore and Build (`package-restore-and-build`) ++ ++**Purpose**: Ensure packages are up to date and compatible with each other, and the project compiles. ++ ++**Steps**: ++- Checkout code ++- Setup .NET 8.0.x ++- Install .NET Aspire workload (required for the project) ++- Restore NuGet dependencies ++- Check for outdated packages (informational) ++- Check for deprecated packages (informational) ++- Build solution in Release configuration ++- Verify web app can be built independently ++ ++**Success Criteria**: ++- All packages restore successfully ++- Solution builds without errors ++- No critical package compatibility issues ++ ++### 2. Bicep Deployment Validation (`bicep-validation`) ++ ++**Purpose**: Validate the Bicep deployment files are syntactically correct and can be compiled. ++ ++**Steps**: ++- Checkout code ++- Install Bicep CLI ++- Build and validate main Bicep file ++- Lint Bicep files for best practices ++- Check for compilation errors ++ ++**Success Criteria**: ++- Bicep files compile without errors ++- No critical linting violations ++ ++### 3. Deployment What-If Analysis (`deployment-validation`) - **OPTIONAL** ++ ++**Purpose**: Ensure the solution can be deployed (if Azure credentials are available). ++ ++**Steps**: ++- Checkout code ++- Check if Azure credentials are available ++- Login to Azure (if credentials are configured) ++- Run deployment validation using `az deployment sub validate` ++- Perform what-if analysis on the deployment ++ ++**Success Criteria**: ++- Job always succeeds (never fails the workflow) ++- If credentials are available: deployment template is validated ++- If credentials are not available: skips gracefully with informational message ++ ++**Note**: This job is **completely optional**. The workflow will succeed whether or not the `AZURE_CREDENTIALS` secret is configured. Add the secret only if you want to enable live deployment validation. ++ ++### 4. Code Quality Checks (`code-quality`) ++ ++**Purpose**: Additional quality checks including build warnings and code formatting. ++ ++**Steps**: ++- Checkout code ++- Setup .NET 8.0.x ++- Install .NET Aspire workload ++- Restore dependencies ++- Build with warnings as errors (informational) ++- Check code formatting using `dotnet format` (informational) ++ ++**Success Criteria**: ++- Code builds successfully ++- Minimal build warnings ++- Consistent code formatting (informational only) ++ ++## Configuration ++ ++### Required Secrets ++ ++- None (for basic functionality) ++ ++### Optional Secrets ++ ++- `AZURE_CREDENTIALS`: Azure service principal credentials for deployment validation ++ - Format: JSON with clientId, clientSecret, subscriptionId, tenantId ++ - If not configured, deployment validation will be skipped ++ ++## Running Tests Locally ++ ++### Package and Build Tests ++```bash ++cd src ++dotnet workload install aspire ++dotnet restore cosmos-copilot.sln ++dotnet build cosmos-copilot.sln --configuration Release ++``` ++ ++### Bicep Validation ++```bash ++cd infra ++bicep build main.bicep ++``` ++ ++### Check for Outdated Packages ++```bash ++dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated ++``` ++ ++### Code Formatting ++```bash ++cd src ++dotnet format cosmos-copilot.sln --verify-no-changes ++``` ++ ++## Continuous Improvement ++ ++These tests should be expanded as the project grows to include: ++- Unit tests for individual components ++- Integration tests for services ++- End-to-end tests for critical workflows ++- Performance and load tests ++- Security scanning +diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml +new file mode 100644 +index 0000000..d2d7ff4 +--- /dev/null ++++ b/.github/workflows/unit-tests.yml +@@ -0,0 +1,152 @@ ++name: Unit Tests ++ ++on: ++ push: ++ branches: [ main ] ++ pull_request: ++ branches: [ main ] ++ workflow_dispatch: ++ ++jobs: ++ package-restore-and-build: ++ name: Package Restore and Build ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Setup .NET ++ uses: actions/setup-dotnet@v4 ++ with: ++ dotnet-version: '8.0.x' ++ ++ - name: Install .NET Aspire workload ++ run: dotnet workload install aspire ++ ++ - name: Restore dependencies ++ run: dotnet restore ./src/cosmos-copilot.sln ++ ++ - name: Verify package compatibility ++ run: | ++ echo "Checking for package compatibility issues..." ++ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated || true ++ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --deprecated || true ++ ++ - name: Build solution ++ run: dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore ++ ++ - name: Verify startup capability ++ run: | ++ echo "Verifying the solution compiles and can start..." ++ dotnet build ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj --configuration Release --no-restore ++ ++ bicep-validation: ++ name: Bicep Deployment Validation ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Setup Bicep CLI ++ run: | ++ # Install Bicep CLI ++ curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 ++ chmod +x ./bicep ++ sudo mv ./bicep /usr/local/bin/bicep ++ bicep --version ++ ++ - name: Validate Bicep files ++ run: | ++ echo "Validating main Bicep deployment file..." ++ bicep build ./infra/main.bicep ++ ++ - name: Lint Bicep files ++ run: | ++ echo "Linting Bicep files..." ++ bicep build ./infra/main.bicep --diagnostics-format=sarif --outfile bicep-linter.sarif || true ++ ++ - name: Check for Bicep compilation errors ++ run: | ++ echo "Checking for critical Bicep errors..." ++ if bicep build ./infra/main.bicep 2>&1 | grep -i "error"; then ++ echo "Bicep compilation has errors!" ++ exit 1 ++ else ++ echo "Bicep compilation successful!" ++ fi ++ ++ deployment-validation: ++ name: Deployment What-If Analysis (Optional) ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Check for Azure credentials ++ id: check-credentials ++ run: | ++ if [ -n "${{ secrets.AZURE_CREDENTIALS }}" ]; then ++ echo "credentials_available=true" >> $GITHUB_OUTPUT ++ else ++ echo "credentials_available=false" >> $GITHUB_OUTPUT ++ fi ++ ++ - name: Setup Azure CLI ++ id: azure-login ++ uses: azure/login@v2 ++ with: ++ creds: ${{ secrets.AZURE_CREDENTIALS }} ++ if: steps.check-credentials.outputs.credentials_available == 'true' ++ continue-on-error: true ++ ++ - name: Validate deployment template (if credentials available) ++ if: steps.azure-login.outcome == 'success' ++ run: | ++ echo "Running what-if deployment analysis..." ++ az deployment sub validate \ ++ --location eastus \ ++ --template-file ./infra/main.bicep \ ++ --parameters environmentName=test-validation location=eastus ++ continue-on-error: true ++ ++ - name: Skip deployment validation (no credentials) ++ if: steps.check-credentials.outputs.credentials_available != 'true' ++ run: | ++ echo "ℹ️ Azure credentials not configured. Skipping deployment validation." ++ echo "This is optional - the workflow will continue successfully." ++ echo "" ++ echo "To enable deployment validation, add AZURE_CREDENTIALS secret to the repository." ++ echo "See the PR description for the JSON format required." ++ ++ code-quality: ++ name: Code Quality Checks ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Setup .NET ++ uses: actions/setup-dotnet@v4 ++ with: ++ dotnet-version: '8.0.x' ++ ++ - name: Install .NET Aspire workload ++ run: dotnet workload install aspire ++ ++ - name: Restore dependencies ++ run: dotnet restore ./src/cosmos-copilot.sln ++ ++ - name: Check for build warnings ++ run: | ++ echo "Building solution and checking for warnings..." ++ dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore /warnaserror || true ++ ++ - name: Code format check (if dotnet format available) ++ run: | ++ echo "Checking code formatting..." ++ dotnet format ./src/cosmos-copilot.sln --verify-no-changes --no-restore || true ++ continue-on-error: true +diff --git a/infra/app/ai.bicep b/infra/app/ai.bicep +index 014471d..7d06c1d 100644 +--- a/infra/app/ai.bicep ++++ b/infra/app/ai.bicep +@@ -38,7 +38,7 @@ module openAiModelDeployments '../core/ai/cognitive-services/deployment.bicep' = + params: { + name: deployment.name + parentAccountName: openAiAccount.outputs.name +- skuName: 'Standard' ++ skuName: 'GlobalStandard' + skuCapacity: deployment.skuCapacity + modelName: deployment.modelName + modelVersion: deployment.modelVersion +diff --git a/infra/azd-hooks/preprovision.ps1 b/infra/azd-hooks/preprovision.ps1 +index d1aa58b..4dd455e 100644 +--- a/infra/azd-hooks/preprovision.ps1 ++++ b/infra/azd-hooks/preprovision.ps1 +@@ -1,2 +1,9 @@ + # Register any required resource providers +-Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement +\ No newline at end of file ++Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement ++ ++# Get the current user's UPN and set it as an azd environment variable ++$ownerUpn = (az ad signed-in-user show --query userPrincipalName -o tsv) ++if ($ownerUpn) { ++ azd env set OWNER_UPN $ownerUpn ++ Write-Host "Set OWNER_UPN to: $ownerUpn" ++} +\ No newline at end of file +diff --git a/infra/azd-hooks/preprovision.sh b/infra/azd-hooks/preprovision.sh +index aba4131..77c93c2 100644 +--- a/infra/azd-hooks/preprovision.sh ++++ b/infra/azd-hooks/preprovision.sh +@@ -1,2 +1,11 @@ ++#!/bin/bash ++ + # # Register any required resource providers +-az provider register --namespace Microsoft.AlertsManagement +\ No newline at end of file ++az provider register --namespace Microsoft.AlertsManagement ++ ++# Get the current user's UPN and set it as an azd environment variable ++OWNER_UPN=$(az ad signed-in-user show --query userPrincipalName -o tsv) ++if [ -n "$OWNER_UPN" ]; then ++ azd env set OWNER_UPN "$OWNER_UPN" ++ echo "Set OWNER_UPN to: $OWNER_UPN" ++fi +\ No newline at end of file +diff --git a/infra/core/ai/cognitive-services/deployment.bicep b/infra/core/ai/cognitive-services/deployment.bicep +index 693ebf0..19eeea2 100644 +--- a/infra/core/ai/cognitive-services/deployment.bicep ++++ b/infra/core/ai/cognitive-services/deployment.bicep +@@ -5,8 +5,8 @@ param name string + @description('Name of the parent Azure Cognitive Services account.') + param parentAccountName string + +-@description('Name of the SKU for the deployment. Defaults to "Standard".') +-param skuName string = 'Standard' ++@description('Name of the SKU for the deployment. Defaults to "GlobalStandard".') ++param skuName string = 'GlobalStandard' + + @description('Capacity of the SKU for the deployment. Defaults to 100.') + param skuCapacity int = 100 +diff --git a/infra/main.bicep b/infra/main.bicep +index d0ec86e..7a52e6f 100644 +--- a/infra/main.bicep ++++ b/infra/main.bicep +@@ -21,6 +21,9 @@ param location string + @description('Id of the principal to assign database and application roles.') + param principalId string = '' + ++@description('UPN (User Principal Name) of the owner for resource tagging.') ++param ownerUpn string = '' ++ + // Optional parameters + param openAiAccountName string = '' + param cosmosDbAccountName string = '' +@@ -33,10 +36,13 @@ param serviceName string = 'web' + + var abbreviations = loadJsonContent('abbreviations.json') + var resourceToken = toLower(uniqueString(subscription().id, environmentName, location)) +-var tags = { +- 'azd-env-name': environmentName +- repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' +-} ++var tags = union( ++ { ++ 'azd-env-name': environmentName ++ repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' ++ }, ++ !empty(ownerUpn) ? { owner: ownerUpn } : {} ++) + + var chatSettings = { + maxConversationTokens: '100' +@@ -44,7 +50,7 @@ var chatSettings = { + productMaxResults: '10' + } + +-var productDataSource = 'https://cosmosdbcosmicworks.blob.core.windows.net/cosmic-works-vectorized/product-text-3-large-1536.json' ++var productDataSource = 'https://raw.githubusercontent.com/AzureCosmosDB/cosmosdb-nosql-copilot/refs/heads/main/data/products-text-3-large-1536.json' + + resource resourceGroup 'Microsoft.Resources/resourceGroups@2022-09-01' = { + name: environmentName +diff --git a/infra/main.parameters.json b/infra/main.parameters.json +index 67ad852..758e7ec 100644 +--- a/infra/main.parameters.json ++++ b/infra/main.parameters.json +@@ -10,6 +10,9 @@ + }, + "principalId": { + "value": "${AZURE_PRINCIPAL_ID}" ++ }, ++ "ownerUpn": { ++ "value": "${OWNER_UPN}" + } + } + } +\ No newline at end of file +diff --git a/infra/main.test.bicep b/infra/main.test.bicep +index e9aa30c..e208b4e 100644 +--- a/infra/main.test.bicep ++++ b/infra/main.test.bicep +@@ -14,5 +14,6 @@ module main 'main.bicep' = { + environmentName: environmentName + location: location + principalId: '' ++ ownerUpn: '' + } + } +-- +2.51.0 + diff --git a/patches/cosmos-native.patch b/patches/cosmos-native.patch new file mode 100644 index 0000000..012bc49 --- /dev/null +++ b/patches/cosmos-native.patch @@ -0,0 +1,448 @@ +From e977aa29633fbacdc0f2e34b72efa4d009f3e981 Mon Sep 17 00:00:00 2001 +From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> +Date: Wed, 15 Oct 2025 02:10:13 +0000 +Subject: [PATCH] Apply PRs #81, #85, and #91 to cosmos-native branch + +--- + .github/UNIT_TESTS.md | 131 +++++++++++++++ + .github/workflows/unit-tests.yml | 152 ++++++++++++++++++ + infra/app/ai.bicep | 2 +- + infra/azd-hooks/preprovision.ps1 | 9 +- + infra/azd-hooks/preprovision.sh | 9 +- + .../ai/cognitive-services/deployment.bicep | 4 +- + infra/main.bicep | 16 +- + infra/main.parameters.json | 3 + + infra/main.test.bicep | 1 + + 9 files changed, 317 insertions(+), 10 deletions(-) + create mode 100644 .github/UNIT_TESTS.md + create mode 100644 .github/workflows/unit-tests.yml + +diff --git a/.github/UNIT_TESTS.md b/.github/UNIT_TESTS.md +new file mode 100644 +index 0000000..4fc817a +--- /dev/null ++++ b/.github/UNIT_TESTS.md +@@ -0,0 +1,131 @@ ++# Unit Tests Documentation ++ ++This document describes the unit tests implemented for the cosmos-copilot project. ++ ++> **Note**: For a comprehensive guide on testing in GitHub Codespaces, deploying the solution, and running the app, see [TESTING_GUIDE.md](./TESTING_GUIDE.md) ++ ++## Overview ++ ++The unit tests are implemented as GitHub Actions workflows that run automatically on: ++- Push to main branch ++- Pull requests to main branch ++- Manual workflow dispatch ++ ++## Test Jobs ++ ++### 1. Package Restore and Build (`package-restore-and-build`) ++ ++**Purpose**: Ensure packages are up to date and compatible with each other, and the project compiles. ++ ++**Steps**: ++- Checkout code ++- Setup .NET 8.0.x ++- Install .NET Aspire workload (required for the project) ++- Restore NuGet dependencies ++- Check for outdated packages (informational) ++- Check for deprecated packages (informational) ++- Build solution in Release configuration ++- Verify web app can be built independently ++ ++**Success Criteria**: ++- All packages restore successfully ++- Solution builds without errors ++- No critical package compatibility issues ++ ++### 2. Bicep Deployment Validation (`bicep-validation`) ++ ++**Purpose**: Validate the Bicep deployment files are syntactically correct and can be compiled. ++ ++**Steps**: ++- Checkout code ++- Install Bicep CLI ++- Build and validate main Bicep file ++- Lint Bicep files for best practices ++- Check for compilation errors ++ ++**Success Criteria**: ++- Bicep files compile without errors ++- No critical linting violations ++ ++### 3. Deployment What-If Analysis (`deployment-validation`) - **OPTIONAL** ++ ++**Purpose**: Ensure the solution can be deployed (if Azure credentials are available). ++ ++**Steps**: ++- Checkout code ++- Check if Azure credentials are available ++- Login to Azure (if credentials are configured) ++- Run deployment validation using `az deployment sub validate` ++- Perform what-if analysis on the deployment ++ ++**Success Criteria**: ++- Job always succeeds (never fails the workflow) ++- If credentials are available: deployment template is validated ++- If credentials are not available: skips gracefully with informational message ++ ++**Note**: This job is **completely optional**. The workflow will succeed whether or not the `AZURE_CREDENTIALS` secret is configured. Add the secret only if you want to enable live deployment validation. ++ ++### 4. Code Quality Checks (`code-quality`) ++ ++**Purpose**: Additional quality checks including build warnings and code formatting. ++ ++**Steps**: ++- Checkout code ++- Setup .NET 8.0.x ++- Install .NET Aspire workload ++- Restore dependencies ++- Build with warnings as errors (informational) ++- Check code formatting using `dotnet format` (informational) ++ ++**Success Criteria**: ++- Code builds successfully ++- Minimal build warnings ++- Consistent code formatting (informational only) ++ ++## Configuration ++ ++### Required Secrets ++ ++- None (for basic functionality) ++ ++### Optional Secrets ++ ++- `AZURE_CREDENTIALS`: Azure service principal credentials for deployment validation ++ - Format: JSON with clientId, clientSecret, subscriptionId, tenantId ++ - If not configured, deployment validation will be skipped ++ ++## Running Tests Locally ++ ++### Package and Build Tests ++```bash ++cd src ++dotnet workload install aspire ++dotnet restore cosmos-copilot.sln ++dotnet build cosmos-copilot.sln --configuration Release ++``` ++ ++### Bicep Validation ++```bash ++cd infra ++bicep build main.bicep ++``` ++ ++### Check for Outdated Packages ++```bash ++dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated ++``` ++ ++### Code Formatting ++```bash ++cd src ++dotnet format cosmos-copilot.sln --verify-no-changes ++``` ++ ++## Continuous Improvement ++ ++These tests should be expanded as the project grows to include: ++- Unit tests for individual components ++- Integration tests for services ++- End-to-end tests for critical workflows ++- Performance and load tests ++- Security scanning +diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml +new file mode 100644 +index 0000000..d2d7ff4 +--- /dev/null ++++ b/.github/workflows/unit-tests.yml +@@ -0,0 +1,152 @@ ++name: Unit Tests ++ ++on: ++ push: ++ branches: [ main ] ++ pull_request: ++ branches: [ main ] ++ workflow_dispatch: ++ ++jobs: ++ package-restore-and-build: ++ name: Package Restore and Build ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Setup .NET ++ uses: actions/setup-dotnet@v4 ++ with: ++ dotnet-version: '8.0.x' ++ ++ - name: Install .NET Aspire workload ++ run: dotnet workload install aspire ++ ++ - name: Restore dependencies ++ run: dotnet restore ./src/cosmos-copilot.sln ++ ++ - name: Verify package compatibility ++ run: | ++ echo "Checking for package compatibility issues..." ++ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated || true ++ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --deprecated || true ++ ++ - name: Build solution ++ run: dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore ++ ++ - name: Verify startup capability ++ run: | ++ echo "Verifying the solution compiles and can start..." ++ dotnet build ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj --configuration Release --no-restore ++ ++ bicep-validation: ++ name: Bicep Deployment Validation ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Setup Bicep CLI ++ run: | ++ # Install Bicep CLI ++ curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 ++ chmod +x ./bicep ++ sudo mv ./bicep /usr/local/bin/bicep ++ bicep --version ++ ++ - name: Validate Bicep files ++ run: | ++ echo "Validating main Bicep deployment file..." ++ bicep build ./infra/main.bicep ++ ++ - name: Lint Bicep files ++ run: | ++ echo "Linting Bicep files..." ++ bicep build ./infra/main.bicep --diagnostics-format=sarif --outfile bicep-linter.sarif || true ++ ++ - name: Check for Bicep compilation errors ++ run: | ++ echo "Checking for critical Bicep errors..." ++ if bicep build ./infra/main.bicep 2>&1 | grep -i "error"; then ++ echo "Bicep compilation has errors!" ++ exit 1 ++ else ++ echo "Bicep compilation successful!" ++ fi ++ ++ deployment-validation: ++ name: Deployment What-If Analysis (Optional) ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Check for Azure credentials ++ id: check-credentials ++ run: | ++ if [ -n "${{ secrets.AZURE_CREDENTIALS }}" ]; then ++ echo "credentials_available=true" >> $GITHUB_OUTPUT ++ else ++ echo "credentials_available=false" >> $GITHUB_OUTPUT ++ fi ++ ++ - name: Setup Azure CLI ++ id: azure-login ++ uses: azure/login@v2 ++ with: ++ creds: ${{ secrets.AZURE_CREDENTIALS }} ++ if: steps.check-credentials.outputs.credentials_available == 'true' ++ continue-on-error: true ++ ++ - name: Validate deployment template (if credentials available) ++ if: steps.azure-login.outcome == 'success' ++ run: | ++ echo "Running what-if deployment analysis..." ++ az deployment sub validate \ ++ --location eastus \ ++ --template-file ./infra/main.bicep \ ++ --parameters environmentName=test-validation location=eastus ++ continue-on-error: true ++ ++ - name: Skip deployment validation (no credentials) ++ if: steps.check-credentials.outputs.credentials_available != 'true' ++ run: | ++ echo "ℹ️ Azure credentials not configured. Skipping deployment validation." ++ echo "This is optional - the workflow will continue successfully." ++ echo "" ++ echo "To enable deployment validation, add AZURE_CREDENTIALS secret to the repository." ++ echo "See the PR description for the JSON format required." ++ ++ code-quality: ++ name: Code Quality Checks ++ runs-on: ubuntu-latest ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v4 ++ ++ - name: Setup .NET ++ uses: actions/setup-dotnet@v4 ++ with: ++ dotnet-version: '8.0.x' ++ ++ - name: Install .NET Aspire workload ++ run: dotnet workload install aspire ++ ++ - name: Restore dependencies ++ run: dotnet restore ./src/cosmos-copilot.sln ++ ++ - name: Check for build warnings ++ run: | ++ echo "Building solution and checking for warnings..." ++ dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore /warnaserror || true ++ ++ - name: Code format check (if dotnet format available) ++ run: | ++ echo "Checking code formatting..." ++ dotnet format ./src/cosmos-copilot.sln --verify-no-changes --no-restore || true ++ continue-on-error: true +diff --git a/infra/app/ai.bicep b/infra/app/ai.bicep +index 014471d..7d06c1d 100644 +--- a/infra/app/ai.bicep ++++ b/infra/app/ai.bicep +@@ -38,7 +38,7 @@ module openAiModelDeployments '../core/ai/cognitive-services/deployment.bicep' = + params: { + name: deployment.name + parentAccountName: openAiAccount.outputs.name +- skuName: 'Standard' ++ skuName: 'GlobalStandard' + skuCapacity: deployment.skuCapacity + modelName: deployment.modelName + modelVersion: deployment.modelVersion +diff --git a/infra/azd-hooks/preprovision.ps1 b/infra/azd-hooks/preprovision.ps1 +index d1aa58b..4dd455e 100644 +--- a/infra/azd-hooks/preprovision.ps1 ++++ b/infra/azd-hooks/preprovision.ps1 +@@ -1,2 +1,9 @@ + # Register any required resource providers +-Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement +\ No newline at end of file ++Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement ++ ++# Get the current user's UPN and set it as an azd environment variable ++$ownerUpn = (az ad signed-in-user show --query userPrincipalName -o tsv) ++if ($ownerUpn) { ++ azd env set OWNER_UPN $ownerUpn ++ Write-Host "Set OWNER_UPN to: $ownerUpn" ++} +\ No newline at end of file +diff --git a/infra/azd-hooks/preprovision.sh b/infra/azd-hooks/preprovision.sh +index 36e4825..77c93c2 100755 +--- a/infra/azd-hooks/preprovision.sh ++++ b/infra/azd-hooks/preprovision.sh +@@ -1,4 +1,11 @@ + #!/bin/bash + + # # Register any required resource providers +-az provider register --namespace Microsoft.AlertsManagement +\ No newline at end of file ++az provider register --namespace Microsoft.AlertsManagement ++ ++# Get the current user's UPN and set it as an azd environment variable ++OWNER_UPN=$(az ad signed-in-user show --query userPrincipalName -o tsv) ++if [ -n "$OWNER_UPN" ]; then ++ azd env set OWNER_UPN "$OWNER_UPN" ++ echo "Set OWNER_UPN to: $OWNER_UPN" ++fi +\ No newline at end of file +diff --git a/infra/core/ai/cognitive-services/deployment.bicep b/infra/core/ai/cognitive-services/deployment.bicep +index 693ebf0..19eeea2 100644 +--- a/infra/core/ai/cognitive-services/deployment.bicep ++++ b/infra/core/ai/cognitive-services/deployment.bicep +@@ -5,8 +5,8 @@ param name string + @description('Name of the parent Azure Cognitive Services account.') + param parentAccountName string + +-@description('Name of the SKU for the deployment. Defaults to "Standard".') +-param skuName string = 'Standard' ++@description('Name of the SKU for the deployment. Defaults to "GlobalStandard".') ++param skuName string = 'GlobalStandard' + + @description('Capacity of the SKU for the deployment. Defaults to 100.') + param skuCapacity int = 100 +diff --git a/infra/main.bicep b/infra/main.bicep +index 70ae271..d54398b 100644 +--- a/infra/main.bicep ++++ b/infra/main.bicep +@@ -20,6 +20,9 @@ param location string + @description('Id of the principal to assign database and application roles.') + param principalId string = '' + ++@description('UPN (User Principal Name) of the owner for resource tagging.') ++param ownerUpn string = '' ++ + // Optional parameters + param openAiAccountName string = '' + param cosmosDbAccountName string = '' +@@ -32,10 +35,13 @@ param serviceName string = 'web' + + var abbreviations = loadJsonContent('abbreviations.json') + var resourceToken = toLower(uniqueString(subscription().id, environmentName, location)) +-var tags = { +- 'azd-env-name': environmentName +- repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' +-} ++var tags = union( ++ { ++ 'azd-env-name': environmentName ++ repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' ++ }, ++ !empty(ownerUpn) ? { owner: ownerUpn } : {} ++) + + var chatSettings = { + maxConversationTokens: '100' +@@ -43,7 +49,7 @@ var chatSettings = { + productMaxResults: '10' + } + +-var productDataSource = 'https://cosmosdbcosmicworks.blob.core.windows.net/cosmic-works-vectorized/product-text-3-large-1536.json' ++var productDataSource = 'https://raw.githubusercontent.com/AzureCosmosDB/cosmosdb-nosql-copilot/refs/heads/main/data/products-text-3-large-1536.json' + + resource resourceGroup 'Microsoft.Resources/resourceGroups@2022-09-01' = { + name: environmentName +diff --git a/infra/main.parameters.json b/infra/main.parameters.json +index 67ad852..758e7ec 100644 +--- a/infra/main.parameters.json ++++ b/infra/main.parameters.json +@@ -10,6 +10,9 @@ + }, + "principalId": { + "value": "${AZURE_PRINCIPAL_ID}" ++ }, ++ "ownerUpn": { ++ "value": "${OWNER_UPN}" + } + } + } +\ No newline at end of file +diff --git a/infra/main.test.bicep b/infra/main.test.bicep +index e9aa30c..e208b4e 100644 +--- a/infra/main.test.bicep ++++ b/infra/main.test.bicep +@@ -14,5 +14,6 @@ module main 'main.bicep' = { + environmentName: environmentName + location: location + principalId: '' ++ ownerUpn: '' + } + } +-- +2.51.0 + From d1092d7137c72cd4c35aa87919a3653eb5878f8a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Oct 2025 02:16:24 +0000 Subject: [PATCH 3/5] Add Quick Start guide for creating PRs Co-authored-by: markjbrown <800166+markjbrown@users.noreply.github.com> --- QUICK_START.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 QUICK_START.md diff --git a/QUICK_START.md b/QUICK_START.md new file mode 100644 index 0000000..9b34284 --- /dev/null +++ b/QUICK_START.md @@ -0,0 +1,81 @@ +# Quick Start: Creating PRs for cosmos-native Branches + +## Overview + +This PR contains patch files that apply changes from PRs #81, #85, and #91 to both: +- `cosmos-native` branch +- `cosmos-native-start` branch + +## Changes Applied + +### PR #81: GitHub Actions Unit Tests +- Adds comprehensive unit testing workflow +- Includes package restore, build, Bicep validation, and code quality checks +- **New files**: `.github/workflows/unit-tests.yml`, `.github/UNIT_TESTS.md` + +### PR #85: OpenAI GlobalStandard SKU & Owner Tagging +- Upgrades OpenAI deployments from "Standard" to "GlobalStandard" SKU +- Adds automatic owner tagging for deployed resources +- **Modified files**: 5 infrastructure files (bicep and hooks) + +### PR #91: Product Catalog Data Location +- Updates product data source from Azure Blob Storage to GitHub +- **Modified file**: `infra/main.bicep` + +## Quick Instructions + +### Step 1: Apply Patches + +From your local repository: + +```bash +# For cosmos-native branch +git checkout -b pr-cosmos-native origin/cosmos-native +git apply patches/cosmos-native.patch +git add -A +git commit -m "Apply PRs #81, #85, and #91" +git push -u origin pr-cosmos-native + +# For cosmos-native-start branch +git checkout -b pr-cosmos-native-start origin/cosmos-native-start +git apply patches/cosmos-native-start.patch +git add -A +git commit -m "Apply PRs #81, #85, and #91" +git push -u origin pr-cosmos-native-start +``` + +### Step 2: Create Pull Requests on GitHub + +1. Go to: https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot/pulls +2. Click "New pull request" + +**For cosmos-native:** +- Base: `cosmos-native` +- Compare: `pr-cosmos-native` +- Title: "Apply PRs #81, #85, and #91 to cosmos-native" + +**For cosmos-native-start:** +- Base: `cosmos-native-start` +- Compare: `pr-cosmos-native-start` +- Title: "Apply PRs #81, #85, and #91 to cosmos-native-start" + +## Files in This PR + +- `patches/cosmos-native.patch` - Patch for cosmos-native (9 files, 317 insertions, 10 deletions) +- `patches/cosmos-native-start.patch` - Patch for cosmos-native-start (9 files, 319 insertions, 10 deletions) +- `patches/README.md` - Detailed instructions and documentation +- `QUICK_START.md` - This file (quick reference) + +## Verification + +Both patches have been tested and apply cleanly to their respective branches: +- ✅ `cosmos-native.patch` applies cleanly to `cosmos-native` +- ✅ `cosmos-native-start.patch` applies cleanly to `cosmos-native-start` + +## Need Help? + +See `patches/README.md` for: +- Detailed step-by-step instructions +- Alternative approaches +- Troubleshooting tips +- Complete change summary From 96639a9743beaf19afaca166d214ab050f2401a4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Oct 2025 02:17:24 +0000 Subject: [PATCH 4/5] Add comprehensive summary document Co-authored-by: markjbrown <800166+markjbrown@users.noreply.github.com> --- SUMMARY.md | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 SUMMARY.md diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 0000000..9dbd672 --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,114 @@ +# Summary: Applying PRs to cosmos-native Branches + +## What Was Done + +This PR prepares changes from PRs #81, #85, and #91 to be applied to two branches: +- `cosmos-native` +- `cosmos-native-start` + +### Branches Created (locally, not pushed) + +Two local branches were created with all changes applied: +1. `copilot/apply-prs-cosmos-native` - based on `cosmos-native` +2. `copilot/apply-prs-cosmos-native-start` - based on `cosmos-native-start` + +These branches contain all the changes but cannot be pushed due to authentication constraints in the automated environment. + +### Patch Files Created + +To work around the authentication constraint, patch files were created: +- `patches/cosmos-native.patch` - Contains all changes for cosmos-native +- `patches/cosmos-native-start.patch` - Contains all changes for cosmos-native-start + +Both patches have been verified to apply cleanly to their respective branches. + +## What Needs to Be Done + +**You need to manually create two PRs using the provided patch files.** + +### Option 1: Apply Patches (Recommended) + +This is the simplest approach: + +```bash +# For cosmos-native branch +git fetch origin cosmos-native +git checkout -b pr-apply-to-cosmos-native origin/cosmos-native +git apply patches/cosmos-native.patch +git add -A +git commit -m "Apply PRs #81, #85, and #91 to cosmos-native" +git push -u origin pr-apply-to-cosmos-native + +# For cosmos-native-start branch +git fetch origin cosmos-native-start +git checkout -b pr-apply-to-cosmos-native-start origin/cosmos-native-start +git apply patches/cosmos-native-start.patch +git add -A +git commit -m "Apply PRs #81, #85, and #91 to cosmos-native-start" +git push -u origin pr-apply-to-cosmos-native-start +``` + +Then create PRs on GitHub: +1. Base: `cosmos-native`, Compare: `pr-apply-to-cosmos-native` +2. Base: `cosmos-native-start`, Compare: `pr-apply-to-cosmos-native-start` + +### Option 2: Use Local Branches (if available) + +If you have access to the local branches created during this automated task: + +```bash +# Push the pre-created branches +git push -u origin copilot/apply-prs-cosmos-native +git push -u origin copilot/apply-prs-cosmos-native-start +``` + +Then create PRs on GitHub: +1. Base: `cosmos-native`, Compare: `copilot/apply-prs-cosmos-native` +2. Base: `cosmos-native-start`, Compare: `copilot/apply-prs-cosmos-native-start` + +## Changes Being Applied + +### All Changes Include: + +1. **PR #81: GitHub Actions Unit Tests** + - New file: `.github/workflows/unit-tests.yml` + - New file: `.github/UNIT_TESTS.md` + - Adds automated testing for package restore, build, Bicep validation, and code quality + +2. **PR #85: OpenAI GlobalStandard SKU & Owner Tagging** + - Modified: `infra/app/ai.bicep` - SKU changed to GlobalStandard + - Modified: `infra/core/ai/cognitive-services/deployment.bicep` - Default SKU updated + - Modified: `infra/azd-hooks/preprovision.ps1` - Adds owner UPN retrieval + - Modified: `infra/azd-hooks/preprovision.sh` - Adds owner UPN retrieval + - Modified: `infra/main.bicep` - Adds ownerUpn parameter and tag + - Modified: `infra/main.parameters.json` - Adds OWNER_UPN parameter + - Modified: `infra/main.test.bicep` - Adds ownerUpn to test config + +3. **PR #91: Product Catalog Data Location** + - Modified: `infra/main.bicep` - Updates productDataSource URL + +### Statistics: +- 9 files changed per branch +- 317-319 insertions +- 10 deletions +- 2 new files +- 7 modified files + +## Documentation + +- **QUICK_START.md** - Quick reference guide (start here!) +- **patches/README.md** - Comprehensive documentation with multiple approaches +- **SUMMARY.md** - This file + +## Verification + +✅ Both patches have been tested and verified: +- `patches/cosmos-native.patch` applies cleanly to `cosmos-native` branch +- `patches/cosmos-native-start.patch` applies cleanly to `cosmos-native-start` branch + +## Questions? + +See the documentation files for more details: +- Quick instructions: `QUICK_START.md` +- Detailed guide: `patches/README.md` +- This summary: `SUMMARY.md` From 30c642a157f1d1c8f01a6616042ad1fad1e0fbd5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Oct 2025 12:06:07 +0000 Subject: [PATCH 5/5] Apply PRs #81, #85, and #91 to cosmos-native branch Co-authored-by: markjbrown <800166+markjbrown@users.noreply.github.com> --- .devcontainer/devcontainer.json | 11 +- .gitignore | 7 - QUICK_START.md | 81 --- README.md | 127 ++--- SUMMARY.md | 114 ---- azure.yaml | 24 +- infra/app/database.bicep | 43 +- infra/app/security.bicep | 9 +- infra/app/web.bicep | 16 +- infra/core/database/cosmos-db/account.bicep | 19 +- .../database/cosmos-db/nosql/account.bicep | 4 - .../database/cosmos-db/nosql/container.bicep | 8 - .../cosmos-db/nosql/role/assignment.bicep | 4 - infra/core/security/role/assignment.bicep | 8 + media/quickstart-conversational-context.png | Bin 104208 -> 98994 bytes media/quickstart-semantic-cache-miss.png | Bin 105677 -> 42402 bytes media/quickstart-semantic-cache.png | Bin 103180 -> 101189 bytes media/screenshot.png | Bin 149715 -> 91251 bytes patches/README.md | 126 ----- patches/cosmos-native-start.patch | 448 ---------------- patches/cosmos-native.patch | 448 ---------------- quickstart.md | 81 +-- src/.dockerignore | 30 ++ src/App.razor | 12 + src/Components/Confirmation.razor | 64 +++ src/Components/Input.razor | 48 ++ src/Constants/Interface.cs | 6 + src/Constants/Participants.cs | 7 + src/Dockerfile | 24 + src/Models/CacheItem.cs | 22 + src/Models/Message.cs | 49 ++ src/Models/Product.cs | 42 ++ src/Models/Session.cs | 58 ++ src/Models/UserParameters.cs | 18 + src/Options/Chat.cs | 10 + src/Options/CosmosDb.cs | 16 + src/Options/OpenAi.cs | 10 + src/Options/SemanticKernel.cs | 10 + src/Pages/ChatPane.razor | 368 +++++++++++++ src/Pages/Error.cshtml | 42 ++ src/Pages/Error.cshtml.cs | 27 + src/Pages/Index.razor | 66 +++ src/Pages/NavMenu.razor | 368 +++++++++++++ src/Pages/_Host.cshtml | 8 + src/Pages/_Layout.cshtml | 36 ++ src/Program.cs | 128 +++++ src/Properties/launchSettings.json | 23 + src/Services/ChatService.cs | 291 ++++++++++ src/Services/CosmosDbService.cs | 504 ++++++++++++++++++ src/Services/OpenAiService.cs | 208 ++++++++ src/Services/SemanticKernelService.cs | 202 +++++++ src/Shared/MainLayout.razor | 3 + src/_Imports.razor | 12 + src/appsettings.json | 33 ++ src/cosmos-copilot.csproj | 34 ++ src/cosmos-copilot.sln | 22 +- src/nuget.config | 6 + src/wwwroot/favicon.ico | Bin 0 -> 15406 bytes src/wwwroot/js/site.js | 9 + 59 files changed, 2926 insertions(+), 1468 deletions(-) delete mode 100644 QUICK_START.md delete mode 100644 SUMMARY.md delete mode 100644 patches/README.md delete mode 100644 patches/cosmos-native-start.patch delete mode 100644 patches/cosmos-native.patch create mode 100644 src/.dockerignore create mode 100644 src/App.razor create mode 100644 src/Components/Confirmation.razor create mode 100644 src/Components/Input.razor create mode 100644 src/Constants/Interface.cs create mode 100644 src/Constants/Participants.cs create mode 100644 src/Dockerfile create mode 100644 src/Models/CacheItem.cs create mode 100644 src/Models/Message.cs create mode 100644 src/Models/Product.cs create mode 100644 src/Models/Session.cs create mode 100644 src/Models/UserParameters.cs create mode 100644 src/Options/Chat.cs create mode 100644 src/Options/CosmosDb.cs create mode 100644 src/Options/OpenAi.cs create mode 100644 src/Options/SemanticKernel.cs create mode 100644 src/Pages/ChatPane.razor create mode 100644 src/Pages/Error.cshtml create mode 100644 src/Pages/Error.cshtml.cs create mode 100644 src/Pages/Index.razor create mode 100644 src/Pages/NavMenu.razor create mode 100644 src/Pages/_Host.cshtml create mode 100644 src/Pages/_Layout.cshtml create mode 100644 src/Program.cs create mode 100644 src/Properties/launchSettings.json create mode 100644 src/Services/ChatService.cs create mode 100644 src/Services/CosmosDbService.cs create mode 100644 src/Services/OpenAiService.cs create mode 100644 src/Services/SemanticKernelService.cs create mode 100644 src/Shared/MainLayout.razor create mode 100644 src/_Imports.razor create mode 100644 src/appsettings.json create mode 100644 src/cosmos-copilot.csproj create mode 100644 src/nuget.config create mode 100644 src/wwwroot/favicon.ico create mode 100644 src/wwwroot/js/site.js diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 43065aa..49b7ffb 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -21,13 +21,9 @@ "ms-azuretools.vscode-bicep", "ms-azuretools.vscode-docker", "ms-vscode.js-debug" ] - }, - "settings": { - "remote.autoForwardPorts": true, - "dotnet.defaultSolution": "cosmos-copilot.sln" - } + } }, - "postStartCommand": "dotnet dev-certs https --trust" + // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [5000, 5001], // "portsAttributes": { @@ -39,6 +35,9 @@ // Use 'postCreateCommand' to run commands after the container is created. // "postCreateCommand": "dotnet restore", + // Configure tool-specific properties. + // "customizations": {}, + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" } diff --git a/.gitignore b/.gitignore index 8ab1ae6..35ff676 100644 --- a/.gitignore +++ b/.gitignore @@ -399,10 +399,3 @@ FodyWeavers.xsd # JetBrains Rider *.sln.iml -appsettings.Development.json -src/cosmos-copilot.WebApp/Properties/ServiceDependencies/local/* -serviceDependencies.local.json - -# Bicep compiled files -infra/**/*.json -!infra/**/main.parameters.json diff --git a/QUICK_START.md b/QUICK_START.md deleted file mode 100644 index 9b34284..0000000 --- a/QUICK_START.md +++ /dev/null @@ -1,81 +0,0 @@ -# Quick Start: Creating PRs for cosmos-native Branches - -## Overview - -This PR contains patch files that apply changes from PRs #81, #85, and #91 to both: -- `cosmos-native` branch -- `cosmos-native-start` branch - -## Changes Applied - -### PR #81: GitHub Actions Unit Tests -- Adds comprehensive unit testing workflow -- Includes package restore, build, Bicep validation, and code quality checks -- **New files**: `.github/workflows/unit-tests.yml`, `.github/UNIT_TESTS.md` - -### PR #85: OpenAI GlobalStandard SKU & Owner Tagging -- Upgrades OpenAI deployments from "Standard" to "GlobalStandard" SKU -- Adds automatic owner tagging for deployed resources -- **Modified files**: 5 infrastructure files (bicep and hooks) - -### PR #91: Product Catalog Data Location -- Updates product data source from Azure Blob Storage to GitHub -- **Modified file**: `infra/main.bicep` - -## Quick Instructions - -### Step 1: Apply Patches - -From your local repository: - -```bash -# For cosmos-native branch -git checkout -b pr-cosmos-native origin/cosmos-native -git apply patches/cosmos-native.patch -git add -A -git commit -m "Apply PRs #81, #85, and #91" -git push -u origin pr-cosmos-native - -# For cosmos-native-start branch -git checkout -b pr-cosmos-native-start origin/cosmos-native-start -git apply patches/cosmos-native-start.patch -git add -A -git commit -m "Apply PRs #81, #85, and #91" -git push -u origin pr-cosmos-native-start -``` - -### Step 2: Create Pull Requests on GitHub - -1. Go to: https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot/pulls -2. Click "New pull request" - -**For cosmos-native:** -- Base: `cosmos-native` -- Compare: `pr-cosmos-native` -- Title: "Apply PRs #81, #85, and #91 to cosmos-native" - -**For cosmos-native-start:** -- Base: `cosmos-native-start` -- Compare: `pr-cosmos-native-start` -- Title: "Apply PRs #81, #85, and #91 to cosmos-native-start" - -## Files in This PR - -- `patches/cosmos-native.patch` - Patch for cosmos-native (9 files, 317 insertions, 10 deletions) -- `patches/cosmos-native-start.patch` - Patch for cosmos-native-start (9 files, 319 insertions, 10 deletions) -- `patches/README.md` - Detailed instructions and documentation -- `QUICK_START.md` - This file (quick reference) - -## Verification - -Both patches have been tested and apply cleanly to their respective branches: -- ✅ `cosmos-native.patch` applies cleanly to `cosmos-native` -- ✅ `cosmos-native-start.patch` applies cleanly to `cosmos-native-start` - -## Need Help? - -See `patches/README.md` for: -- Detailed step-by-step instructions -- Alternative approaches -- Troubleshooting tips -- Complete change summary diff --git a/README.md b/README.md index 1ade2b2..5ee501f 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,28 @@ --- page_type: sample languages: - - azdeveloper - - bicep - - aspx-csharp - - csharp - - dockerfile - - nosql +- azdeveloper +- bicep +- aspx-csharp +- csharp +- dockerfile +- nosql products: - - azure - - azure-cosmos-db - - azure-app-service - - azure-openai +- azure +- azure-cosmos-db +- azure-app-service +- azure-openai urlFragment: ai-samples name: Build Copilot app using Azure Cosmos DB for NoSQL -description: Build a Copilot app using Azure Cosmos DB for NoSQL, Azure OpenAI Service, Semantic Kernel, and .NET Aspire +description: Build a Copilot app using Azure Cosmos DB for NoSQL, Azure OpenAI Service, Azure App Service and Semantic Kernel --- -# Build a Copilot app using Azure Cosmos DB for NoSQL, Azure OpenAI Service, with Semantic Kernel +# Build a Copilot app using Azure Cosmos DB for NoSQL, Azure OpenAI Service, Azure App Service and Semantic Kernel -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/AzureCosmosDB/cosmosdb-nosql-copilot) +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)]([placeholder](https://codespaces.new/AzureCosmosDB/cosmosdb-nosql-copilot)) [![Open in Dev Containers](https://img.shields.io/static/v1?style=for-the-badge&label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot) -[![Unit Tests](https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot/actions/workflows/unit-tests.yml) -This sample application shows how to build a multi-tenant, multi-user, Generative-AI RAG Pattern application using Azure Cosmos DB for NoSQL with its new vector database capabilities, including full-text and hybrid search with Azure OpenAI Service using Semantic Kernel. The sample provides practical guidance on many concepts you will need to design and build these types of applications. Note that some features are implemented using Cosmos DB native SDK until Semantic Kernel can support them. +This sample application shows how to build a multi-tenant, multi-user, Generative-AI RAG Pattern application using Azure Cosmos DB for NoSQL with its new vector database capabilities with Azure OpenAI Service on Azure App Service. This sample shows both using Native SDKs as well as Semantic Kernel integration. The sample provides practical guidance on many concepts you will need to design and build these types of applications. ## Important Security Notice @@ -33,63 +32,53 @@ This template, the application code and configuration it contains, has been buil This application demonstrates the following concepts and how to implement them: -- How to build a highly scalable, multi-tenant & user, RAG Pattern application. -- Generating embeddings and completions. +- How to build a highly scalable, multi-tenant & user, Generative-AI chat application using Azure Cosmos DB for NoSQL. +- Generating completions and embeddings using Azure OpenAI Service. - Managing a context window (chat history) for natural conversational interactions with an LLM. -- Manage per-request token consumption for Azure OpenAI Service requests. -- Building a semantic cache for improved performance and cost. -- Implementing full-text and hybrid search using Azure Cosmos DB for NoSQL. +- Manage per-request token consumption and payload sizes for Azure OpenAI Service requests. +- Building a semantic cache using Azure Cosmos DB for NoSQL vector search for improved performance and cost. +- Using the Semantic Kernel SDK for completion and embeddings generation. +- Implementing RAG Pattern using vector search in Azure Cosmos DB for NoSQL on custom data to augment generated responses from an LLM. ### Architecture Diagram ![Architecture Diagram](./media/cosmos-nosql-copilot-diagram.png) ### User Experience - ![Cosmos Copilot app user interface](./media/screenshot.png) + ## Getting Started ### Prerequisites - Azure subscription. - Subscription access to Azure OpenAI service. Start here to [Request Access to Azure OpenAI Service](https://aka.ms/oaiapply). If you have access, see below for ensuring enough quota to deploy. +- Enroll in the [Azure Cosmos DB for NoSQL Vector Search Preview](https://learn.microsoft.com/azure/cosmos-db/nosql/vector-search#enroll-in-the-vector-search-preview-feature) (See below for more details) - .NET 8 or above. [Download](https://dotnet.microsoft.com/download/dotnet/8.0) - [Azure Developer CLI](https://aka.ms/azd-install) - Visual Studio, VS Code, GitHub Codespaces or another editor to edit or view the source for this sample. -#### Deploying Azure OpenAI supported regions - -The models used for this sample are **gpt-4o** and **text-3-large**. These models are not deployed in all regions and are not always present in the same region. The regions shown in the main.bicep are the known regions both models are supported in at the time this readme was last updated. To check if these models are available in additional regions, see [Azure OpenAI Service Models](https://learn.microsoft.com/azure/ai-services/openai/concepts/models) - -#### Checking Azure OpenAI quota limits - -For this sample to deploy successfully, there needs to be enough Azure OpenAI quota for the models used by this sample within your subscription. This sample deploys a new Azure OpenAI account with two models, **gpt-4o with 10K tokens** per minute and **text-3-large with 5k tokens** per minute. For more information on how to check your model quota and change it, see [Manage Azure OpenAI Service Quota](https://learn.microsoft.com/azure/ai-services/openai/how-to/quota) -#### Azure Subscription Permission Requirements + #### Vector search Preview details + This lab utilizes a preview feature, **Vector search for Azure Cosmos DB for NoSQL** which requires preview feature registration. Follow the below steps to register. You must be enrolled before you can deploy this solution: + + 1. Navigate to your Azure Cosmos DB for NoSQL resource page. + 1. Select the "Features" pane under the "Settings" menu item. + 1. Select for “Vector Search in Azure Cosmos DB for NoSQL”. + 1. Read the description to confirm you want to enroll in the preview. + 1. Select "Enable" to enroll in the Vector Search preview. -This solution deploys [user-assigned managed identities](https://learn.microsoft.com/entra/identity/managed-identities-azure-resources/overview) and defines then applies Azure Cosmos DB RBAC permissions to this identity. At a minimum you will need the following Azure RBAC roles assigned to your identity in your Azure subscription or [Subscription Owner](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/privileged#owner) access which will give you both of the following. + #### Checking Azure OpenAI quota limits -- [Manged Identity Contributor](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/identity#managed-identity-contributor) -- [DocumentDB Account Contributor](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/databases#documentdb-account-contributor) + For this sample to deploy successfully, there needs to be enough Azure OpenAI quota for the models used by this sample within your subscription. This sample deploys a new Azure OpenAI account with two models, **gpt-4o with 10K tokens** per minute and **text-3-large with 5k tokens** per minute. For more information on how to check your model quota and change it, see [Manage Azure OpenAI Service Quota](https://learn.microsoft.com/azure/ai-services/openai/how-to/quota) -#### Full-Text & Hyrbrid Search Feature + #### Azure Subscription Permission Requirements -Full-text and hybrid search in Azure Cosmos DB is in Preview and only available to a subset of regions at this time. This feature is commented out in the GetChatCompletionAsync() function in the ChatService. To use this feature you must deploy this sample in either `northcentralus` or `uksouth`. + This solution deploys [user-assigned managed identities](https://learn.microsoft.com/entra/identity/managed-identities-azure-resources/overview) and defines then applies Azure Cosmos DB RBAC permissions to this identity. At a minimum you will need the following Azure RBAC roles assigned to your identity in your Azure subscription or [Subscription Owner](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/privileged#owner) access which will give you both of the following. -To utilize this feature during preview, update **main.bicep** in the section below and enter either of the two regions listed above as the value for `location` - -```bicep -module database 'app/database.bicep' = { - name: 'database' - scope: resourceGroup - params: { - accountName: !empty(cosmosDbAccountName) ? cosmosDbAccountName : '${abbreviations.cosmosDbAccount}-${resourceToken}' - location: 'northcentralus' - tags: tags - } -} -``` + - [Manged Identity Contributor](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/identity#managed-identity-contributor) + - [DocumentDB Account Contributor](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/databases#documentdb-account-contributor) ### GitHub Codespaces @@ -143,25 +132,23 @@ A related option is VS Code Dev Containers, which will open the project in your 1. Run the following command to download the solution locally to your machine: - ```bash - azd init -t AzureCosmosDB/cosmosdb-nosql-copilot - ``` + ```bash + azd init -t AzureCosmosDB/cosmosdb-nosql-copilot + ``` 1. From the terminal, navigate to the /infra directory in this solution. 1. Log in to AZD. - - ```bash - azd auth login - ``` + + ```bash + azd auth login + ``` 1. Provision the Azure services, build your local solution container, and deploy the application. - - ```bash - azd up - ``` - -1. Follow the prompts for the subscription and select a region to deploy. **NOTE:** If intending to use the Full-Text or Hybrid search feature please see [Full-Text & Hyrbrid Search Feature](#full-text--hyrbrid-search-feature) + + ```bash + azd up + ``` ### Setting up local debugging @@ -174,35 +161,35 @@ To modify values for the Quickstarts, locate the value of `UserSecretsId` in the your-guid-here ``` - Locate the secrets.json file and open with a text editor. - Windows: `C:\Users\\AppData\Roaming\Microsoft\UserSecrets\\secrets.json` - macOS/Linux: `~/.microsoft/usersecrets//secrets.json` + ### Quickstart Follow the Quickstarts in this solution to go through the concepts for building RAG Pattern apps and the features in this sample and how to implement them yourself. Please see [Quickstarts](quickstart.md) + ## Clean up 1. Open a terminal and navigate to the /infra directory in this solution. -1. Type azd down (--force and --purge ensure the Azure OpenAI models are deleted) - - ```bash - azd down --force --purge - ``` +1. Type azd down + + ```bash + azd down + ``` ## Guidance ### Region Availability -This template uses gpt-4o and text-embedding-3-large models which may not be available in all Azure regions. Check for [up-to-date region availability](https://learn.microsoft.com/azure/ai-services/openai/concepts/models) and select a region during deployment accordingly. - * We recommend using 'canadaeast', 'eastus', 'eastus2', 'francecentral', 'japaneast', 'norwayeast', 'polandcentral', 'southindia' - 'swedencentral', 'switzerlandnorth', or 'westus3' +This template uses gpt-4o and text-embedding-3-large models which may not be available in all Azure regions. Check for [up-to-date region availability](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#standard-deployment-model-availability) and select a region during deployment accordingly + * We recommend using `eastus2', 'eastus', 'japaneast', 'uksouth', 'northeurope', or 'westus3' ### Costs @@ -220,7 +207,7 @@ Average Monthly Cost: To learn more about the services and features demonstrated in this sample, see the following: -- [Azure Cosmos DB for NoSQL Vector Search announcement](https://aka.ms/VectorSearchGaFtsPreview) +- [Azure Cosmos DB for NoSQL Vector Search announcement](https://aka.ms/CosmosDBDiskANNBlog/) - [Azure OpenAI Service documentation](https://learn.microsoft.com/azure/cognitive-services/openai/) - [Semantic Kernel](https://learn.microsoft.com/semantic-kernel/overview) - [Azure App Service documentation](https://learn.microsoft.com/azure/app-service/) diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index 9dbd672..0000000 --- a/SUMMARY.md +++ /dev/null @@ -1,114 +0,0 @@ -# Summary: Applying PRs to cosmos-native Branches - -## What Was Done - -This PR prepares changes from PRs #81, #85, and #91 to be applied to two branches: -- `cosmos-native` -- `cosmos-native-start` - -### Branches Created (locally, not pushed) - -Two local branches were created with all changes applied: -1. `copilot/apply-prs-cosmos-native` - based on `cosmos-native` -2. `copilot/apply-prs-cosmos-native-start` - based on `cosmos-native-start` - -These branches contain all the changes but cannot be pushed due to authentication constraints in the automated environment. - -### Patch Files Created - -To work around the authentication constraint, patch files were created: -- `patches/cosmos-native.patch` - Contains all changes for cosmos-native -- `patches/cosmos-native-start.patch` - Contains all changes for cosmos-native-start - -Both patches have been verified to apply cleanly to their respective branches. - -## What Needs to Be Done - -**You need to manually create two PRs using the provided patch files.** - -### Option 1: Apply Patches (Recommended) - -This is the simplest approach: - -```bash -# For cosmos-native branch -git fetch origin cosmos-native -git checkout -b pr-apply-to-cosmos-native origin/cosmos-native -git apply patches/cosmos-native.patch -git add -A -git commit -m "Apply PRs #81, #85, and #91 to cosmos-native" -git push -u origin pr-apply-to-cosmos-native - -# For cosmos-native-start branch -git fetch origin cosmos-native-start -git checkout -b pr-apply-to-cosmos-native-start origin/cosmos-native-start -git apply patches/cosmos-native-start.patch -git add -A -git commit -m "Apply PRs #81, #85, and #91 to cosmos-native-start" -git push -u origin pr-apply-to-cosmos-native-start -``` - -Then create PRs on GitHub: -1. Base: `cosmos-native`, Compare: `pr-apply-to-cosmos-native` -2. Base: `cosmos-native-start`, Compare: `pr-apply-to-cosmos-native-start` - -### Option 2: Use Local Branches (if available) - -If you have access to the local branches created during this automated task: - -```bash -# Push the pre-created branches -git push -u origin copilot/apply-prs-cosmos-native -git push -u origin copilot/apply-prs-cosmos-native-start -``` - -Then create PRs on GitHub: -1. Base: `cosmos-native`, Compare: `copilot/apply-prs-cosmos-native` -2. Base: `cosmos-native-start`, Compare: `copilot/apply-prs-cosmos-native-start` - -## Changes Being Applied - -### All Changes Include: - -1. **PR #81: GitHub Actions Unit Tests** - - New file: `.github/workflows/unit-tests.yml` - - New file: `.github/UNIT_TESTS.md` - - Adds automated testing for package restore, build, Bicep validation, and code quality - -2. **PR #85: OpenAI GlobalStandard SKU & Owner Tagging** - - Modified: `infra/app/ai.bicep` - SKU changed to GlobalStandard - - Modified: `infra/core/ai/cognitive-services/deployment.bicep` - Default SKU updated - - Modified: `infra/azd-hooks/preprovision.ps1` - Adds owner UPN retrieval - - Modified: `infra/azd-hooks/preprovision.sh` - Adds owner UPN retrieval - - Modified: `infra/main.bicep` - Adds ownerUpn parameter and tag - - Modified: `infra/main.parameters.json` - Adds OWNER_UPN parameter - - Modified: `infra/main.test.bicep` - Adds ownerUpn to test config - -3. **PR #91: Product Catalog Data Location** - - Modified: `infra/main.bicep` - Updates productDataSource URL - -### Statistics: -- 9 files changed per branch -- 317-319 insertions -- 10 deletions -- 2 new files -- 7 modified files - -## Documentation - -- **QUICK_START.md** - Quick reference guide (start here!) -- **patches/README.md** - Comprehensive documentation with multiple approaches -- **SUMMARY.md** - This file - -## Verification - -✅ Both patches have been tested and verified: -- `patches/cosmos-native.patch` applies cleanly to `cosmos-native` branch -- `patches/cosmos-native-start.patch` applies cleanly to `cosmos-native-start` branch - -## Questions? - -See the documentation files for more details: -- Quick instructions: `QUICK_START.md` -- Detailed guide: `patches/README.md` -- This summary: `SUMMARY.md` diff --git a/azure.yaml b/azure.yaml index e675001..18004ee 100644 --- a/azure.yaml +++ b/azure.yaml @@ -5,7 +5,7 @@ metadata: template: cosmos-copilot services: web: - project: ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj + project: ./src language: csharp host: appservice hooks: @@ -27,19 +27,17 @@ hooks: 'OpenAi:Endpoint' = $env:AZURE_OPENAI_ACCOUNT_ENDPOINT 'OpenAi:CompletionDeploymentName' = $env:AZURE_OPENAI_COMPLETION_DEPLOYMENT_NAME 'OpenAi:EmbeddingDeploymentName' = $env:AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME - 'OpenAi:MaxRagTokens' = $env:AZURE_OPENAI_MAX_RAG_TOKENS - 'OpenAi:MaxContextTokens' = $env:AZURE_OPENAI_MAX_CONTEXT_TOKENS 'CosmosDb:Endpoint' = $env:AZURE_COSMOS_DB_ENDPOINT 'CosmosDb:Database' = $env:AZURE_COSMOS_DB_DATABASE_NAME 'CosmosDb:ChatContainer' = $env:AZURE_COSMOS_DB_CHAT_CONTAINER_NAME 'CosmosDb:CacheContainer' = $env:AZURE_COSMOS_DB_CACHE_CONTAINER_NAME 'CosmosDb:ProductContainer' = $env:AZURE_COSMOS_DB_PRODUCT_CONTAINER_NAME - 'CosmosDb:ProductDataSourceURI' = $env:AZURE_COSMOS_DB_PRODUCT_DATA_SOURCE_URI - 'Chat:MaxContextWindow' = $env:AZURE_CHAT_MAX_CONTEXT_WINDOW + 'CosmosDb:ProductDataSourceURI' = $env:AZURE_COSMOS_DB_PRODUCT_DATA_SOURCE + 'Chat:MaxConversationTokens' = $env:AZURE_CHAT_MAX_CONVERSATION_TOKENS 'Chat:CacheSimilarityScore' = $env:AZURE_CHAT_CACHE_SIMILARITY_SCORE 'Chat:ProductMaxResults' = $env:AZURE_CHAT_PRODUCT_MAX_RESULTS } - $userSecrets | ConvertTo-Json | dotnet user-secrets set --project ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj + $userSecrets | ConvertTo-Json | dotnet user-secrets set --project ./src/cosmos-copilot.csproj shell: pwsh continueOnError: false interactive: true @@ -49,19 +47,17 @@ hooks: --arg openAiEndpoint $AZURE_OPENAI_ACCOUNT_ENDPOINT \ --arg openAiCompletionDeploymentName $AZURE_OPENAI_COMPLETION_DEPLOYMENT_NAME \ --arg openAiEmbeddingDeploymentName $AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME \ - --arg openAiMaxRagTokens $AZURE_OPENAI_MAX_RAG_TOKENS \ - --arg openAiMaxContextTokens $AZURE_OPENAI_MAX_CONTEXT_TOKENS \ --arg cosmosDbEndpoint $AZURE_COSMOS_DB_ENDPOINT \ --arg cosmosDbDatabase $AZURE_COSMOS_DB_DATABASE_NAME \ --arg cosmosDbChatContainer $AZURE_COSMOS_DB_CHAT_CONTAINER_NAME \ --arg cosmosDbCacheContainer $AZURE_COSMOS_DB_CACHE_CONTAINER_NAME \ --arg cosmosDbProductContainer $AZURE_COSMOS_DB_PRODUCT_CONTAINER_NAME \ - --arg cosmosDbProductDataSourceURI $AZURE_COSMOS_DB_PRODUCT_DATA_SOURCE_URI \ - --arg chatMaxContextWindow $AZURE_CHAT_MAX_CONTEXT_WINDOW \ - --arg chatCacheSimilarityScore $AZURE_CHAT_CACHE_SIMILARITY_SCORE \ - --arg chatProductMaxResults $AZURE_CHAT_PRODUCT_MAX_RESULTS \ - '{"OpenAi:Endpoint":$openAiEndpoint,"OpenAi:CompletionDeploymentName":$openAiCompletionDeploymentName,"OpenAi:EmbeddingDeploymentName":$openAiEmbeddingDeploymentName,"OpenAi:MaxRagTokens":$openAiMaxRagTokens,"OpenAi:MaxContextTokens":$openAiMaxContextTokens,"CosmosDb:Endpoint":$cosmosDbEndpoint,"CosmosDb:Database":$cosmosDbDatabase,"CosmosDb:ChatContainer":$cosmosDbChatContainer,"CosmosDb:CacheContainer":$cosmosDbCacheContainer,"CosmosDb:ProductContainer":$cosmosDbProductContainer,"CosmosDb:ProductDataSourceURI":$cosmosDbProductDataSourceURI,"Chat:MaxContextWindow":$chatMaxContextWindow,"Chat:CacheSimilarityScore":$chatCacheSimilarityScore,"Chat:ProductMaxResults":$chatProductMaxResults}') - echo $userSecrets | dotnet user-secrets set --project ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj + --arg cosmosDbProductDataSourceURI $AZURE_COSMOS_DB_PRODUCT_DATA_SOURCE \ + --arg maxConversationTokens $AZURE_CHAT_MAX_CONVERSATION_TOKENS \ + --arg cacheSimilarityScore $AZURE_CHAT_CACHE_SIMILARITY_SCORE \ + --arg productMaxResults $AZURE_CHAT_PRODUCT_MAX_RESULTS \ + '{"OpenAi:Endpoint":$openAiEndpoint,"OpenAi:CompletionDeploymentName":$openAiCompletionDeploymentName,"OpenAi:EmbeddingDeploymentName":$openAiEmbeddingDeploymentName,"CosmosDb:Endpoint":$cosmosDbEndpoint,"CosmosDb:Database":$cosmosDbDatabase,"CosmosDb:ChatContainer":$cosmosDbChatContainer,"CosmosDb:CacheContainer":$cosmosDbCacheContainer,"CosmosDb:ProductContainer":$cosmosDbProductContainer,"CosmosDb:ProductDataSource":$cosmosDbProductDataSourceURI,"Chat:MaxConversationTokens":$maxConversationTokens,"Chat:CacheSimilarityScore":$cacheSimilarityScore,"Chat:ProductMaxResults":$productMaxResults}') + echo $userSecrets | dotnet user-secrets set --project ./src/cosmos-copilot.csproj shell: sh continueOnError: false interactive: true diff --git a/infra/app/database.bicep b/infra/app/database.bicep index 5687146..047401b 100644 --- a/infra/app/database.bicep +++ b/infra/app/database.bicep @@ -29,12 +29,6 @@ var containers = [ { path: '/sessionId/?' } - { - path: '/type/?' - } - { - path: '/timeStamp/?' - } ] excludedPaths: [ { @@ -45,9 +39,6 @@ var containers = [ vectorEmbeddingPolicy: { vectorEmbeddings: [] } - fullTextPolicy: { - fullTextPaths: [] - } } { name: 'cache' // Container for cached messages @@ -62,13 +53,11 @@ var containers = [ path: '/*' } ] - excludedPaths: [ - - ] + //excludedPaths: [{}] vectorIndexes: [ { path: '/vectors' - type: 'diskANN' + type: 'quantizedFlat' } ] } @@ -82,9 +71,6 @@ var containers = [ } ] } - fullTextPolicy: { - fullTextPaths: [] - } } { name: 'products' // Container for products @@ -103,15 +89,7 @@ var containers = [ vectorIndexes: [ { path: '/vectors' - type: 'diskANN' - } - ] - fullTextIndexes: [ - { - path: '/tags' - } - { - path: '/description' + type: 'quantizedFlat' } ] } @@ -125,19 +103,6 @@ var containers = [ } ] } - fullTextPolicy: { - defaultLanguage: 'en-US' - fullTextPaths: [ - { - path: '/tags' - language: 'en-US' - } - { - path: '/description' - language: 'en-US' - } - ] - } } ] @@ -149,7 +114,6 @@ module cosmosDbAccount '../core/database/cosmos-db/nosql/account.bicep' = { tags: tags enableServerless: true enableVectorSearch: true - enableNoSQLFullTextSearch: true disableKeyBasedAuth: true } } @@ -176,7 +140,6 @@ module cosmosDbContainers '../core/database/cosmos-db/nosql/container.bicep' = [ partitionKeyPaths: container.partitionKeyPaths indexingPolicy: container.indexingPolicy vectorEmbeddingPolicy: container.vectorEmbeddingPolicy - fullTextPolicy: container.fullTextPolicy } } ] diff --git a/infra/app/security.bicep b/infra/app/security.bicep index 5f6c971..d3467ba 100644 --- a/infra/app/security.bicep +++ b/infra/app/security.bicep @@ -8,9 +8,6 @@ param appPrincipalId string = '' @description('Id of the user principals to assign database and application roles.') param userPrincipalId string = '' -@description('Principal type used for the role assignment.') -param principalType string = '' - resource database 'Microsoft.DocumentDB/databaseAccounts@2023-04-15' existing = { name: databaseAccountName } @@ -34,7 +31,6 @@ module nosqlAppAssignment '../core/database/cosmos-db/nosql/role/assignment.bice targetAccountName: database.name // Existing account roleDefinitionId: nosqlDefinition.outputs.id // New role definition principalId: appPrincipalId // Principal to assign role - principalType: principalType // Principal type for assigning role } } @@ -44,7 +40,6 @@ module nosqlUserAssignment '../core/database/cosmos-db/nosql/role/assignment.bic targetAccountName: database.name // Existing account roleDefinitionId: nosqlDefinition.outputs.id // New role definition principalId: userPrincipalId ?? '' // Principal to assign role - principalType: principalType // Principal type for assigning role } } @@ -56,7 +51,7 @@ module openaiAppAssignment '../core/security/role/assignment.bicep' = if (!empty '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd' ) // Cognitive Services OpenAI User built-in role principalId: appPrincipalId // Principal to assign role - principalType: 'ServicePrincipal' // Specify the principal type // was 'None' but this appears to cause issues + principalType: 'None' // Don't specify the principal type } } @@ -68,7 +63,7 @@ module openaiUserAssignment '../core/security/role/assignment.bicep' = if (!empt '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd' ) // Cognitive Services OpenAI User built-in role principalId: userPrincipalId // Principal to assign role - principalType: !empty(principalType) ? principalType : 'User' // Principal type or current deployment user + principalType: 'User' // Current deployment user } } diff --git a/infra/app/web.bicep b/infra/app/web.bicep index 78569d0..cd37e9a 100644 --- a/infra/app/web.bicep +++ b/infra/app/web.bicep @@ -18,8 +18,6 @@ param openAiAccountEndpoint string type openAiOptions = { completionDeploymentName: string embeddingDeploymentName: string - maxRagTokens: string - maxContextTokens: string } @description('Application configuration settings for OpenAI.') @@ -30,13 +28,13 @@ type cosmosDbOptions = { chatContainer: string cacheContainer: string productContainer: string - productDataSourceUri: string + productDataSource: string } @description('Application configuration settings for Azure Cosmos DB.') param cosmosDbSettings cosmosDbOptions type chatOptions = { - maxContextWindow: string + maxConversationTokens: string cacheSimilarityScore: string productMaxResults: string } @@ -90,17 +88,15 @@ module appServiceWebAppConfig '../core/host/app-service/config.bicep' = { OPENAI__ENDPOINT: openAiAccountEndpoint OPENAI__COMPLETIONDEPLOYMENTNAME: openAiSettings.completionDeploymentName OPENAI__EMBEDDINGDEPLOYMENTNAME: openAiSettings.embeddingDeploymentName - OPENAI__MAXRAGTOKENS: openAiSettings.maxRagTokens - OPENAI__MAXCONTEXTTOKENS: openAiSettings.maxContextTokens COSMOSDB__ENDPOINT: databaseAccountEndpoint COSMOSDB__DATABASE: cosmosDbSettings.database COSMOSDB__CHATCONTAINER: cosmosDbSettings.chatContainer COSMOSDB__CACHECONTAINER: cosmosDbSettings.cacheContainer COSMOSDB__PRODUCTCONTAINER: cosmosDbSettings.productContainer - COSMOSDB__PRODUCTDATASOURCEURI: cosmosDbSettings.productDataSourceUri - CHAT__MAXCONTEXTWINDOW: chatSettings.maxContextWindow - CHAT__CACHESIMILARITYSCORE: chatSettings.cacheSimilarityScore - CHAT__PRODUCTMAXRESULTS: chatSettings.productMaxResults + COSMOSDB__PRODUCTDATASOURCE: cosmosDbSettings.productDataSource + CHAT_MAXCONVERSATIONTOKENS: chatSettings.maxConversationTokens + CHAT_CACHESIMILARITYSCORE: chatSettings.cacheSimilarityScore + CHAT_PRODUCTMAXRESULTS: chatSettings.productMaxResults AZURE_CLIENT_ID: userAssignedManagedIdentity.clientId } } diff --git a/infra/core/database/cosmos-db/account.bicep b/infra/core/database/cosmos-db/account.bicep index 7c9d5d6..19590d6 100644 --- a/infra/core/database/cosmos-db/account.bicep +++ b/infra/core/database/cosmos-db/account.bicep @@ -4,7 +4,7 @@ param name string param location string = resourceGroup().location param tags object = {} -@allowed(['GlobalDocumentDB']) +@allowed(['GlobalDocumentDB', 'MongoDB', 'Parse']) @description('Sets the kind of account.') param kind string = 'GlobalDocumentDB' @@ -14,9 +14,6 @@ param enableServerless bool = true @description('Enables NoSQL vector search for this account. Defaults to false.') param enableNoSQLVectorSearch bool = false -@description('Enables NoSQL full text search for this account. Defaults to false.') -param enableNoSQLFullTextSearch bool = false - @description('Disables key-based authentication. Defaults to false.') param disableKeyBasedAuth bool = false @@ -39,6 +36,11 @@ resource account 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = { ] enableAutomaticFailover: false enableMultipleWriteLocations: false + apiProperties: (kind == 'MongoDB') + ? { + serverVersion: '4.2' + } + : {} disableLocalAuth: disableKeyBasedAuth capabilities: union( (enableServerless) @@ -54,14 +56,7 @@ resource account 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = { name: 'EnableNoSQLVectorSearch' } ] - : [], - (enableNoSQLFullTextSearch) - ? [ - { - name: 'EnableNoSQLFullTextSearch' - } - ] - : [] + : [] ) } } diff --git a/infra/core/database/cosmos-db/nosql/account.bicep b/infra/core/database/cosmos-db/nosql/account.bicep index 6023d27..31a029b 100644 --- a/infra/core/database/cosmos-db/nosql/account.bicep +++ b/infra/core/database/cosmos-db/nosql/account.bicep @@ -13,9 +13,6 @@ param disableKeyBasedAuth bool = false @description('Enables vector search for this account. Defaults to false.') param enableVectorSearch bool = false -@description('Enables NoSQL full text search for this account. Defaults to false.') -param enableNoSQLFullTextSearch bool = false - module account '../account.bicep' = { name: 'cosmos-db-nosql-account' params: { @@ -25,7 +22,6 @@ module account '../account.bicep' = { kind: 'GlobalDocumentDB' enableServerless: enableServerless enableNoSQLVectorSearch: enableVectorSearch - enableNoSQLFullTextSearch: enableNoSQLFullTextSearch disableKeyBasedAuth: disableKeyBasedAuth } } diff --git a/infra/core/database/cosmos-db/nosql/container.bicep b/infra/core/database/cosmos-db/nosql/container.bicep index e31a199..24c87ab 100644 --- a/infra/core/database/cosmos-db/nosql/container.bicep +++ b/infra/core/database/cosmos-db/nosql/container.bicep @@ -29,9 +29,6 @@ param indexingPolicy object = {} @description('Optional vector embedding policy for the container.') param vectorEmbeddingPolicy object = {} -@description('Optional full text policy for the container.') -param fullTextPolicy object = {} - var options = setThroughput ? autoscale ? { @@ -77,11 +74,6 @@ resource container 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/container ? { vectorEmbeddingPolicy: vectorEmbeddingPolicy } - : {}, - !empty(fullTextPolicy) - ? { - fullTextPolicy: fullTextPolicy - } : {} ) } diff --git a/infra/core/database/cosmos-db/nosql/role/assignment.bicep b/infra/core/database/cosmos-db/nosql/role/assignment.bicep index f59be03..9a9d981 100644 --- a/infra/core/database/cosmos-db/nosql/role/assignment.bicep +++ b/infra/core/database/cosmos-db/nosql/role/assignment.bicep @@ -9,9 +9,6 @@ param roleDefinitionId string @description('Id of the principal to assign the role definition for the account.') param principalId string -@description('Principal type used for the role assignment.') -param principalType string - resource account 'Microsoft.DocumentDB/databaseAccounts@2023-04-15' existing = { name: targetAccountName } @@ -23,7 +20,6 @@ resource assignment 'Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@20 principalId: principalId roleDefinitionId: roleDefinitionId scope: account.id - principalType: principalType } } diff --git a/infra/core/security/role/assignment.bicep b/infra/core/security/role/assignment.bicep index e796ec7..2362f41 100644 --- a/infra/core/security/role/assignment.bicep +++ b/infra/core/security/role/assignment.bicep @@ -6,6 +6,14 @@ param roleDefinitionId string @description('Id of the principal to assign the role definition for the account.') param principalId string +@allowed([ + 'Device' + 'ForeignGroup' + 'Group' + 'ServicePrincipal' + 'User' + 'None' +]) @description('Type of principal associated with the principal Id.') param principalType string diff --git a/media/quickstart-conversational-context.png b/media/quickstart-conversational-context.png index 385140c2b8cf21ee8fc7b98f82ca31088f28a7c4..c714c90c0dfd0e8aea66d623ad6b7a91240f4981 100644 GIT binary patch literal 98994 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

m69Y1}O^7bgdco^yy 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 TsFVy}0zL||Dl!Exj6VGjz^#)4 literal 104208 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�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 ZVKxp1y{`JIOS%%Ot7@qfDZT#qe*g*{*E#?I literal 103180 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

%4hFUa#qsnA#VFJ-_y;daT-C48%|mtM5A? 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 -Date: Wed, 15 Oct 2025 02:13:45 +0000 -Subject: [PATCH] Apply PRs #81, #85, and #91 to cosmos-native-start branch - ---- - .github/UNIT_TESTS.md | 131 +++++++++++++++ - .github/workflows/unit-tests.yml | 152 ++++++++++++++++++ - infra/app/ai.bicep | 2 +- - infra/azd-hooks/preprovision.ps1 | 9 +- - infra/azd-hooks/preprovision.sh | 11 +- - .../ai/cognitive-services/deployment.bicep | 4 +- - infra/main.bicep | 16 +- - infra/main.parameters.json | 3 + - infra/main.test.bicep | 1 + - 9 files changed, 319 insertions(+), 10 deletions(-) - create mode 100644 .github/UNIT_TESTS.md - create mode 100644 .github/workflows/unit-tests.yml - -diff --git a/.github/UNIT_TESTS.md b/.github/UNIT_TESTS.md -new file mode 100644 -index 0000000..4fc817a ---- /dev/null -+++ b/.github/UNIT_TESTS.md -@@ -0,0 +1,131 @@ -+# Unit Tests Documentation -+ -+This document describes the unit tests implemented for the cosmos-copilot project. -+ -+> **Note**: For a comprehensive guide on testing in GitHub Codespaces, deploying the solution, and running the app, see [TESTING_GUIDE.md](./TESTING_GUIDE.md) -+ -+## Overview -+ -+The unit tests are implemented as GitHub Actions workflows that run automatically on: -+- Push to main branch -+- Pull requests to main branch -+- Manual workflow dispatch -+ -+## Test Jobs -+ -+### 1. Package Restore and Build (`package-restore-and-build`) -+ -+**Purpose**: Ensure packages are up to date and compatible with each other, and the project compiles. -+ -+**Steps**: -+- Checkout code -+- Setup .NET 8.0.x -+- Install .NET Aspire workload (required for the project) -+- Restore NuGet dependencies -+- Check for outdated packages (informational) -+- Check for deprecated packages (informational) -+- Build solution in Release configuration -+- Verify web app can be built independently -+ -+**Success Criteria**: -+- All packages restore successfully -+- Solution builds without errors -+- No critical package compatibility issues -+ -+### 2. Bicep Deployment Validation (`bicep-validation`) -+ -+**Purpose**: Validate the Bicep deployment files are syntactically correct and can be compiled. -+ -+**Steps**: -+- Checkout code -+- Install Bicep CLI -+- Build and validate main Bicep file -+- Lint Bicep files for best practices -+- Check for compilation errors -+ -+**Success Criteria**: -+- Bicep files compile without errors -+- No critical linting violations -+ -+### 3. Deployment What-If Analysis (`deployment-validation`) - **OPTIONAL** -+ -+**Purpose**: Ensure the solution can be deployed (if Azure credentials are available). -+ -+**Steps**: -+- Checkout code -+- Check if Azure credentials are available -+- Login to Azure (if credentials are configured) -+- Run deployment validation using `az deployment sub validate` -+- Perform what-if analysis on the deployment -+ -+**Success Criteria**: -+- Job always succeeds (never fails the workflow) -+- If credentials are available: deployment template is validated -+- If credentials are not available: skips gracefully with informational message -+ -+**Note**: This job is **completely optional**. The workflow will succeed whether or not the `AZURE_CREDENTIALS` secret is configured. Add the secret only if you want to enable live deployment validation. -+ -+### 4. Code Quality Checks (`code-quality`) -+ -+**Purpose**: Additional quality checks including build warnings and code formatting. -+ -+**Steps**: -+- Checkout code -+- Setup .NET 8.0.x -+- Install .NET Aspire workload -+- Restore dependencies -+- Build with warnings as errors (informational) -+- Check code formatting using `dotnet format` (informational) -+ -+**Success Criteria**: -+- Code builds successfully -+- Minimal build warnings -+- Consistent code formatting (informational only) -+ -+## Configuration -+ -+### Required Secrets -+ -+- None (for basic functionality) -+ -+### Optional Secrets -+ -+- `AZURE_CREDENTIALS`: Azure service principal credentials for deployment validation -+ - Format: JSON with clientId, clientSecret, subscriptionId, tenantId -+ - If not configured, deployment validation will be skipped -+ -+## Running Tests Locally -+ -+### Package and Build Tests -+```bash -+cd src -+dotnet workload install aspire -+dotnet restore cosmos-copilot.sln -+dotnet build cosmos-copilot.sln --configuration Release -+``` -+ -+### Bicep Validation -+```bash -+cd infra -+bicep build main.bicep -+``` -+ -+### Check for Outdated Packages -+```bash -+dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated -+``` -+ -+### Code Formatting -+```bash -+cd src -+dotnet format cosmos-copilot.sln --verify-no-changes -+``` -+ -+## Continuous Improvement -+ -+These tests should be expanded as the project grows to include: -+- Unit tests for individual components -+- Integration tests for services -+- End-to-end tests for critical workflows -+- Performance and load tests -+- Security scanning -diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml -new file mode 100644 -index 0000000..d2d7ff4 ---- /dev/null -+++ b/.github/workflows/unit-tests.yml -@@ -0,0 +1,152 @@ -+name: Unit Tests -+ -+on: -+ push: -+ branches: [ main ] -+ pull_request: -+ branches: [ main ] -+ workflow_dispatch: -+ -+jobs: -+ package-restore-and-build: -+ name: Package Restore and Build -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Setup .NET -+ uses: actions/setup-dotnet@v4 -+ with: -+ dotnet-version: '8.0.x' -+ -+ - name: Install .NET Aspire workload -+ run: dotnet workload install aspire -+ -+ - name: Restore dependencies -+ run: dotnet restore ./src/cosmos-copilot.sln -+ -+ - name: Verify package compatibility -+ run: | -+ echo "Checking for package compatibility issues..." -+ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated || true -+ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --deprecated || true -+ -+ - name: Build solution -+ run: dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore -+ -+ - name: Verify startup capability -+ run: | -+ echo "Verifying the solution compiles and can start..." -+ dotnet build ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj --configuration Release --no-restore -+ -+ bicep-validation: -+ name: Bicep Deployment Validation -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Setup Bicep CLI -+ run: | -+ # Install Bicep CLI -+ curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 -+ chmod +x ./bicep -+ sudo mv ./bicep /usr/local/bin/bicep -+ bicep --version -+ -+ - name: Validate Bicep files -+ run: | -+ echo "Validating main Bicep deployment file..." -+ bicep build ./infra/main.bicep -+ -+ - name: Lint Bicep files -+ run: | -+ echo "Linting Bicep files..." -+ bicep build ./infra/main.bicep --diagnostics-format=sarif --outfile bicep-linter.sarif || true -+ -+ - name: Check for Bicep compilation errors -+ run: | -+ echo "Checking for critical Bicep errors..." -+ if bicep build ./infra/main.bicep 2>&1 | grep -i "error"; then -+ echo "Bicep compilation has errors!" -+ exit 1 -+ else -+ echo "Bicep compilation successful!" -+ fi -+ -+ deployment-validation: -+ name: Deployment What-If Analysis (Optional) -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Check for Azure credentials -+ id: check-credentials -+ run: | -+ if [ -n "${{ secrets.AZURE_CREDENTIALS }}" ]; then -+ echo "credentials_available=true" >> $GITHUB_OUTPUT -+ else -+ echo "credentials_available=false" >> $GITHUB_OUTPUT -+ fi -+ -+ - name: Setup Azure CLI -+ id: azure-login -+ uses: azure/login@v2 -+ with: -+ creds: ${{ secrets.AZURE_CREDENTIALS }} -+ if: steps.check-credentials.outputs.credentials_available == 'true' -+ continue-on-error: true -+ -+ - name: Validate deployment template (if credentials available) -+ if: steps.azure-login.outcome == 'success' -+ run: | -+ echo "Running what-if deployment analysis..." -+ az deployment sub validate \ -+ --location eastus \ -+ --template-file ./infra/main.bicep \ -+ --parameters environmentName=test-validation location=eastus -+ continue-on-error: true -+ -+ - name: Skip deployment validation (no credentials) -+ if: steps.check-credentials.outputs.credentials_available != 'true' -+ run: | -+ echo "ℹ️ Azure credentials not configured. Skipping deployment validation." -+ echo "This is optional - the workflow will continue successfully." -+ echo "" -+ echo "To enable deployment validation, add AZURE_CREDENTIALS secret to the repository." -+ echo "See the PR description for the JSON format required." -+ -+ code-quality: -+ name: Code Quality Checks -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Setup .NET -+ uses: actions/setup-dotnet@v4 -+ with: -+ dotnet-version: '8.0.x' -+ -+ - name: Install .NET Aspire workload -+ run: dotnet workload install aspire -+ -+ - name: Restore dependencies -+ run: dotnet restore ./src/cosmos-copilot.sln -+ -+ - name: Check for build warnings -+ run: | -+ echo "Building solution and checking for warnings..." -+ dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore /warnaserror || true -+ -+ - name: Code format check (if dotnet format available) -+ run: | -+ echo "Checking code formatting..." -+ dotnet format ./src/cosmos-copilot.sln --verify-no-changes --no-restore || true -+ continue-on-error: true -diff --git a/infra/app/ai.bicep b/infra/app/ai.bicep -index 014471d..7d06c1d 100644 ---- a/infra/app/ai.bicep -+++ b/infra/app/ai.bicep -@@ -38,7 +38,7 @@ module openAiModelDeployments '../core/ai/cognitive-services/deployment.bicep' = - params: { - name: deployment.name - parentAccountName: openAiAccount.outputs.name -- skuName: 'Standard' -+ skuName: 'GlobalStandard' - skuCapacity: deployment.skuCapacity - modelName: deployment.modelName - modelVersion: deployment.modelVersion -diff --git a/infra/azd-hooks/preprovision.ps1 b/infra/azd-hooks/preprovision.ps1 -index d1aa58b..4dd455e 100644 ---- a/infra/azd-hooks/preprovision.ps1 -+++ b/infra/azd-hooks/preprovision.ps1 -@@ -1,2 +1,9 @@ - # Register any required resource providers --Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement -\ No newline at end of file -+Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement -+ -+# Get the current user's UPN and set it as an azd environment variable -+$ownerUpn = (az ad signed-in-user show --query userPrincipalName -o tsv) -+if ($ownerUpn) { -+ azd env set OWNER_UPN $ownerUpn -+ Write-Host "Set OWNER_UPN to: $ownerUpn" -+} -\ No newline at end of file -diff --git a/infra/azd-hooks/preprovision.sh b/infra/azd-hooks/preprovision.sh -index aba4131..77c93c2 100644 ---- a/infra/azd-hooks/preprovision.sh -+++ b/infra/azd-hooks/preprovision.sh -@@ -1,2 +1,11 @@ -+#!/bin/bash -+ - # # Register any required resource providers --az provider register --namespace Microsoft.AlertsManagement -\ No newline at end of file -+az provider register --namespace Microsoft.AlertsManagement -+ -+# Get the current user's UPN and set it as an azd environment variable -+OWNER_UPN=$(az ad signed-in-user show --query userPrincipalName -o tsv) -+if [ -n "$OWNER_UPN" ]; then -+ azd env set OWNER_UPN "$OWNER_UPN" -+ echo "Set OWNER_UPN to: $OWNER_UPN" -+fi -\ No newline at end of file -diff --git a/infra/core/ai/cognitive-services/deployment.bicep b/infra/core/ai/cognitive-services/deployment.bicep -index 693ebf0..19eeea2 100644 ---- a/infra/core/ai/cognitive-services/deployment.bicep -+++ b/infra/core/ai/cognitive-services/deployment.bicep -@@ -5,8 +5,8 @@ param name string - @description('Name of the parent Azure Cognitive Services account.') - param parentAccountName string - --@description('Name of the SKU for the deployment. Defaults to "Standard".') --param skuName string = 'Standard' -+@description('Name of the SKU for the deployment. Defaults to "GlobalStandard".') -+param skuName string = 'GlobalStandard' - - @description('Capacity of the SKU for the deployment. Defaults to 100.') - param skuCapacity int = 100 -diff --git a/infra/main.bicep b/infra/main.bicep -index d0ec86e..7a52e6f 100644 ---- a/infra/main.bicep -+++ b/infra/main.bicep -@@ -21,6 +21,9 @@ param location string - @description('Id of the principal to assign database and application roles.') - param principalId string = '' - -+@description('UPN (User Principal Name) of the owner for resource tagging.') -+param ownerUpn string = '' -+ - // Optional parameters - param openAiAccountName string = '' - param cosmosDbAccountName string = '' -@@ -33,10 +36,13 @@ param serviceName string = 'web' - - var abbreviations = loadJsonContent('abbreviations.json') - var resourceToken = toLower(uniqueString(subscription().id, environmentName, location)) --var tags = { -- 'azd-env-name': environmentName -- repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' --} -+var tags = union( -+ { -+ 'azd-env-name': environmentName -+ repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' -+ }, -+ !empty(ownerUpn) ? { owner: ownerUpn } : {} -+) - - var chatSettings = { - maxConversationTokens: '100' -@@ -44,7 +50,7 @@ var chatSettings = { - productMaxResults: '10' - } - --var productDataSource = 'https://cosmosdbcosmicworks.blob.core.windows.net/cosmic-works-vectorized/product-text-3-large-1536.json' -+var productDataSource = 'https://raw.githubusercontent.com/AzureCosmosDB/cosmosdb-nosql-copilot/refs/heads/main/data/products-text-3-large-1536.json' - - resource resourceGroup 'Microsoft.Resources/resourceGroups@2022-09-01' = { - name: environmentName -diff --git a/infra/main.parameters.json b/infra/main.parameters.json -index 67ad852..758e7ec 100644 ---- a/infra/main.parameters.json -+++ b/infra/main.parameters.json -@@ -10,6 +10,9 @@ - }, - "principalId": { - "value": "${AZURE_PRINCIPAL_ID}" -+ }, -+ "ownerUpn": { -+ "value": "${OWNER_UPN}" - } - } - } -\ No newline at end of file -diff --git a/infra/main.test.bicep b/infra/main.test.bicep -index e9aa30c..e208b4e 100644 ---- a/infra/main.test.bicep -+++ b/infra/main.test.bicep -@@ -14,5 +14,6 @@ module main 'main.bicep' = { - environmentName: environmentName - location: location - principalId: '' -+ ownerUpn: '' - } - } --- -2.51.0 - diff --git a/patches/cosmos-native.patch b/patches/cosmos-native.patch deleted file mode 100644 index 012bc49..0000000 --- a/patches/cosmos-native.patch +++ /dev/null @@ -1,448 +0,0 @@ -From e977aa29633fbacdc0f2e34b72efa4d009f3e981 Mon Sep 17 00:00:00 2001 -From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> -Date: Wed, 15 Oct 2025 02:10:13 +0000 -Subject: [PATCH] Apply PRs #81, #85, and #91 to cosmos-native branch - ---- - .github/UNIT_TESTS.md | 131 +++++++++++++++ - .github/workflows/unit-tests.yml | 152 ++++++++++++++++++ - infra/app/ai.bicep | 2 +- - infra/azd-hooks/preprovision.ps1 | 9 +- - infra/azd-hooks/preprovision.sh | 9 +- - .../ai/cognitive-services/deployment.bicep | 4 +- - infra/main.bicep | 16 +- - infra/main.parameters.json | 3 + - infra/main.test.bicep | 1 + - 9 files changed, 317 insertions(+), 10 deletions(-) - create mode 100644 .github/UNIT_TESTS.md - create mode 100644 .github/workflows/unit-tests.yml - -diff --git a/.github/UNIT_TESTS.md b/.github/UNIT_TESTS.md -new file mode 100644 -index 0000000..4fc817a ---- /dev/null -+++ b/.github/UNIT_TESTS.md -@@ -0,0 +1,131 @@ -+# Unit Tests Documentation -+ -+This document describes the unit tests implemented for the cosmos-copilot project. -+ -+> **Note**: For a comprehensive guide on testing in GitHub Codespaces, deploying the solution, and running the app, see [TESTING_GUIDE.md](./TESTING_GUIDE.md) -+ -+## Overview -+ -+The unit tests are implemented as GitHub Actions workflows that run automatically on: -+- Push to main branch -+- Pull requests to main branch -+- Manual workflow dispatch -+ -+## Test Jobs -+ -+### 1. Package Restore and Build (`package-restore-and-build`) -+ -+**Purpose**: Ensure packages are up to date and compatible with each other, and the project compiles. -+ -+**Steps**: -+- Checkout code -+- Setup .NET 8.0.x -+- Install .NET Aspire workload (required for the project) -+- Restore NuGet dependencies -+- Check for outdated packages (informational) -+- Check for deprecated packages (informational) -+- Build solution in Release configuration -+- Verify web app can be built independently -+ -+**Success Criteria**: -+- All packages restore successfully -+- Solution builds without errors -+- No critical package compatibility issues -+ -+### 2. Bicep Deployment Validation (`bicep-validation`) -+ -+**Purpose**: Validate the Bicep deployment files are syntactically correct and can be compiled. -+ -+**Steps**: -+- Checkout code -+- Install Bicep CLI -+- Build and validate main Bicep file -+- Lint Bicep files for best practices -+- Check for compilation errors -+ -+**Success Criteria**: -+- Bicep files compile without errors -+- No critical linting violations -+ -+### 3. Deployment What-If Analysis (`deployment-validation`) - **OPTIONAL** -+ -+**Purpose**: Ensure the solution can be deployed (if Azure credentials are available). -+ -+**Steps**: -+- Checkout code -+- Check if Azure credentials are available -+- Login to Azure (if credentials are configured) -+- Run deployment validation using `az deployment sub validate` -+- Perform what-if analysis on the deployment -+ -+**Success Criteria**: -+- Job always succeeds (never fails the workflow) -+- If credentials are available: deployment template is validated -+- If credentials are not available: skips gracefully with informational message -+ -+**Note**: This job is **completely optional**. The workflow will succeed whether or not the `AZURE_CREDENTIALS` secret is configured. Add the secret only if you want to enable live deployment validation. -+ -+### 4. Code Quality Checks (`code-quality`) -+ -+**Purpose**: Additional quality checks including build warnings and code formatting. -+ -+**Steps**: -+- Checkout code -+- Setup .NET 8.0.x -+- Install .NET Aspire workload -+- Restore dependencies -+- Build with warnings as errors (informational) -+- Check code formatting using `dotnet format` (informational) -+ -+**Success Criteria**: -+- Code builds successfully -+- Minimal build warnings -+- Consistent code formatting (informational only) -+ -+## Configuration -+ -+### Required Secrets -+ -+- None (for basic functionality) -+ -+### Optional Secrets -+ -+- `AZURE_CREDENTIALS`: Azure service principal credentials for deployment validation -+ - Format: JSON with clientId, clientSecret, subscriptionId, tenantId -+ - If not configured, deployment validation will be skipped -+ -+## Running Tests Locally -+ -+### Package and Build Tests -+```bash -+cd src -+dotnet workload install aspire -+dotnet restore cosmos-copilot.sln -+dotnet build cosmos-copilot.sln --configuration Release -+``` -+ -+### Bicep Validation -+```bash -+cd infra -+bicep build main.bicep -+``` -+ -+### Check for Outdated Packages -+```bash -+dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated -+``` -+ -+### Code Formatting -+```bash -+cd src -+dotnet format cosmos-copilot.sln --verify-no-changes -+``` -+ -+## Continuous Improvement -+ -+These tests should be expanded as the project grows to include: -+- Unit tests for individual components -+- Integration tests for services -+- End-to-end tests for critical workflows -+- Performance and load tests -+- Security scanning -diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml -new file mode 100644 -index 0000000..d2d7ff4 ---- /dev/null -+++ b/.github/workflows/unit-tests.yml -@@ -0,0 +1,152 @@ -+name: Unit Tests -+ -+on: -+ push: -+ branches: [ main ] -+ pull_request: -+ branches: [ main ] -+ workflow_dispatch: -+ -+jobs: -+ package-restore-and-build: -+ name: Package Restore and Build -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Setup .NET -+ uses: actions/setup-dotnet@v4 -+ with: -+ dotnet-version: '8.0.x' -+ -+ - name: Install .NET Aspire workload -+ run: dotnet workload install aspire -+ -+ - name: Restore dependencies -+ run: dotnet restore ./src/cosmos-copilot.sln -+ -+ - name: Verify package compatibility -+ run: | -+ echo "Checking for package compatibility issues..." -+ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --outdated || true -+ dotnet list ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj package --deprecated || true -+ -+ - name: Build solution -+ run: dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore -+ -+ - name: Verify startup capability -+ run: | -+ echo "Verifying the solution compiles and can start..." -+ dotnet build ./src/cosmos-copilot.WebApp/cosmos-copilot.WebApp.csproj --configuration Release --no-restore -+ -+ bicep-validation: -+ name: Bicep Deployment Validation -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Setup Bicep CLI -+ run: | -+ # Install Bicep CLI -+ curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 -+ chmod +x ./bicep -+ sudo mv ./bicep /usr/local/bin/bicep -+ bicep --version -+ -+ - name: Validate Bicep files -+ run: | -+ echo "Validating main Bicep deployment file..." -+ bicep build ./infra/main.bicep -+ -+ - name: Lint Bicep files -+ run: | -+ echo "Linting Bicep files..." -+ bicep build ./infra/main.bicep --diagnostics-format=sarif --outfile bicep-linter.sarif || true -+ -+ - name: Check for Bicep compilation errors -+ run: | -+ echo "Checking for critical Bicep errors..." -+ if bicep build ./infra/main.bicep 2>&1 | grep -i "error"; then -+ echo "Bicep compilation has errors!" -+ exit 1 -+ else -+ echo "Bicep compilation successful!" -+ fi -+ -+ deployment-validation: -+ name: Deployment What-If Analysis (Optional) -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Check for Azure credentials -+ id: check-credentials -+ run: | -+ if [ -n "${{ secrets.AZURE_CREDENTIALS }}" ]; then -+ echo "credentials_available=true" >> $GITHUB_OUTPUT -+ else -+ echo "credentials_available=false" >> $GITHUB_OUTPUT -+ fi -+ -+ - name: Setup Azure CLI -+ id: azure-login -+ uses: azure/login@v2 -+ with: -+ creds: ${{ secrets.AZURE_CREDENTIALS }} -+ if: steps.check-credentials.outputs.credentials_available == 'true' -+ continue-on-error: true -+ -+ - name: Validate deployment template (if credentials available) -+ if: steps.azure-login.outcome == 'success' -+ run: | -+ echo "Running what-if deployment analysis..." -+ az deployment sub validate \ -+ --location eastus \ -+ --template-file ./infra/main.bicep \ -+ --parameters environmentName=test-validation location=eastus -+ continue-on-error: true -+ -+ - name: Skip deployment validation (no credentials) -+ if: steps.check-credentials.outputs.credentials_available != 'true' -+ run: | -+ echo "ℹ️ Azure credentials not configured. Skipping deployment validation." -+ echo "This is optional - the workflow will continue successfully." -+ echo "" -+ echo "To enable deployment validation, add AZURE_CREDENTIALS secret to the repository." -+ echo "See the PR description for the JSON format required." -+ -+ code-quality: -+ name: Code Quality Checks -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout code -+ uses: actions/checkout@v4 -+ -+ - name: Setup .NET -+ uses: actions/setup-dotnet@v4 -+ with: -+ dotnet-version: '8.0.x' -+ -+ - name: Install .NET Aspire workload -+ run: dotnet workload install aspire -+ -+ - name: Restore dependencies -+ run: dotnet restore ./src/cosmos-copilot.sln -+ -+ - name: Check for build warnings -+ run: | -+ echo "Building solution and checking for warnings..." -+ dotnet build ./src/cosmos-copilot.sln --configuration Release --no-restore /warnaserror || true -+ -+ - name: Code format check (if dotnet format available) -+ run: | -+ echo "Checking code formatting..." -+ dotnet format ./src/cosmos-copilot.sln --verify-no-changes --no-restore || true -+ continue-on-error: true -diff --git a/infra/app/ai.bicep b/infra/app/ai.bicep -index 014471d..7d06c1d 100644 ---- a/infra/app/ai.bicep -+++ b/infra/app/ai.bicep -@@ -38,7 +38,7 @@ module openAiModelDeployments '../core/ai/cognitive-services/deployment.bicep' = - params: { - name: deployment.name - parentAccountName: openAiAccount.outputs.name -- skuName: 'Standard' -+ skuName: 'GlobalStandard' - skuCapacity: deployment.skuCapacity - modelName: deployment.modelName - modelVersion: deployment.modelVersion -diff --git a/infra/azd-hooks/preprovision.ps1 b/infra/azd-hooks/preprovision.ps1 -index d1aa58b..4dd455e 100644 ---- a/infra/azd-hooks/preprovision.ps1 -+++ b/infra/azd-hooks/preprovision.ps1 -@@ -1,2 +1,9 @@ - # Register any required resource providers --Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement -\ No newline at end of file -+Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement -+ -+# Get the current user's UPN and set it as an azd environment variable -+$ownerUpn = (az ad signed-in-user show --query userPrincipalName -o tsv) -+if ($ownerUpn) { -+ azd env set OWNER_UPN $ownerUpn -+ Write-Host "Set OWNER_UPN to: $ownerUpn" -+} -\ No newline at end of file -diff --git a/infra/azd-hooks/preprovision.sh b/infra/azd-hooks/preprovision.sh -index 36e4825..77c93c2 100755 ---- a/infra/azd-hooks/preprovision.sh -+++ b/infra/azd-hooks/preprovision.sh -@@ -1,4 +1,11 @@ - #!/bin/bash - - # # Register any required resource providers --az provider register --namespace Microsoft.AlertsManagement -\ No newline at end of file -+az provider register --namespace Microsoft.AlertsManagement -+ -+# Get the current user's UPN and set it as an azd environment variable -+OWNER_UPN=$(az ad signed-in-user show --query userPrincipalName -o tsv) -+if [ -n "$OWNER_UPN" ]; then -+ azd env set OWNER_UPN "$OWNER_UPN" -+ echo "Set OWNER_UPN to: $OWNER_UPN" -+fi -\ No newline at end of file -diff --git a/infra/core/ai/cognitive-services/deployment.bicep b/infra/core/ai/cognitive-services/deployment.bicep -index 693ebf0..19eeea2 100644 ---- a/infra/core/ai/cognitive-services/deployment.bicep -+++ b/infra/core/ai/cognitive-services/deployment.bicep -@@ -5,8 +5,8 @@ param name string - @description('Name of the parent Azure Cognitive Services account.') - param parentAccountName string - --@description('Name of the SKU for the deployment. Defaults to "Standard".') --param skuName string = 'Standard' -+@description('Name of the SKU for the deployment. Defaults to "GlobalStandard".') -+param skuName string = 'GlobalStandard' - - @description('Capacity of the SKU for the deployment. Defaults to 100.') - param skuCapacity int = 100 -diff --git a/infra/main.bicep b/infra/main.bicep -index 70ae271..d54398b 100644 ---- a/infra/main.bicep -+++ b/infra/main.bicep -@@ -20,6 +20,9 @@ param location string - @description('Id of the principal to assign database and application roles.') - param principalId string = '' - -+@description('UPN (User Principal Name) of the owner for resource tagging.') -+param ownerUpn string = '' -+ - // Optional parameters - param openAiAccountName string = '' - param cosmosDbAccountName string = '' -@@ -32,10 +35,13 @@ param serviceName string = 'web' - - var abbreviations = loadJsonContent('abbreviations.json') - var resourceToken = toLower(uniqueString(subscription().id, environmentName, location)) --var tags = { -- 'azd-env-name': environmentName -- repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' --} -+var tags = union( -+ { -+ 'azd-env-name': environmentName -+ repo: 'https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot' -+ }, -+ !empty(ownerUpn) ? { owner: ownerUpn } : {} -+) - - var chatSettings = { - maxConversationTokens: '100' -@@ -43,7 +49,7 @@ var chatSettings = { - productMaxResults: '10' - } - --var productDataSource = 'https://cosmosdbcosmicworks.blob.core.windows.net/cosmic-works-vectorized/product-text-3-large-1536.json' -+var productDataSource = 'https://raw.githubusercontent.com/AzureCosmosDB/cosmosdb-nosql-copilot/refs/heads/main/data/products-text-3-large-1536.json' - - resource resourceGroup 'Microsoft.Resources/resourceGroups@2022-09-01' = { - name: environmentName -diff --git a/infra/main.parameters.json b/infra/main.parameters.json -index 67ad852..758e7ec 100644 ---- a/infra/main.parameters.json -+++ b/infra/main.parameters.json -@@ -10,6 +10,9 @@ - }, - "principalId": { - "value": "${AZURE_PRINCIPAL_ID}" -+ }, -+ "ownerUpn": { -+ "value": "${OWNER_UPN}" - } - } - } -\ No newline at end of file -diff --git a/infra/main.test.bicep b/infra/main.test.bicep -index e9aa30c..e208b4e 100644 ---- a/infra/main.test.bicep -+++ b/infra/main.test.bicep -@@ -14,5 +14,6 @@ module main 'main.bicep' = { - environmentName: environmentName - location: location - principalId: '' -+ ownerUpn: '' - } - } --- -2.51.0 - diff --git a/quickstart.md b/quickstart.md index 8f50da2..e2195d1 100644 --- a/quickstart.md +++ b/quickstart.md @@ -12,10 +12,11 @@ Humans interact with each other through conversations that have some *context* o Let's observe this in action. Launch the application in a debug session (F5) from Visual Studio or VS Code, then follow these steps: 1. Start a new Chat Session by clicking, "Create New Chat" in the upper left part of the page. -1. Enter a question, `What bikes do you have`, the app will respond with a listing of bikes and information about each of them. -1. Enter a follow up without context, `Any in carbon fiber`, the app will respond with a list of bikes made from carbon fiber. +1. Enter a question, `What bikes do you have?`, the app will respond with a listing of bikes and information about each of them. +1. Enter a follow up without context, `Do you have any in red?`, the app will respond with a list of red bikes. +1. Enter a third follow up, `Any with a 48 inch frame?`, the app will respond with a list of bikes with 48" frames. -The LLM is able to keep context for the conversation and answer appropriately. Also note here the value of the tokens displayed for both the user and the assistant, as well as the time in milliseconds. These are important. We will explore why in this section below. +The LLM is able to keep context for the conversation and answer appropriately. Also note here the value of the tokens displayed for both the user prompt and the completion generated by the LLM. These are important. We will explore why in this section below. ![Cosmos Copilot app user conversation](./media/quickstart-conversational-context.png) @@ -23,7 +24,7 @@ The LLM is able to keep context for the conversation and answer appropriately. A Large language models require chat history to generate contextually relevant results. But there is a limit how much text you can send to an LLM. Large language models have limits on how much text they can process in a request and output in a response. These limits are measured in **tokens**. Tokens are the compute currency for large language models and represent words or part of a word. On average 4 characters is one token. Because of this limit on tokens, it is necessary to limit how many are consumed in a request and response. This can be a bit tricky. You need to simultaneously ensure enough context for the LLM to generate a correct response, while avoiding negative results of consuming too many tokens which can include incomplete results or unexpected behavior. -In this application we highlight a way to control for token usage by allowing you to configure how large the context window can be (length of chat history). This is done using the configuration value, **MaxConversationTokens** which is stored in the secrets.json for this solution. +In this application we highlight a way to control for token usage by allowing you to configure how large the context window can be (length of chat history). This is done using the configuration value, **MaxConversationTokens** which is stored in the secrets.json or appsettings.json file. Another thing that can impact token consumption is when external data is sent to an LLM to provide additional information. This is know as Retrieval Augmented Generation or *RAG Pattern*. In this pattern, data from a database (or any external source) is used to augment or *ground* the LLM by providing additional information for it to generate a response. The amount of data from these external sources can get rather large. It is possible to consume many thousands of tokens per request/response depending on how much data is sent. @@ -33,14 +34,7 @@ A second way to control token consumption is by limiting the amount of data retu A better method for managing token consumption is to take both the context window and the results from a database and pass it to a tokenizer such as [Tiktoken](https://github.com/openai/tiktoken) to calculate how many tokens the results will consume in a request to an LLM. This application uses the [Microsoft.ML.Tokenizers](https://github.com/microsoft/Tokenizer) (a .NET implementation of OpenAI's Tiktoken) to calculate tokens for the user prompt to store in the chat history. -In a production system, a more complete solution would be to leverage a tokenizer to independently measure chat history and RAG Pattern results, then determine where to reduce the size so that it fits within the maximum token limits for your application's requests to an LLM. These usually involve tokenizers to measure tokens before calling an LLM. - -This sample uses both approaches for managing token consumption by an LLM by limiting the context window and vector query results as well as using a tokenizer to ensure the request to the LLM will not go over the maximum amount of allowed tokens. It does this with the following configuration values: - -1. *maxContextWindow*: The context window for the chat history is limited to three prompts and completions by default. -1. *productMaxResults*: This limits the number of items returned in a vector query for products. -1. *maxContextTokens*: This limits the number of tokens for the context window sent in the request to the LLM. -1. *maxRagTokens*: This limits the number of tokens for the vector query results sent in the request to the LLM. +This sample uses overly simplistic approaches to highlight the impact chat history and RAG Pattern data have on token usage. In a production system, a more complete solution would be to leverage a tokenizer to independently measure chat history and RAG Pattern results, then determine where to reduce the size so that it fits within the maximum token limits for your application's requests to an LLM. These usually involve tokenizers to measure tokens before calling an LLM. # Semantic Cache @@ -69,18 +63,18 @@ The solution is to *cache the context window* for the conversation. In this way, In your application, start with a completely clean cache by clicking the *clear cache* at the top right of the page. 1. Start a new Chat Session by clicking, "Create New Chat" in the upper left part of the page. -1. Enter a question, `What bikes do you have`, the app will respond with a listing of bikes. -1. Enter a follow up, `Any in carbon fiber`, the app will respond with a list of bikes made with carbon fiber. -1. Enter a third follow up, `Any using Shimano gears`, the app will respond with a list of bikes with Shimano gears. +1. Enter a question, `What bikes do you have?`, the app will respond with a listing of bikes. +1. Enter a follow up, `Do you have any in red?`, the app will respond with a list of red bikes. +1. Enter a third follow up, `Any with a 48 inch frame?`, the app will respond with a list of bikes with 48" frames. -Notice how each of the completions generated by the LLM all have values for *Tokens:* and *Time:* and have a *Cache Hit: False*. +Notice how each of the completions generated by the LLM all have values for *Tokens:* and have a *Cache Hit: False*. Next, select a different user from the drop down at the top of the page. 1. Start a new Chat Session by clicking, "Create New Chat" in the upper left part of the page. -1. Enter a question, `What bikes do you have`, the app will respond with a listing of bikes. Notice the *Cache Hit: True* and *Tokens: 0* in the response. -1. Enter a follow up, `Any in carbon fiber`, the app will respond with a list of bikes made with carbon fiber. Also notice its a cache hit. -1. Enter a third follow up, `Any using Shimano gears`, the app will respond with a list of bikes with Shimano gears. And of course it hits the cache as well. +1. Enter a question, `What bikes do you have?`, the app will respond with a listing of bikes. Notice the *Cache Hit: True* and *Tokens: 0* in the response. +1. Enter a follow up, `Do you have any in red?`, the app will respond with a list of red bikes. Also notice its a cache hit. +1. Enter a third follow up, `Any with a 48 inch frame?`, the app will respond with a list of bikes with 48" frames. And of course it hits the cache as well. ![Cosmos Copilot app semantic cache](./media/quickstart-semantic-cache.png) @@ -96,59 +90,42 @@ In practice, setting the similarity score value for a cache can be tricky. To hi ## Quickstart: Semantic Cache & Similarity Score -Let's try one more series of prompts to test the similarity score with our cache. - -1. Select a new user from the drop-down at the top of the web app and create a new chat session. +Let's try one more prompt to test the similarity score with our cache. -1. Type this series of prompts: - 1. `What bikes do you have` - 1. `Any in carbon fiber` - 1. `Got any with Shimano components` - -1. Notice for the first two we got cache hits but for last one has *Cache Hit: False* and *Tokens:* is not zero. +1. In the same chat session, enter a variation of the last prompt from the previous Quickstart, `How about a 48 inch frame?`. Notice the response has *Cache Hit: False* and *Tokens:* is not zero. ![Cosmos Copilot app semantic cache miss](./media/quickstart-semantic-cache-miss.png) -This was essentially the same question with the same intent. So why didn't it result in a cache hit? The reason is the similarity score. It defaults to a value of `0.95`. This means that the question must be nearly exactly the same as what was cached. +This was essentially the same question with the same intent. So why didn't it result in a cache hit? The reason is the similarity score. It defaults to a value of `0.99`. This means that the question must be nearly exactly the same as what was cached. Let's adjust this and try again. 1. Stop the current debug session. -1. In Visual Studio or VS Code, open **secrets.json** or **appsettings.development.json** if you are using that instead and modify the **CacheSimilarityScore** value and adjust it from `0.95` to `0.90`. Save the file. +1. In Visual Studio or VS Code, open **secrets.json** or **appsettings.development.json** if you are using that instead and modify the **CacheSimilarityScore** value and adjust it from `0.99` to `0.90`. Save the file. -1. Restart the app and enter the same sequence for the first two prompts and another variation of the last prompt: - 1. `What bikes do you have` - 1. `Any in carbon fiber` - 1. `Got any using Shimano`. This time you should get a cache hit. +1. Restart the app and enter another variation of the last prompt, `How about 48 inch frames?`. This time you should get a cache hit. Spend time trying different sequences of questions (and follow up questions) and then modifying them with different similarity scores. You can click on **Clear Cache** if you want to start over and do the same series of questions again. -## Quickstart: Hybrid Search (optional) - -In this Quickstart, we'll compare the results between vector search and hybrid search that combines vector search with full-text search and re-ranks the results. In this solution the description and tags array have a full-text index on them so words in the user prompt are used to search these two properties for the text you submit. +# Semantic Kernel -**NOTE:** To do this Quickstart you need to have modified the main.bicep file to deploy the Cosmos DB account in one of the regions where Full-Text Search is available. +This project highlights the LLM orchestration SDK created by Microsft Research called, Semantic Kernel. Semantic Kernel is an open-source SDK that lets you easily build agents that can call your existing code. As a highly extensible SDK, you can use Semantic Kernel with models from OpenAI, Azure OpenAI, Hugging Face, and more! You can connect it to various vector databases using built-in connectors. By combining your existing C#, Python, and Java code with these models, you can build agents that answer questions and automate processes. -1. Clear the cache and all of the chat sessions for the users in the application. +The usage in this sample is very simple and just show the built-in plugins for OpenAI, intended to just give you a quick start in exploring its features and capabilities. -1. Select a new user from the drop-down at the top of the web app and create a new chat session. +**Note:** This solution yet doesn't implement the Azure Cosmos DB NoSQL connectors for Semantic Kernel. This will be in an upcoming update for this sample. -1. Type this prompt, `Do you have any lightweight bikes on special` - -1. Click the *Clear Cache* at the top right of the screen. - -1. Close the browser or end the debug session in Visual Studio or VS Code. - -1. Navigate to the ChatService in the cosmos-copilot.WebApp project. Locate the following lines. Comment out the call to `SearchProductsAsync()` and uncomment `HybridSearchProductsAsync()` +## Quickstart: Semantic Kernel +Here we will change all the calls made directly to OpenAI Service to go though Semantic Kernel. Open the solution for the application. Follow the steps: +1. In ChatService, comment the lines that call `_openAiService` then uncomment the ones below that call `_semanticKernelService` in these three places. + 1. `GetChatCompletionAsync()` + 1. `SummarizeChatSessionNameAsync()` + 1. `GetCacheAsync()` 1. Restart the application. -1. Select a new user from the drop-down at the top of the web app and create a new chat session. - -1. Type this prompt, `Do you have any lightweight bikes on special` - -1. Notice the differences between the results. The results are based upon a combination of the vector search that are reranked by the full-text search of the user prompt. This is another feature that is worth experimenting with the same prompts using both methods to see the results. +You won't see any difference in the execution for the application. The purpose of SDK's like Semantic Kernel is to provide a surface area for building more complex types of these applications. Navigate to the Semantic Kernel class and you can see how the built-in OpenAI plugins are used. # Conclusion diff --git a/src/.dockerignore b/src/.dockerignore new file mode 100644 index 0000000..fe1152b --- /dev/null +++ b/src/.dockerignore @@ -0,0 +1,30 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md +!**/.gitignore +!.git/HEAD +!.git/config +!.git/packed-refs +!.git/refs/heads/** \ No newline at end of file diff --git a/src/App.razor b/src/App.razor new file mode 100644 index 0000000..6fd3ed1 --- /dev/null +++ b/src/App.razor @@ -0,0 +1,12 @@ + + + + + + + Not found + +

Sorry, there's nothing at this address.

+ + + diff --git a/src/Components/Confirmation.razor b/src/Components/Confirmation.razor new file mode 100644 index 0000000..3a42450 --- /dev/null +++ b/src/Components/Confirmation.razor @@ -0,0 +1,64 @@ + +@code { + [Parameter] public string? Caption { get; set; } + [Parameter] public string? Message { get; set; } + [Parameter] public EventCallback OnClose { get; set; } + [Parameter] public Category Type { get; set; } + private Task Cancel() + { + return OnClose.InvokeAsync(false); + } + private Task Ok() + { + return OnClose.InvokeAsync(true); + } + public enum Category + { + Okay, + SaveNot, + DeleteNot + } +} \ No newline at end of file diff --git a/src/Components/Input.razor b/src/Components/Input.razor new file mode 100644 index 0000000..e209bac --- /dev/null +++ b/src/Components/Input.razor @@ -0,0 +1,48 @@ + +@code { + [Parameter] public string? Caption { get; set; } + [Parameter] public string? Value { get; set; } + [Parameter] public EventCallback OnClose { get; set; } + + public string? ReturnValue { get; set; } + + private Task Cancel() + { + return OnClose.InvokeAsync(""); + } + private Task Ok() + { + return OnClose.InvokeAsync(ReturnValue); + } + + public Task Enter(KeyboardEventArgs e) + { + if (e.Code == "Enter" || e.Code == "NumpadEnter") + { + return OnClose.InvokeAsync(ReturnValue); + } + return Task.CompletedTask; + } +} \ No newline at end of file diff --git a/src/Constants/Interface.cs b/src/Constants/Interface.cs new file mode 100644 index 0000000..b7d0113 --- /dev/null +++ b/src/Constants/Interface.cs @@ -0,0 +1,6 @@ +namespace Cosmos.Copilot.Constants; + +public static class Interface +{ + public static readonly string EMPTY_SESSION = "empty-session-404"; +} \ No newline at end of file diff --git a/src/Constants/Participants.cs b/src/Constants/Participants.cs new file mode 100644 index 0000000..1f45ff7 --- /dev/null +++ b/src/Constants/Participants.cs @@ -0,0 +1,7 @@ +namespace Cosmos.Copilot.Constants; + +public enum Participants +{ + User = 0, + Assistant +} \ No newline at end of file diff --git a/src/Dockerfile b/src/Dockerfile new file mode 100644 index 0000000..a63791d --- /dev/null +++ b/src/Dockerfile @@ -0,0 +1,24 @@ +#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. + +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +USER app +WORKDIR /app +EXPOSE 8080 + +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["cosmos-copilot.csproj", "."] +RUN dotnet restore "./cosmos-copilot.csproj" +COPY . . +WORKDIR "/src/." +RUN dotnet build "./cosmos-copilot.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./cosmos-copilot.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "cosmos-copilot.dll"] \ No newline at end of file diff --git a/src/Models/CacheItem.cs b/src/Models/CacheItem.cs new file mode 100644 index 0000000..6b412d6 --- /dev/null +++ b/src/Models/CacheItem.cs @@ -0,0 +1,22 @@ +namespace Cosmos.Copilot.Models; + +public record CacheItem +{ + /// + /// Unique identifier + /// + public string Id { get; set; } + + public float[] Vectors { get; set; } + public string Prompts { get; set; } + + public string Completion { get; set; } + + public CacheItem(float[] vectors, string prompts, string completion) + { + Id = Guid.NewGuid().ToString(); + Vectors = vectors; + Prompts = prompts; + Completion = completion; + } +} diff --git a/src/Models/Message.cs b/src/Models/Message.cs new file mode 100644 index 0000000..948b86a --- /dev/null +++ b/src/Models/Message.cs @@ -0,0 +1,49 @@ +namespace Cosmos.Copilot.Models; + +public record Message +{ + /// + /// Unique identifier + /// + public string Id { get; set; } + + public string Type { get; set; } + + /// + /// Partition key- L1 + /// + public string TenantId { get; set; } + /// + /// Partition key- L2 + /// + public string UserId { get; set; } + /// + /// Partition key- L3 + /// + public string SessionId { get; set; } + + public DateTime TimeStamp { get; set; } + + public string Prompt { get; set; } + + public int PromptTokens { get; set; } + + public string Completion { get; set; } + + public int CompletionTokens { get; set; } + public bool CacheHit {get; set;} + public Message(string tenantId, string userId, string sessionId, int promptTokens, string prompt, string completion = "", int completionTokens = 0, bool cacheHit = false) + { + Id = Guid.NewGuid().ToString(); + Type = nameof(Message); + TenantId = tenantId; + UserId = userId; + SessionId = sessionId; + TimeStamp = DateTime.UtcNow; + Prompt = prompt; + PromptTokens = promptTokens; + Completion = completion; + CompletionTokens = completionTokens; + CacheHit = cacheHit; + } +} \ No newline at end of file diff --git a/src/Models/Product.cs b/src/Models/Product.cs new file mode 100644 index 0000000..7877bee --- /dev/null +++ b/src/Models/Product.cs @@ -0,0 +1,42 @@ +using Azure; + +namespace Cosmos.Copilot.Models +{ + public class Product + { + public string id { get; set; } + public string categoryId { get; set; } + public string categoryName { get; set; } + public string sku { get; set; } + public string name { get; set; } + public string description { get; set; } + public double price { get; set; } + public List tags { get; set; } + public float[]? vectors { get; set; } + + public Product(string id, string categoryId, string categoryName, string sku, string name, string description, double price, List tags, float[]? vectors = null) + { + this.id = id; + this.categoryId = categoryId; + this.categoryName = categoryName; + this.sku = sku; + this.name = name; + this.description = description; + this.price = price; + this.tags = tags; + this.vectors = vectors; + } + + } + public class Tag + { + public string id { get; set; } + public string name { get; set; } + + public Tag(string id, string name) + { + this.id = id; + this.name = name; + } + } +} diff --git a/src/Models/Session.cs b/src/Models/Session.cs new file mode 100644 index 0000000..cb24bd8 --- /dev/null +++ b/src/Models/Session.cs @@ -0,0 +1,58 @@ +using Newtonsoft.Json; + +namespace Cosmos.Copilot.Models; + +public record Session +{ + /// + /// Unique identifier + /// + public string Id { get; set; } + + public string Type { get; set; } + + + /// + /// Partition key- L1 + /// + public string TenantId { get; set; } + /// + /// Partition key- L2 + /// + public string UserId { get; set; } + /// + /// Partition key- L3 + /// + public string SessionId { get; set; } + + public int? Tokens { get; set; } + + public string Name { get; set; } + + [JsonIgnore] + public List Messages { get; set; } + + public Session(string tenantId, string userId) + { + Id = Guid.NewGuid().ToString(); + Type = nameof(Session); + SessionId = this.Id; + UserId = userId; + TenantId= tenantId; + Tokens = 0; + Name = "New Chat"; + Messages = new List(); + } + + public void AddMessage(Message message) + { + Messages.Add(message); + } + + public void UpdateMessage(Message message) + { + var match = Messages.Single(m => m.Id == message.Id); + var index = Messages.IndexOf(match); + Messages[index] = message; + } +} \ No newline at end of file diff --git a/src/Models/UserParameters.cs b/src/Models/UserParameters.cs new file mode 100644 index 0000000..10f9977 --- /dev/null +++ b/src/Models/UserParameters.cs @@ -0,0 +1,18 @@ +using Microsoft.Azure.Cosmos; + +namespace Cosmos.Copilot.Models +{ + public class UserParameters + { + public string UserId { get; set; } + public string TenantId { get; set; } + + public UserParameters(string _userId, string _tenantId) + { + UserId = _userId; + TenantId = _tenantId; + } + } + + +} diff --git a/src/Options/Chat.cs b/src/Options/Chat.cs new file mode 100644 index 0000000..664afff --- /dev/null +++ b/src/Options/Chat.cs @@ -0,0 +1,10 @@ +namespace Cosmos.Copilot.Options; + +public record Chat +{ + public required string MaxConversationTokens { get; init; } + + public required string CacheSimilarityScore { get; init; } + + public required string ProductMaxResults { get; init; } +} diff --git a/src/Options/CosmosDb.cs b/src/Options/CosmosDb.cs new file mode 100644 index 0000000..128a80c --- /dev/null +++ b/src/Options/CosmosDb.cs @@ -0,0 +1,16 @@ +namespace Cosmos.Copilot.Options; + +public record CosmosDb +{ + public required string Endpoint { get; init; } + + public required string Database { get; init; } + + public required string ChatContainer { get; init; } + + public required string CacheContainer { get; init; } + + public required string ProductContainer { get; init; } + + public required string ProductDataSourceURI { get; init; } +}; \ No newline at end of file diff --git a/src/Options/OpenAi.cs b/src/Options/OpenAi.cs new file mode 100644 index 0000000..288e583 --- /dev/null +++ b/src/Options/OpenAi.cs @@ -0,0 +1,10 @@ +namespace Cosmos.Copilot.Options; + +public record OpenAi +{ + public required string Endpoint { get; init; } + + public required string CompletionDeploymentName { get; init; } + + public required string EmbeddingDeploymentName { get; init; } +} \ No newline at end of file diff --git a/src/Options/SemanticKernel.cs b/src/Options/SemanticKernel.cs new file mode 100644 index 0000000..df5371a --- /dev/null +++ b/src/Options/SemanticKernel.cs @@ -0,0 +1,10 @@ +namespace Cosmos.Copilot.Options; + +public record SemanticKernel +{ + public required string Endpoint { get; init; } + + public required string CompletionDeploymentName { get; init; } + + public required string EmbeddingDeploymentName { get; init; } +} diff --git a/src/Pages/ChatPane.razor b/src/Pages/ChatPane.razor new file mode 100644 index 0000000..4007dcc --- /dev/null +++ b/src/Pages/ChatPane.razor @@ -0,0 +1,368 @@ +@using Cosmos.Copilot.Constants +@using Cosmos.Copilot.Services +@using Humanizer +@using System.Text.RegularExpressions; +@inject ChatService chatService +@inject IJSRuntime JSRuntime + +
+ @if (ShowHeader) + { + + } + +
+
+
@GetChatSessionName()
+
+
+ +
+
+ +
+
+ +
+ @if (CurrentSession is null) + { +
+
+
+ Loading... +
+ Loading... +
+

+ Please wait while your chat loads. +

+
+ } + else if (CurrentSession.SessionId == Interface.EMPTY_SESSION) + { +
+

+ + No Chats Available +

+

+ Use the New Chat option to start a new chat. +

+
+ } + else + { + if (_messagesInChat is null || _loadingComplete == false) + { +
+
+
+ Loading... +
+ Loading... +
+

+ Please wait while your chat loads. +

+
+ } + else + { + if (_messagesInChat.Count == 0) + { +
+

+ + Get Started +

+

+ Start chatting with your helpful AI assistant. +

+
+ } + else + { +
+ @foreach (var msg in _messagesInChat) + { +
+
+ + User + Tokens: @msg.PromptTokens + @msg.TimeStamp.Humanize() +
+
+ + @{ + MarkupString prompt = FixupText(msg.Prompt); + } + @prompt +
+
+
+
+ + Assistant + Cache Hit: @msg.CacheHit + Tokens: @msg.CompletionTokens + @msg.TimeStamp.Humanize() +
+
+ + @{ + MarkupString completion = FixupText(msg.Completion); + } + @completion +
+
+ } +
+ } + } + } +
+
+ @if (CurrentSession is not null && CurrentSession?.SessionId != Interface.EMPTY_SESSION) + { +
+ + + +
+ } +
+
+ +@code { + + // Inject NavigationManager + [Inject] + private NavigationManager NavigationManager { get; set; } + + [Parameter] + public EventCallback OnChatUpdated { get; set; } + + [Parameter] + public EventCallback OnUserChanged { get; set; } + + [Parameter] + public Session? CurrentSession { get; set; } + + [Parameter] + public bool ShowHeader { get; set; } + + [Parameter] + public EventCallback OnNavBarVisibilityUpdated { get; set; } + + private string? UserPrompt { get; set; } + + private string? UserPromptSet { get; set; } + + private string? Tenant; + private string? User; + + private List DummyUsers = new List { "Mark", "James", "Sandeep","Sajee" }; + + private List? _messagesInChat; + private static event EventHandler? _onMessagePosted; + + + private bool _loadingComplete; + + private MarkupString FixupText(string input) + { + var text = input.Replace("\n", "
"); + Regex rgx = new Regex("```"); + var matches = rgx.Matches(text); + if (matches.Count() > 0) + for (int i = 0; i < matches.Count; i++) + if (i % 2 == 0) + // even = start code block tag + text = rgx.Replace(text, "
", 1, i);
+                else
+                    // odd = end code block tag
+                    text = rgx.Replace(text, "
", 1, i); + + MarkupString html = new MarkupString(text); + + return html; + } + + private async Task UpdateSelectedUser(ChangeEventArgs e) + { + if (string.IsNullOrEmpty(Tenant)) + return; + + CurrentSession = null; + User = e.Value.ToString(); + NavigationManager.NavigateTo($"?Tenant={Tenant}"); + await OnUserChanged.InvokeAsync(new UserParameters (User, Tenant)); + } + + async private Task ToggleNavMenu() + { + await OnNavBarVisibilityUpdated.InvokeAsync(); + } + + public async Task ReloadChatMessagesAsync() + { + if (CurrentSession is not null) + { + _messagesInChat = await chatService.GetChatSessionMessagesAsync(Tenant,User,CurrentSession.SessionId); + } + } + + protected override async Task OnInitializedAsync() + { + // Read query string parameters using NavigationManager + var uri = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); + var queryString = System.Web.HttpUtility.ParseQueryString(uri.Query); + + // Get the value of the "myParameter" query string parameter + Tenant = queryString["Tenant"]; + + if (string.IsNullOrEmpty(Tenant)) + Tenant = "t1"; + + if (string.IsNullOrEmpty(User)) + User = Tenant + "." + DummyUsers[0]; + + var changeEventArgs = new ChangeEventArgs { Value = User }; + await UpdateSelectedUser(changeEventArgs); + + await chatService.InitializeAsync(); + + _onMessagePosted += async (o, e) => + { + await this.InvokeAsync(async () => + { + if (e.SessionId == CurrentSession?.SessionId) + { + await this.ReloadChatMessagesAsync(); + this.StateHasChanged(); + } + }); + }; + + } + + protected override async Task OnParametersSetAsync() + { + if (CurrentSession is null) + { + return; + } + + if (CurrentSession.SessionId != Interface.EMPTY_SESSION & CurrentSession.SessionId is not null) + { + _messagesInChat = await chatService.GetChatSessionMessagesAsync(Tenant, User, CurrentSession?.SessionId); + } + + _loadingComplete = true; + } + + public void ChangeCurrentChatSession(Session session) + { + CurrentSession = session; + } + + public async Task Enter(KeyboardEventArgs e) + { + if (e.Code == "Enter" || e.Code == "NumpadEnter") + { + await SubmitPromptAsync(); + } + } + + private async Task SubmitPromptAsync() + { + if (CurrentSession?.SessionId == Interface.EMPTY_SESSION || UserPrompt == String.Empty || UserPrompt is null) + { + return; + } + + if (UserPrompt != String.Empty) + { + UserPromptSet = String.Empty; + } + + var message = await chatService.GetChatCompletionAsync(Tenant, User,CurrentSession?.SessionId, UserPrompt); + CurrentSession!.Tokens += message.CompletionTokens + message.PromptTokens; + + if(_messagesInChat?.Count == 1) + { + string newSessionName; + newSessionName = await chatService.SummarizeChatSessionNameAsync(Tenant, User, CurrentSession?.SessionId); + + if (CurrentSession is not null) + { + CurrentSession.Name = newSessionName; + } + } + await OnChatUpdated.InvokeAsync(CurrentSession); + + if (_onMessagePosted is not null && CurrentSession is not null) + { + _onMessagePosted.Invoke(null, CurrentSession); + } + + await ScrollLastChatToView(); + } + + private string GetChatSessionName() => CurrentSession switch + { + null => String.Empty, + (Session s) when s.SessionId == Interface.EMPTY_SESSION => String.Empty, + _ => CurrentSession.Name + }; + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + await ScrollLastChatToView(); + } + + /// + /// This is a hack to get the scroll to work. Need to find a better way to do this. + /// + private async Task ScrollLastChatToView() + { + await JSRuntime.InvokeAsync("scrollToLastMessage"); + } + + private async Task ClearCache() + { + await chatService.ClearCacheAsync(); + } +} diff --git a/src/Pages/Error.cshtml b/src/Pages/Error.cshtml new file mode 100644 index 0000000..a366cd5 --- /dev/null +++ b/src/Pages/Error.cshtml @@ -0,0 +1,42 @@ +@page +@model Cosmos.Copilot.Pages.ErrorModel + + + + + + + + Error + + + + + +
+
+

Error.

+

An error occurred while processing your request.

+ + @if (Model.ShowRequestId) + { +

+ Request ID: @Model.RequestId +

+ } + +

Development Mode

+

+ Swapping to the Development environment displays detailed information about the error that occurred. +

+

+ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +

+
+
+ + + diff --git a/src/Pages/Error.cshtml.cs b/src/Pages/Error.cshtml.cs new file mode 100644 index 0000000..6ea7366 --- /dev/null +++ b/src/Pages/Error.cshtml.cs @@ -0,0 +1,27 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using System.Diagnostics; + +namespace Cosmos.Copilot.Pages; + +[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] +[IgnoreAntiforgeryToken] +public class ErrorModel : PageModel +{ + public string? RequestId { get; set; } + + public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + private readonly ILogger _logger; + + public ErrorModel(ILogger logger) + { + _logger = logger; + } + + public void OnGet() + { + RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; + _logger.LogError($"An error occurred while processing your request."); + } +} \ No newline at end of file diff --git a/src/Pages/Index.razor b/src/Pages/Index.razor new file mode 100644 index 0000000..b700881 --- /dev/null +++ b/src/Pages/Index.razor @@ -0,0 +1,66 @@ +@page "/" + +Azure Cosmos DB & Azure OpenAI Service +
+ @if (!IsNavMenuCollapsed) + { + + } +
+ +
+
+ +@code { + + [Parameter] + public EventCallback OnChatUpdated { get; set; } = default!; + + [Parameter] + public EventCallback OnUserChanged { get; set; } = default!; + + private Session? CurrentSession; + private ChatPane? ChatPane = default; + private NavMenu? NavMenu = default; + private bool IsNavMenuCollapsed { get; set; } + + private void UpdateNavBarVisibility() + { + IsNavMenuCollapsed = !IsNavMenuCollapsed; + } + + protected override void OnInitialized() + { + NavMenu = new NavMenu(); + ChatPane = new ChatPane(); + } + + public async void LoadChatEventHandlerAsync(Session session) + { + CurrentSession = session; + + if (ChatPane is not null) + { + ChatPane.ChangeCurrentChatSession(session); + } + + // Inform blazor the UI needs updating + await InvokeAsync(StateHasChanged); + } + + public async void ForceRefreshAsync(Session session) + { + // Inform blazor the UI needs updating + await InvokeAsync(StateHasChanged); + + NavMenu?.UpdateNavMenuDisplay("Rename by Open AI", session); + } + + public async void ForceReloadAsync(UserParameters uparam) + { + // Inform blazor the NavMenu needs updating + await InvokeAsync(StateHasChanged); + + NavMenu?.SetSelectedUser("User Changed", uparam.UserId, uparam.TenantId); + } +} \ No newline at end of file diff --git a/src/Pages/NavMenu.razor b/src/Pages/NavMenu.razor new file mode 100644 index 0000000..b8a9211 --- /dev/null +++ b/src/Pages/NavMenu.razor @@ -0,0 +1,368 @@ +@using Cosmos.Copilot.Constants +@using Cosmos.Copilot.Services +@inject ChatService chatService + + +
+ + + +@if (_deletePopUpOpen) +{ + + +} + + +@if (_renamePopUpOpen) +{ + + +} + + +@code { + + + [Parameter] + public EventCallback OnChatClicked { get; set; } = default!; + + [Parameter] + public static List ChatSessions { get; set; } = new(); + + [Parameter] + public EventCallback OnNavBarVisibilityUpdated { get; set; } + + [Parameter] + public EventCallback OnThemeUpdated { get; set; } + + private string? _sessionId; + private string? _popUpText; + private bool _deletePopUpOpen = false; + private bool _loadingComplete; + private bool _renamePopUpOpen = false; + + private string? Tenant; + private string? User; + public Session? CurrentSession; + + private static event EventHandler? OnNavMenuChanged; + + async private Task ToggleNavMenu() + { + await OnNavBarVisibilityUpdated.InvokeAsync(); + } + + async private Task ChangeTheme() + { + await OnThemeUpdated.InvokeAsync(); + } + + protected override void OnInitialized() + { + + OnNavMenuChanged += async (o, e) => + { + await this.InvokeAsync(async () => + { + this.StateHasChanged(); + + await LoadCurrentChatAsync(); + }); + }; + } + + private void OpenConfirmation(string id, string title) + { + _deletePopUpOpen = true; + _sessionId = id; + _popUpText = $"Do you want to delete the chat \"{title}\"?"; + } + + + public async void SetSelectedUser(string reason = "", string? _user = null, string? _tenant = null) + { + _loadingComplete = false; + + ChatSessions = new List(); + Tenant = _tenant; + User = _user; + CurrentSession = null; + + } + public void UpdateNavMenuDisplay(string reason = "", Session? _session = null) + { + if (_session is not null) + { + int index = ChatSessions.FindIndex(s => s.SessionId == _session.SessionId); + ChatSessions[index].Tokens = _session.Tokens; + ChatSessions[index].Name = _session.Name; + } + + if (OnNavMenuChanged is not null) + { + OnNavMenuChanged.Invoke(null, reason); + } + } + + private async Task OnConfirmationClose(bool isOk) + { + bool updateCurrentChat=false; + + if (CurrentSession is not null & _sessionId == CurrentSession?.SessionId) + updateCurrentChat = true; + + if (isOk) + { + _deletePopUpOpen = false; + await chatService.DeleteChatSessionAsync(Tenant, User, _sessionId); + + int index = ChatSessions.FindIndex(s => s.SessionId == _sessionId); + ChatSessions.RemoveAt(index); + + _deletePopUpOpen = false; + + UpdateNavMenuDisplay("Delete"); + + if (!updateCurrentChat) + return; + + CurrentSession = new Session(Tenant, User); + CurrentSession.SessionId = Interface.EMPTY_SESSION; + CurrentSession.Name = string.Empty; + + if (ChatSessions is not null & ChatSessions?.Count > 0) + { + var match = ChatSessions?.FirstOrDefault(); + if (match is not null) + { + CurrentSession.SessionId = match.SessionId; + CurrentSession.Name = match.Name; + CurrentSession.Tokens = match.Tokens; + } + } + + await LoadCurrentChatAsync(); + } + + _deletePopUpOpen = false; + } + + private void OpenInput(string id, string title) + { + _renamePopUpOpen = true; + _sessionId = id; + _popUpText = title; + } + + private async Task OnInputClose(string newName) + { + if (newName!="") + { + bool updateCurrentChat = false; + + if (_sessionId == CurrentSession?.SessionId) + { + updateCurrentChat = true; + } + + await chatService.RenameChatSessionAsync(Tenant, User, _sessionId, newName); + int index = ChatSessions.FindIndex(s => s.SessionId == _sessionId); + ChatSessions[index].Name = newName; + + _renamePopUpOpen = false; + + UpdateNavMenuDisplay("Rename"); + + if (!updateCurrentChat) + { + return; + } + + if (CurrentSession is not null) + { + CurrentSession.Name = newName; + } + await LoadCurrentChatAsync(); + } + + _renamePopUpOpen = false; + } + + private async Task NewChat() + { + var session = await chatService.CreateNewChatSessionAsync(Tenant, User); + ChatSessions.Add(session); + if (ChatSessions.Count == 1) + { + CurrentSession = ChatSessions[0] with { }; + await LoadCurrentChatAsync(); + } + + UpdateNavMenuDisplay("Add"); + } + + protected override async Task OnParametersSetAsync() + { + if (_loadingComplete == true) + return; + + _loadingComplete = false; + + ChatSessions = await chatService.GetAllChatSessionsAsync(Tenant, User); + if (CurrentSession is not null && ChatSessions is not null & ChatSessions?.Count > 0) + { + var match = ChatSessions?.FirstOrDefault(); + if (match is not null) + { + CurrentSession.SessionId = match.SessionId; + CurrentSession.Name = match.Name; + CurrentSession.Tokens = match.Tokens; + } + } + + _loadingComplete = true; + await LoadCurrentChatAsync(); + + } + + private async Task LoadCurrentChatAsync() + { + int index = 0; + if (CurrentSession is not null & ChatSessions is not null & ChatSessions?.Count > 0) + { + index = ChatSessions?.FindIndex(s => s.SessionId == CurrentSession?.SessionId) ?? 0; + } + if (CurrentSession is null || index < 0) + { + CurrentSession = new Session(Tenant, User); + CurrentSession.SessionId = Interface.EMPTY_SESSION; + CurrentSession.Name = string.Empty; + + if (ChatSessions is not null & ChatSessions?.Count > 0) + { + var match = ChatSessions?.FirstOrDefault(); + if (match is not null) + { + CurrentSession.SessionId = match.SessionId; + CurrentSession.Name = match.Name; + CurrentSession.Tokens = match.Tokens; + } + } + } + + await OnChatClicked.InvokeAsync(CurrentSession); + return 0; + } + + async private Task LoadChat(string _sessionId, string sessionName, int? tokens) + { + if (ChatSessions is null) return 0; + + if (CurrentSession is null) + CurrentSession = new Session(Tenant, User); + + CurrentSession.SessionId = _sessionId; + CurrentSession.Name = sessionName; + CurrentSession.Tokens = tokens; + + await LoadCurrentChatAsync(); + + return 0; + } + + private bool IsActiveSession(string _sessionId) => CurrentSession switch + { + null => true, + (Session s) when s.SessionId == _sessionId => true, + _ => false + }; + + public string SafeSubstring(string text, int maxLength) => text switch + { + null => string.Empty, + _ => text.Length > maxLength ? text.Substring(0, maxLength) + "..." : text + }; +} \ No newline at end of file diff --git a/src/Pages/_Host.cshtml b/src/Pages/_Host.cshtml new file mode 100644 index 0000000..60b63dd --- /dev/null +++ b/src/Pages/_Host.cshtml @@ -0,0 +1,8 @@ +@page "/" +@namespace Cosmos.Copilot.Pages +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + Layout = "_Layout"; +} + + diff --git a/src/Pages/_Layout.cshtml b/src/Pages/_Layout.cshtml new file mode 100644 index 0000000..1226193 --- /dev/null +++ b/src/Pages/_Layout.cshtml @@ -0,0 +1,36 @@ +@using Microsoft.AspNetCore.Components.Web +@namespace Cosmos.Copilot.Pages +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers + + + + + + + + + + + + + + + + @RenderBody() + + + + \ No newline at end of file diff --git a/src/Program.cs b/src/Program.cs new file mode 100644 index 0000000..011b744 --- /dev/null +++ b/src/Program.cs @@ -0,0 +1,128 @@ +using Cosmos.Copilot.Options; +using Cosmos.Copilot.Services; +using Microsoft.Extensions.Options; + +var builder = WebApplication.CreateBuilder(args); + +builder.RegisterConfiguration(); +builder.Services.AddRazorPages(); +builder.Services.AddServerSideBlazor(); +builder.Services.RegisterServices(); + +//builder.Configuration +// .AddJsonFile("secrets.json", optional: true, reloadOnChange: true) +// .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) +// .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) +// .AddEnvironmentVariables(); + +var app = builder.Build(); + +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error"); + app.UseHsts(); +} + +app.UseHttpsRedirection(); +app.UseStaticFiles(); +app.UseRouting(); + +app.MapBlazorHub(); +app.MapFallbackToPage("/_Host"); + +await app.RunAsync(); + +static class ProgramExtensions +{ + public static void RegisterConfiguration(this WebApplicationBuilder builder) + { + builder.Services.AddOptions() + .Bind(builder.Configuration.GetSection(nameof(CosmosDb))); + + builder.Services.AddOptions() + .Bind(builder.Configuration.GetSection(nameof(OpenAi))); + + builder.Services.AddOptions() + .Bind(builder.Configuration.GetSection(nameof(SemanticKernel))); + + builder.Services.AddOptions() + .Bind(builder.Configuration.GetSection(nameof(Chat))); + } + + public static void RegisterServices(this IServiceCollection services) + { + services.AddSingleton((provider) => + { + var cosmosDbOptions = provider.GetRequiredService>(); + if (cosmosDbOptions is null) + { + throw new ArgumentException($"{nameof(IOptions)} was not resolved through dependency injection."); + } + else + { + return new CosmosDbService( + endpoint: cosmosDbOptions.Value?.Endpoint ?? String.Empty, + databaseName: cosmosDbOptions.Value?.Database ?? String.Empty, + chatContainerName: cosmosDbOptions.Value?.ChatContainer ?? String.Empty, + cacheContainerName: cosmosDbOptions.Value?.CacheContainer ?? String.Empty, + productContainerName: cosmosDbOptions.Value?.ProductContainer ?? String.Empty, + productDataSourceURI: cosmosDbOptions.Value?.ProductDataSourceURI ?? String.Empty + ); + } + }); + services.AddSingleton((provider) => + { + var openAiOptions = provider.GetRequiredService>(); + if (openAiOptions is null) + { + throw new ArgumentException($"{nameof(IOptions)} was not resolved through dependency injection."); + } + else + { + return new OpenAiService( + endpoint: openAiOptions.Value?.Endpoint ?? String.Empty, + completionDeploymentName: openAiOptions.Value?.CompletionDeploymentName ?? String.Empty, + embeddingDeploymentName: openAiOptions.Value?.EmbeddingDeploymentName ?? String.Empty + ); + } + }); + services.AddSingleton((provider) => + { + var semanticKernalOptions = provider.GetRequiredService>(); + if (semanticKernalOptions is null) + { + throw new ArgumentException($"{nameof(IOptions)} was not resolved through dependency injection."); + } + else + { + return new SemanticKernelService( + endpoint: semanticKernalOptions.Value?.Endpoint ?? String.Empty, + completionDeploymentName: semanticKernalOptions.Value?.CompletionDeploymentName ?? String.Empty, + embeddingDeploymentName: semanticKernalOptions.Value?.EmbeddingDeploymentName ?? String.Empty + ); + } + }); + services.AddSingleton((provider) => + { + var chatOptions = provider.GetRequiredService>(); + if (chatOptions is null) + { + throw new ArgumentException($"{nameof(IOptions)} was not resolved through dependency injection."); + } + else + { + var cosmosDbService = provider.GetRequiredService(); + var openAiService = provider.GetRequiredService(); + var semanticKernelService = provider.GetRequiredService(); + return new ChatService( + openAiService: openAiService, + cosmosDbService: cosmosDbService, + semanticKernelService: semanticKernelService, + maxConversationTokens: chatOptions.Value?.MaxConversationTokens ?? String.Empty, + cacheSimilarityScore: chatOptions.Value?.CacheSimilarityScore ?? String.Empty, + productMaxResults: chatOptions.Value?.ProductMaxResults ?? String.Empty + ); + } + }); + } +} diff --git a/src/Properties/launchSettings.json b/src/Properties/launchSettings.json new file mode 100644 index 0000000..71fe7ff --- /dev/null +++ b/src/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "profiles": { + "cosmos-copilot": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "applicationUrl": "http://localhost:8100", + "hotReloadProfile": "blazorwasm" + }, + "Container (Dockerfile)": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", + "environmentVariables": { + "ASPNETCORE_HTTP_PORTS": "8080" + }, + "publishAllPorts": true + } + } +} \ No newline at end of file diff --git a/src/Services/ChatService.cs b/src/Services/ChatService.cs new file mode 100644 index 0000000..fd9639a --- /dev/null +++ b/src/Services/ChatService.cs @@ -0,0 +1,291 @@ +using Cosmos.Copilot.Models; +using Microsoft.ML.Tokenizers; + +namespace Cosmos.Copilot.Services; + +public class ChatService +{ + + private readonly CosmosDbService _cosmosDbService; + private readonly OpenAiService _openAiService; + private readonly SemanticKernelService _semanticKernelService; + private readonly int _maxConversationTokens; + private readonly double _cacheSimilarityScore; + private readonly int _productMaxResults; + + public ChatService(CosmosDbService cosmosDbService, OpenAiService openAiService, SemanticKernelService semanticKernelService, string maxConversationTokens, string cacheSimilarityScore, string productMaxResults) + { + _cosmosDbService = cosmosDbService; + _openAiService = openAiService; + _semanticKernelService = semanticKernelService; + + _maxConversationTokens = Int32.TryParse(maxConversationTokens, out _maxConversationTokens) ? _maxConversationTokens : 100; + _cacheSimilarityScore = Double.TryParse(cacheSimilarityScore, out _cacheSimilarityScore) ? _cacheSimilarityScore : 0.99; + _productMaxResults = Int32.TryParse(productMaxResults, out _productMaxResults) ? _productMaxResults: 10; + } + + public async Task InitializeAsync() + { + await _cosmosDbService.LoadProductDataAsync(); + } + + /// + /// Returns list of chat session ids and names for left-hand nav to bind to (display Name and ChatSessionId as hidden) + /// + public async Task> GetAllChatSessionsAsync(string tenantId, string userId) + { + return await _cosmosDbService.GetSessionsAsync(tenantId,userId); + } + + /// + /// Returns the chat messages to display on the main web page when the user selects a chat from the left-hand nav + /// + public async Task> GetChatSessionMessagesAsync(string tenantId, string userId,string? sessionId) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + return await _cosmosDbService.GetSessionMessagesAsync(tenantId,userId, sessionId); ; + } + + /// + /// User creates a new Chat Session. + /// + public async Task CreateNewChatSessionAsync(string tenantId, string userId) + { + + Session session = new(tenantId, userId); + + await _cosmosDbService.InsertSessionAsync(tenantId, userId,session); + + return session; + + } + + /// + /// Rename the Chat Session from "New Chat" to the summary provided by OpenAI + /// + public async Task RenameChatSessionAsync(string tenantId, string userId,string? sessionId, string newChatSessionName) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + Session session = await _cosmosDbService.GetSessionAsync(tenantId, userId,sessionId); + + session.Name = newChatSessionName; + + await _cosmosDbService.UpdateSessionAsync(tenantId, userId,session); + } + + /// + /// User deletes a chat session + /// + public async Task DeleteChatSessionAsync(string tenantId, string userId, string? sessionId) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + await _cosmosDbService.DeleteSessionAndMessagesAsync( tenantId, userId, sessionId); + } + + /// + /// Get a completion for a user prompt from Azure OpenAi Service + /// This is the main LLM Workflow for the Chat Service + /// + public async Task GetChatCompletionAsync(string tenantId, string userId, string? sessionId, string promptText) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + //Create a message object for the new User Prompt and calculate the tokens for the prompt + Message chatMessage = await CreateChatMessageAsync(tenantId, userId, sessionId, promptText); + + //Grab context window from the conversation history up to the maximum configured tokens + List contextWindow = await GetChatSessionContextWindow( tenantId, userId, sessionId); + + //Perform a cache search to see if this prompt has already been used in the same context window as this conversation + (string cachePrompts, float[] cacheVectors, string cacheResponse) = await GetCacheAsync(contextWindow); + + //Cache hit, return the cached completion + if (!string.IsNullOrEmpty(cacheResponse)) + { + chatMessage.CacheHit = true; + chatMessage.Completion = cacheResponse; + chatMessage.CompletionTokens = 0; + + //Persist the prompt/completion, update the session tokens + await UpdateSessionAndMessage( tenantId, userId, sessionId, chatMessage); + + return chatMessage; + } + else //Cache miss, send to OpenAI to generate a completion + { + //Generate embeddings for the user prompt + float[] promptVectors = await _openAiService.GetEmbeddingsAsync(promptText); + //float[] promptVectors = await _semanticKernelService.GetEmbeddingsAsync(promptText); + + //These functions are for doing RAG Pattern completions + List products = await _cosmosDbService.SearchProductsAsync(promptVectors, _productMaxResults); + (chatMessage.Completion, chatMessage.CompletionTokens) = await _openAiService.GetRagCompletionAsync(sessionId, contextWindow, products); + //(chatMessage.Completion, chatMessage.CompletionTokens) = await _semanticKernelService.GetRagCompletionAsync(sessionId, contextWindow, products); + + //Cache the prompts in the current context window and their vectors with the generated completion + await CachePutAsync(cachePrompts, cacheVectors, chatMessage.Completion); + } + + + //Persist the prompt/completion, update the session tokens + await UpdateSessionAndMessage( tenantId, userId, sessionId, chatMessage); + + return chatMessage; + } + + /// + /// Get the context window for this conversation. This is used in cache search as well as generating completions + /// + private async Task> GetChatSessionContextWindow(string tenantId, string userId, string sessionId) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + int? tokensUsed = 0; + + List allMessages = await _cosmosDbService.GetSessionMessagesAsync(tenantId, userId, sessionId); + List contextWindow = new List(); + + //Start at the end of the list and work backwards + //This includes the latest user prompt which is already cached + for (int i = allMessages.Count - 1; i >= 0; i--) + { + tokensUsed += allMessages[i].PromptTokens + allMessages[i].CompletionTokens; + + if (tokensUsed > _maxConversationTokens) + break; + + contextWindow.Add(allMessages[i]); + } + + //Invert the chat messages to put back into chronological order + contextWindow = contextWindow.Reverse().ToList(); + + return contextWindow; + + } + + /// + /// Use OpenAI to summarize the conversation to give it a relevant name on the web page + /// + public async Task SummarizeChatSessionNameAsync(string tenantId, string userId, string? sessionId) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + //Get the messages for the session + List messages = await _cosmosDbService.GetSessionMessagesAsync( tenantId, userId, sessionId); + + //Create a conversation string from the messages + string conversationText = string.Join(" ", messages.Select(m => m.Prompt + " " + m.Completion)); + + //Send to OpenAI to summarize the conversation + string completionText = await _openAiService.SummarizeAsync(sessionId, conversationText); + //string completionText = await _semanticKernelService.SummarizeConversationAsync(conversationText); + + await RenameChatSessionAsync( tenantId, userId, sessionId, completionText); + + return completionText; + } + + /// + /// Add user prompt to a new chat session message object, calculate token count for prompt text. + /// + private async Task CreateChatMessageAsync(string tenantId, string userId, string sessionId, string promptText) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + //Calculate tokens for the user prompt message. + int promptTokens = GetTokens(promptText); + + //Create a new message object. + Message chatMessage = new(tenantId, userId, sessionId, promptTokens, promptText, ""); + + await _cosmosDbService.InsertMessageAsync(tenantId, userId, chatMessage); + + return chatMessage; + } + + /// + /// Update session with user prompt and completion tokens and update the cache + /// + private async Task UpdateSessionAndMessage(string tenantId, string userId, string sessionId, Message chatMessage) + { + ArgumentNullException.ThrowIfNull(tenantId); + ArgumentNullException.ThrowIfNull(userId); + ArgumentNullException.ThrowIfNull(sessionId); + + //Update the tokens used in the session + Session session = await _cosmosDbService.GetSessionAsync(tenantId, userId, sessionId); + session.Tokens += chatMessage.PromptTokens + chatMessage.CompletionTokens; + + //Insert new message and Update session in a transaction + await _cosmosDbService.UpsertSessionBatchAsync( tenantId, userId, session, chatMessage); + + } + + /// + /// Calculate the number of tokens from the user prompt + /// + private int GetTokens(string userPrompt) + { + + Tokenizer _tokenizer = Tokenizer.CreateTiktokenForModel("gpt-3.5-turbo"); + + return _tokenizer.CountTokens(userPrompt); + + } + + /// + /// Query the semantic cache with user prompt vectors for the current context window in this conversation + /// + private async Task<(string cachePrompts, float[] cacheVectors, string cacheResponse)> GetCacheAsync(List contextWindow) + { + //Grab the user prompts for the context window + string prompts = string.Join(Environment.NewLine, contextWindow.Select(m => m.Prompt)); + + //Get the embeddings for the user prompts + float[] vectors = await _openAiService.GetEmbeddingsAsync(prompts); + //float[] vectors = await _semanticKernelService.GetEmbeddingsAsync(prompts); + + //Check the cache for similar vectors + string response = await _cosmosDbService.GetCacheAsync(vectors, _cacheSimilarityScore); + + return (prompts, vectors, response); + } + + /// + /// Cache the last generated completion with user prompt vectors for the current context window in this conversation + /// + private async Task CachePutAsync(string cachePrompts, float[] cacheVectors, string generatedCompletion) + { + //Include the user prompts text to view. They are not used in the cache search. + CacheItem cacheItem = new(cacheVectors, cachePrompts, generatedCompletion); + + //Put the prompts, vectors and completion into the cache + await _cosmosDbService.CachePutAsync(cacheItem); + } + + /// + /// Clear the Semantic Cache + /// + public async Task ClearCacheAsync() + { + await _cosmosDbService.CacheClearAsync(); + } +} diff --git a/src/Services/CosmosDbService.cs b/src/Services/CosmosDbService.cs new file mode 100644 index 0000000..078ca08 --- /dev/null +++ b/src/Services/CosmosDbService.cs @@ -0,0 +1,504 @@ +using Azure.Core; +using Azure.Identity; +using Cosmos.Copilot.Models; +using Microsoft.Azure.Cosmos; +using Microsoft.Azure.Cosmos.Fluent; +using Microsoft.Azure.Cosmos.Serialization.HybridRow.Schemas; +using Newtonsoft.Json; +using System.Text.Json; +using Container = Microsoft.Azure.Cosmos.Container; +using PartitionKey = Microsoft.Azure.Cosmos.PartitionKey; + +namespace Cosmos.Copilot.Services; + +/// +/// Service to access Azure Cosmos DB for NoSQL. +/// +public class CosmosDbService +{ + private readonly Container _chatContainer; + private readonly Container _cacheContainer; + private readonly Container _productContainer; + private readonly string _productDataSourceURI; + + /// + /// Creates a new instance of the service. + /// + /// Endpoint URI. + /// Name of the database to access. + /// Name of the chat container to access. + /// Name of the cache container to access. + /// Name of the product container to access. + /// Thrown when endpoint, key, databaseName, cacheContainername or chatContainerName is either null or empty. + /// + /// This constructor will validate credentials and create a service client instance. + /// + public CosmosDbService(string endpoint, string databaseName, string chatContainerName, string cacheContainerName, string productContainerName, string productDataSourceURI) + { + ArgumentNullException.ThrowIfNullOrEmpty(endpoint); + ArgumentNullException.ThrowIfNullOrEmpty(databaseName); + ArgumentNullException.ThrowIfNullOrEmpty(chatContainerName); + ArgumentNullException.ThrowIfNullOrEmpty(cacheContainerName); + ArgumentNullException.ThrowIfNullOrEmpty(productContainerName); + ArgumentNullException.ThrowIfNullOrEmpty(productDataSourceURI); + + _productDataSourceURI = productDataSourceURI; + + CosmosSerializationOptions options = new() + { + PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase + }; + + TokenCredential credential = new DefaultAzureCredential(); + CosmosClient client = new CosmosClientBuilder(endpoint, credential) + .WithSerializerOptions(options) + .Build(); + + + Database database = client.GetDatabase(databaseName)!; + Container chatContainer = database.GetContainer(chatContainerName)!; + Container cacheContainer = database.GetContainer(cacheContainerName)!; + Container productContainer = database.GetContainer(productContainerName)!; + + + _chatContainer = chatContainer ?? + throw new ArgumentException("Unable to connect to existing Azure Cosmos DB container or database."); + + _cacheContainer = cacheContainer ?? + throw new ArgumentException("Unable to connect to existing Azure Cosmos DB container or database."); + + _productContainer = productContainer ?? + throw new ArgumentException("Unable to connect to existing Azure Cosmos DB container or database."); + } + + public async Task LoadProductDataAsync() + { + + //Read the product container to see if there are any items + Product? item = null; + try + { + item = await _productContainer.ReadItemAsync(id: "027D0B9A-F9D9-4C96-8213-C8546C4AAE71", partitionKey: new PartitionKey("26C74104-40BC-4541-8EF5-9892F7F03D72")); + } + catch (CosmosException ex) when (ex.StatusCode == System.Net.HttpStatusCode.NotFound) + { } + + if (item is null) + { + string json = ""; + string jsonFilePath = _productDataSourceURI; //URI to the vectorized product JSON file + HttpClient client = new HttpClient(); + HttpResponseMessage response = await client.GetAsync(jsonFilePath); + if(response.IsSuccessStatusCode) + json = await response.Content.ReadAsStringAsync(); + + List products = JsonConvert.DeserializeObject>(json)!; + + + + foreach (var product in products) + { + try + { + await InsertProductAsync(product); + } + catch (CosmosException ex) when (ex.StatusCode == System.Net.HttpStatusCode.Conflict) + { + Console.WriteLine($"Error: {ex.Message}, Product Name: {product.name}"); + } + } + } + } + /// + /// Helper function to generate a full or partial hierarchical partition key based on parameters. + /// + /// Id of Tenant. + /// Id of User. + /// Session Id of Chat/Session + /// Newly created chat session item. + private static PartitionKey GetPK(string tenantId, string userId, string sessionId) + { + if (!string.IsNullOrEmpty(tenantId) && !string.IsNullOrEmpty(userId) && !string.IsNullOrEmpty(sessionId)) + { + PartitionKey partitionKey = new PartitionKeyBuilder() + .Add(tenantId) + .Add(userId) + .Add(sessionId) + .Build(); + + return partitionKey; + } + else if(!string.IsNullOrEmpty(tenantId) && !string.IsNullOrEmpty(userId)) + { + + PartitionKey partitionKey = new PartitionKeyBuilder() + .Add(tenantId) + .Add(userId) + .Build(); + + return partitionKey; + + } + else + { + PartitionKey partitionKey = new PartitionKeyBuilder() + .Add(tenantId) + .Build(); + + return partitionKey; + } + } + /// + /// Creates a new chat session. + /// + /// Id of Tenant. + /// Id of User. + /// Chat session item to create. + /// Newly created chat session item. + public async Task InsertSessionAsync(string tenantId, string userId, Session session) + { + PartitionKey partitionKey = GetPK(tenantId, userId,session.SessionId); + return await _chatContainer.CreateItemAsync( + item: session, + partitionKey: partitionKey + ); + } + + /// + /// Creates a new chat message. + /// + /// Id of Tenant. + /// Id of User. + /// Chat message item to create. + /// Newly created chat message item. + public async Task InsertMessageAsync(string tenantId, string userId, Message message) + { + PartitionKey partitionKey = GetPK(tenantId, userId, message.SessionId); + Message newMessage = message with { TimeStamp = DateTime.UtcNow }; + return await _chatContainer.CreateItemAsync( + item: message, + partitionKey: partitionKey + ); + } + + /// + /// Gets a list of all current chat sessions. + /// + /// Id of Tenant. + /// Id of User. + /// List of distinct chat session items. + public async Task> GetSessionsAsync(string tenantId, string userId) + { + PartitionKey partitionKey = GetPK(tenantId, userId, string.Empty); + + QueryDefinition query = new QueryDefinition("SELECT DISTINCT * FROM c WHERE c.type = @type") + .WithParameter("@type", nameof(Session)); + + FeedIterator response = _chatContainer.GetItemQueryIterator(query, null, new QueryRequestOptions() { PartitionKey = partitionKey }); + + List output = new(); + while (response.HasMoreResults) + { + FeedResponse results = await response.ReadNextAsync(); + output.AddRange(results); + } + return output; + } + + /// + /// Gets a list of all current chat messages for a specified session identifier. + /// + /// Id of Tenant. + /// Id of User. + /// Chat session identifier used to filter messsages. + /// List of chat message items for the specified session. + public async Task> GetSessionMessagesAsync(string tenantId, string userId, string sessionId) + { + PartitionKey partitionKey = GetPK(tenantId, userId, sessionId); + + QueryDefinition query = new QueryDefinition("SELECT * FROM c WHERE c.sessionId = @sessionId AND c.type = @type") + .WithParameter("@sessionId", sessionId) + .WithParameter("@type", nameof(Message)); + + FeedIterator results = _chatContainer.GetItemQueryIterator(query, null, new QueryRequestOptions() { PartitionKey = partitionKey }); + + List output = new(); + while (results.HasMoreResults) + { + FeedResponse response = await results.ReadNextAsync(); + output.AddRange(response); + } + return output; + } + + /// + /// Updates an existing chat session. + /// + /// Id of Tenant. + /// Id of User. + /// Chat session item to update. + /// Revised created chat session item. + public async Task UpdateSessionAsync(string tenantId, string userId, Session session) + { + PartitionKey partitionKey = GetPK(tenantId, userId, session.SessionId); + return await _chatContainer.ReplaceItemAsync( + item: session, + id: session.Id, + partitionKey: partitionKey + ); + } + + /// + /// Returns an existing chat session. + /// + /// Id of Tenant. + /// Id of User. + /// Chat session id for the session to return. + /// Chat session item. + public async Task GetSessionAsync(string tenantId, string userId, string sessionId) + { + PartitionKey partitionKey = GetPK(tenantId, userId, sessionId); + return await _chatContainer.ReadItemAsync( + partitionKey: partitionKey, + id: sessionId + ); + } + + /// + /// Batch create chat message and update session. + /// + /// Id of Tenant. + /// Id of User. + /// Chat message and session items to create or replace. + public async Task UpsertSessionBatchAsync(string tenantId, string userId, params dynamic[] messages) + { + + //Make sure items are all in the same partition + if (messages.Select(m => m.SessionId).Distinct().Count() > 1) + { + throw new ArgumentException("All items must have the same partition key."); + } + + PartitionKey partitionKey = GetPK(tenantId, userId, messages[0].SessionId); + TransactionalBatch batch = _chatContainer.CreateTransactionalBatch(partitionKey); + + foreach (var message in messages) + { + batch.UpsertItem(item: message); + } + + await batch.ExecuteAsync(); + } + + /// + /// Batch deletes an existing chat session and all related messages. + /// + /// Id of Tenant. + /// Id of User. + /// Chat session identifier used to flag messages and sessions for deletion. + + public async Task DeleteSessionAndMessagesAsync(string tenantId, string userId, string sessionId) + { + PartitionKey partitionKey = GetPK(tenantId, userId, sessionId); + + QueryDefinition query = new QueryDefinition("SELECT VALUE c.id FROM c WHERE c.sessionId = @sessionId") + .WithParameter("@sessionId", sessionId); + + FeedIterator response = _chatContainer.GetItemQueryIterator(query); + + TransactionalBatch batch = _chatContainer.CreateTransactionalBatch(partitionKey); + while (response.HasMoreResults) + { + FeedResponse results = await response.ReadNextAsync(); + foreach (var itemId in results) + { + batch.DeleteItem( + id: itemId + ); + } + } + await batch.ExecuteAsync(); + } + + /// + /// Upserts a new product. + /// + /// Product item to create or update. + /// Newly created product item. + public async Task InsertProductAsync(Product product) + { + PartitionKey partitionKey = new(product.categoryId); + return await _productContainer.CreateItemAsync( + item: product, + partitionKey: partitionKey + ); + } + + /// + /// Delete a product. + /// + /// Product item to delete. + public async Task DeleteProductAsync(Product product) + { + PartitionKey partitionKey = new(product.categoryId); + await _productContainer.DeleteItemAsync( + id: product.id, + partitionKey: partitionKey + ); + } + + /// + /// Search vectors for similar products. + /// + /// Product item to delete. + /// Array of similar product items. + public async Task> SearchProductsAsync(float[] vectors, int productMaxResults) + { + List results = new(); + + //Return only the properties we need to generate a completion. Often don't need id values. + + //{productMaxResults} + string queryText = $""" + SELECT + Top @maxResults + c.categoryName, c.sku, c.name, c.description, c.price, c.tags, VectorDistance(c.vectors, @vectors) as similarityScore + FROM c + ORDER BY VectorDistance(c.vectors, @vectors) + """; + + var queryDef = new QueryDefinition( + query: queryText) + .WithParameter("@maxResults", productMaxResults) + .WithParameter("@vectors", vectors); + + using FeedIterator resultSet = _productContainer.GetItemQueryIterator(queryDefinition: queryDef); + + while (resultSet.HasMoreResults) + { + FeedResponse response = await resultSet.ReadNextAsync(); + + results.AddRange(response); + } + + return results; + } + + + /// + /// Find a cache item. + /// Select Top 1 to get only get one result. + /// OrderBy DESC to return the highest similary score first. + /// Use a subquery to get the similarity score so we can then use in a WHERE clause + /// + /// Vectors to do the semantic search in the cache. + /// Value to determine how similar the vectors. >0.99 is exact match. + public async Task GetCacheAsync(float[] vectors, double similarityScore) + { + + string cacheResponse = ""; + + string queryText = $""" + SELECT Top 1 c.prompt, c.completion, VectorDistance(c.vectors, @vectors) as similarityScore + FROM c + WHERE VectorDistance(c.vectors, @vectors) > @similarityScore + ORDER BY VectorDistance(c.vectors, @vectors) + """; + + //string queryText = $""" + // SELECT Top 1 x.prompt, x.completion, x.similarityScore + // FROM (SELECT c.prompt, c.completion, VectorDistance(c.vectors, @vectors, false) as similarityScore FROM c) + // x WHERE x.similarityScore > @similarityScore ORDER BY x.similarityScore desc + // """; + + var queryDef = new QueryDefinition( + query: queryText) + .WithParameter("@vectors", vectors) + .WithParameter("@similarityScore", similarityScore); + + using FeedIterator resultSet = _cacheContainer.GetItemQueryIterator(queryDefinition: queryDef); + + while (resultSet.HasMoreResults) + { + FeedResponse response = await resultSet.ReadNextAsync(); + + foreach (CacheItem item in response) + { + cacheResponse = item.Completion; + return cacheResponse; + } + } + + return cacheResponse; + } + + /// + /// Add a new cache item. + /// + /// Vectors used to perform the semantic search. + /// Text value of the vectors in the search. + /// Text value of the previously generated response to return to the user. + public async Task CachePutAsync(CacheItem cacheItem) + { + + await _cacheContainer.UpsertItemAsync(item: cacheItem); + } + + /// + /// Remove a cache item using its vectors. + /// + /// Vectors used to perform the semantic search. Similarity Score is set to 0.99 for exact match + public async Task CacheRemoveAsync(float[] vectors) + { + double similarityScore = 0.99; + //string queryText = "SELECT Top 1 c.id FROM (SELECT c.id, VectorDistance(c.vectors, @vectors, false) as similarityScore FROM c) x WHERE x.similarityScore > @similarityScore ORDER BY x.similarityScore desc"; + + string queryText = $""" + SELECT Top 1 c.id + FROM c + WHERE VectorDistance(c.vectors, @vectors) > @similarityScore + ORDER BY VectorDistance(c.vectors, @vectors) + """; + + var queryDef = new QueryDefinition( + query: queryText) + .WithParameter("@vectors", vectors) + .WithParameter("@similarityScore", similarityScore); + + using FeedIterator resultSet = _cacheContainer.GetItemQueryIterator(queryDefinition: queryDef); + + while (resultSet.HasMoreResults) + { + FeedResponse response = await resultSet.ReadNextAsync(); + + foreach (CacheItem item in response) + { + await _cacheContainer.DeleteItemAsync(partitionKey: new PartitionKey(item.Id), id: item.Id); + return; + } + } + } + + /// + /// Clear the cache of all cache items. + /// + public async Task CacheClearAsync() + { + + string queryText = "SELECT c.id FROM c"; + + var queryDef = new QueryDefinition(query: queryText); + + using FeedIterator resultSet = _cacheContainer.GetItemQueryIterator(queryDefinition: queryDef); + + while (resultSet.HasMoreResults) + { + FeedResponse response = await resultSet.ReadNextAsync(); + + foreach (CacheItem item in response) + { + await _cacheContainer.DeleteItemAsync(partitionKey: new PartitionKey(item.Id), id: item.Id); + } + } + } +} \ No newline at end of file diff --git a/src/Services/OpenAiService.cs b/src/Services/OpenAiService.cs new file mode 100644 index 0000000..615460a --- /dev/null +++ b/src/Services/OpenAiService.cs @@ -0,0 +1,208 @@ +using Azure; +using Azure.AI.OpenAI; +using Azure.Core; +using Azure.Identity; +using Cosmos.Copilot.Models; +using Newtonsoft.Json; + +namespace Cosmos.Copilot.Services; + +/// +/// Service to access Azure OpenAI. +/// +public class OpenAiService +{ + private readonly string _completionDeploymentName = String.Empty; + private readonly string _embeddingDeploymentName = String.Empty; + private readonly OpenAIClient _client; + + /// + /// System prompt to send with user prompts to instruct the model for chat session + /// + private readonly string _systemPrompt = @" + You are an AI assistant that helps people find information. + Provide concise answers that are polite and professional." + Environment.NewLine; + + /// + /// System prompt to send with user prompts as a Retail AI Assistant for chat session + /// + private readonly string _systemPromptRetailAssistant = @" + You are an intelligent assistant for the Cosmic Works Bike Company. + You are designed to provide helpful answers to user questions about + bike products and accessories provided in JSON format below. + + Instructions: + - Only answer questions related to the information provided below, + - Don't reference any product data not provided below. + - If you're unsure of an answer, you can say ""I don't know"" or ""I'm not sure"" and recommend users search themselves. + + Text of relevant information:"; + + /// + /// System prompt to send with user prompts to instruct the model for summarization + /// + private readonly string _summarizePrompt = @" + Summarize this prompt in one or two words to use as a label in a button on a web page. + Do not use any punctuation." + Environment.NewLine; + + /// + /// Creates a new instance of the service. + /// + /// Endpoint URI. + /// Name of the deployed Azure OpenAI completion model. + /// Name of the deployed Azure OpenAI embedding model. + /// Thrown when endpoint, key, or modelName is either null or empty. + /// + /// This constructor will validate credentials and create a HTTP client instance. + /// + public OpenAiService(string endpoint, string completionDeploymentName, string embeddingDeploymentName) + { + ArgumentNullException.ThrowIfNullOrEmpty(endpoint); + ArgumentNullException.ThrowIfNullOrEmpty(completionDeploymentName); + ArgumentNullException.ThrowIfNullOrEmpty(embeddingDeploymentName); + + _completionDeploymentName = completionDeploymentName; + _embeddingDeploymentName = embeddingDeploymentName; + + TokenCredential credential = new DefaultAzureCredential(); + _client = new OpenAIClient(new Uri(endpoint), credential); + } + + /// + /// Sends a prompt to the deployed OpenAI LLM model and returns the response. + /// + /// Chat session identifier for the current conversation. + /// List of Message objects containign the context window (chat history) to send to the model. + /// Generated response along with tokens used to generate it. + public async Task<(string completion, int tokens)> GetChatCompletionAsync(string sessionId, List conversation) + { + + //Serialize the conversation to a string to send to OpenAI + string conversationString = string.Join(Environment.NewLine, conversation.Select(m => m.Prompt + " " + m.Completion)); + + ChatCompletionsOptions options = new() + { + DeploymentName = _completionDeploymentName, + Messages = + { + new ChatRequestSystemMessage(_systemPrompt), + new ChatRequestUserMessage(conversationString) + }, + User = sessionId, + MaxTokens = 1000, + Temperature = 0.2f, + NucleusSamplingFactor = 0.7f, + FrequencyPenalty = 0, + PresencePenalty = 0 + }; + + Response completionsResponse = await _client.GetChatCompletionsAsync(options); + + ChatCompletions completions = completionsResponse.Value; + + string completion = completions.Choices[0].Message.Content; + int tokens = completions.Usage.CompletionTokens; + + + return (completion, tokens); + } + + /// + /// Sends a prompt and vector search results to the deployed OpenAI LLM model and returns the response. + /// + /// Chat session identifier for the current conversation. + /// List of Message objects containign the context window (chat history) to send to the model. + /// List of Product objects containing vector search results to augment the LLM completion. + /// Generated response along with tokens used to generate it. + public async Task<(string completion, int tokens)> GetRagCompletionAsync(string sessionId, List contextWindow, List products) + { + //Serialize List to a JSON string to send to OpenAI + string productsString = JsonConvert.SerializeObject(products); + + //Serialize the conversation to a string to send to OpenAI + string contextWindowString = string.Join(Environment.NewLine, contextWindow.Select(m => m.Prompt + " " + m.Completion)); + + ChatCompletionsOptions options = new() + { + DeploymentName = _completionDeploymentName, + Messages = + { + new ChatRequestSystemMessage(_systemPromptRetailAssistant + productsString), + new ChatRequestUserMessage(contextWindowString) + }, + User = sessionId, + MaxTokens = 1000, + Temperature = 0.2f, + NucleusSamplingFactor = 0.7f, + FrequencyPenalty = 0, + PresencePenalty = 0 + }; + + Response completionsResponse = await _client.GetChatCompletionsAsync(options); + + ChatCompletions completions = completionsResponse.Value; + + string completion = completions.Choices[0].Message.Content; + int tokens = completions.Usage.CompletionTokens; + + + return (completion, tokens); + } + + /// + /// Sends the existing conversation to the OpenAI model and returns a two word summary. + /// + /// Chat session identifier for the current conversation. + /// conversation history to send to OpenAI. + /// Summarization response from the OpenAI completion model deployment. + public async Task SummarizeAsync(string sessionId, string conversationText) + { + + ChatRequestSystemMessage systemMessage = new(_summarizePrompt); + ChatRequestUserMessage userMessage = new(conversationText); + + ChatCompletionsOptions options = new() + { + DeploymentName = _completionDeploymentName, + Messages = { + systemMessage, + userMessage + }, + User = sessionId, + MaxTokens = 200, + Temperature = 0.0f, + NucleusSamplingFactor = 1.0f, + FrequencyPenalty = 0, + PresencePenalty = 0 + }; + + Response completionsResponse = await _client.GetChatCompletionsAsync(options); + + ChatCompletions completions = completionsResponse.Value; + + string completionText = completions.Choices[0].Message.Content; + + return completionText; + } + + /// + /// Generates embeddings from the deployed OpenAI embeddings model and returns an array of vectors. + /// + /// Text to send to OpenAI. + /// Array of vectors from the OpenAI embedding model deployment. + public async Task GetEmbeddingsAsync(string input) + { + + float[] embedding = new float[0]; + + EmbeddingsOptions options = new EmbeddingsOptions(_embeddingDeploymentName, new List { input }); + + var response = await _client.GetEmbeddingsAsync(options); + + Embeddings embeddings = response.Value; + + embedding = embeddings.Data[0].Embedding.ToArray(); + + return embedding; + } +} diff --git a/src/Services/SemanticKernelService.cs b/src/Services/SemanticKernelService.cs new file mode 100644 index 0000000..5bafcb3 --- /dev/null +++ b/src/Services/SemanticKernelService.cs @@ -0,0 +1,202 @@ +using Microsoft.SemanticKernel; +using Microsoft.SemanticKernel.ChatCompletion; +using Cosmos.Copilot.Models; +using Microsoft.SemanticKernel.Embeddings; +using Azure.AI.OpenAI; +using Azure.Core; +using Azure.Identity; +using Newtonsoft.Json; + +namespace Cosmos.Copilot.Services; + +/// +/// Semantic Kernel implementation for Azure OpenAI. +/// +public class SemanticKernelService +{ + //Semantic Kernel + readonly Kernel kernel; + + /// + /// System prompt to send with user prompts to instruct the model for chat session + /// + private readonly string _systemPrompt = @" + You are an AI assistant that helps people find information. + Provide concise answers that are polite and professional."; + + /// + /// System prompt to send with user prompts as a Retail AI Assistant for chat session + /// + private readonly string _systemPromptRetailAssistant = @" + You are an intelligent assistant for the Cosmic Works Bike Company. + You are designed to provide helpful answers to user questions about + bike products and accessories provided in JSON format below. + + Instructions: + - Only answer questions related to the information provided below, + - Don't reference any product data not provided below. + - If you're unsure of an answer, you can say ""I don't know"" or ""I'm not sure"" and recommend users search themselves. + + Text of relevant information:"; + + /// + /// System prompt to send with user prompts to instruct the model for summarization + /// + private readonly string _summarizePrompt = @" + Summarize this text. One to three words maximum length. + Plain text only. No punctuation, markup or tags."; + + /// + /// Creates a new instance of the Semantic Kernel. + /// + /// Endpoint URI. + /// Name of the deployed Azure OpenAI completion model. + /// Name of the deployed Azure OpenAI embedding model. + /// Thrown when endpoint, key, or modelName is either null or empty. + /// + /// This constructor will validate credentials and create a Semantic Kernel instance. + /// + public SemanticKernelService(string endpoint, string completionDeploymentName, string embeddingDeploymentName) + { + ArgumentNullException.ThrowIfNullOrEmpty(endpoint); + ArgumentNullException.ThrowIfNullOrEmpty(completionDeploymentName); + ArgumentNullException.ThrowIfNullOrEmpty(embeddingDeploymentName); + + TokenCredential credential = new DefaultAzureCredential(); + // Initialize the Semantic Kernel + kernel = Kernel.CreateBuilder() + .AddAzureOpenAIChatCompletion(completionDeploymentName, endpoint, credential) + .AddAzureOpenAITextEmbeddingGeneration(embeddingDeploymentName, endpoint, credential) + .Build(); + } + + /// + /// Generates a completion using a user prompt with chat history to Semantic Kernel and returns the response. + /// + /// Chat session identifier for the current conversation. + /// List of Message objects containign the context window (chat history) to send to the model. + /// Generated response along with tokens used to generate it. + public async Task<(string completion, int tokens)> GetChatCompletionAsync(string sessionId, List contextWindow) + { + var skChatHistory = new ChatHistory(); + skChatHistory.AddSystemMessage(_systemPrompt); + + foreach (var message in contextWindow) + { + skChatHistory.AddUserMessage(message.Prompt); + if (message.Completion != string.Empty) + skChatHistory.AddAssistantMessage(message.Completion); + } + + PromptExecutionSettings settings = new() + { + ExtensionData = new Dictionary() + { + { "Temperature", 0.2 }, + { "TopP", 0.7 }, + { "MaxTokens", 1000 } + } + }; + + + var result = await kernel.GetRequiredService().GetChatMessageContentAsync(skChatHistory, settings); + + CompletionsUsage completionUsage = (CompletionsUsage)result.Metadata!["Usage"]!; + + string completion = result.Items[0].ToString()!; + int tokens = completionUsage.CompletionTokens; + + return (completion, tokens); + } + + /// + /// Generates a completion using a user prompt with chat history and vector search results to Semantic Kernel and returns the response. + /// + /// Chat session identifier for the current conversation. + /// List of Message objects containing the context window (chat history) to send to the model. + /// List of Product objects containing vector search results to send to the model. + /// Generated response along with tokens used to generate it. + public async Task<(string completion, int tokens)> GetRagCompletionAsync(string sessionId, List contextWindow, List products) + { + //Serialize List to a JSON string to send to OpenAI + string productsString = JsonConvert.SerializeObject(products); + + var skChatHistory = new ChatHistory(); + skChatHistory.AddSystemMessage(_systemPromptRetailAssistant + productsString); + + + foreach (var message in contextWindow) + { + skChatHistory.AddUserMessage(message.Prompt); + if (message.Completion != string.Empty) + skChatHistory.AddAssistantMessage(message.Completion); + } + + PromptExecutionSettings settings = new() + { + ExtensionData = new Dictionary() + { + { "Temperature", 0.2 }, + { "TopP", 0.7 }, + { "MaxTokens", 1000 } + } + }; + + + var result = await kernel.GetRequiredService().GetChatMessageContentAsync(skChatHistory, settings); + + CompletionsUsage completionUsage = (CompletionsUsage)result.Metadata!["Usage"]!; + + string completion = result.Items[0].ToString()!; + int tokens = completionUsage.CompletionTokens; + + return (completion, tokens); + } + + + /// + /// Generates embeddings from the deployed OpenAI embeddings model using Semantic Kernel. + /// + /// Text to send to OpenAI. + /// Array of vectors from the OpenAI embedding model deployment. + public async Task GetEmbeddingsAsync(string text) + { + var embeddings = await kernel.GetRequiredService().GenerateEmbeddingAsync(text); + + float[] embeddingsArray = embeddings.ToArray(); + + return embeddingsArray; + } + + /// + /// Sends the existing conversation to the Semantic Kernel and returns a two word summary. + /// + /// Chat session identifier for the current conversation. + /// conversation history to send to Semantic Kernel. + /// Summarization response from the OpenAI completion model deployment. + public async Task SummarizeConversationAsync(string conversation) + { + //return await summarizePlugin.SummarizeConversationAsync(conversation, kernel); + + var skChatHistory = new ChatHistory(); + skChatHistory.AddSystemMessage(_summarizePrompt); + skChatHistory.AddUserMessage(conversation); + + PromptExecutionSettings settings = new() + { + ExtensionData = new Dictionary() + { + { "Temperature", 0.0 }, + { "TopP", 1.0 }, + { "MaxTokens", 100 } + } + }; + + + var result = await kernel.GetRequiredService().GetChatMessageContentAsync(skChatHistory, settings); + + string completion = result.Items[0].ToString()!; + + return completion; + } +} diff --git a/src/Shared/MainLayout.razor b/src/Shared/MainLayout.razor new file mode 100644 index 0000000..cd8d099 --- /dev/null +++ b/src/Shared/MainLayout.razor @@ -0,0 +1,3 @@ +@inherits LayoutComponentBase +Azure Cosmos DB + ChatGPT +@Body \ No newline at end of file diff --git a/src/_Imports.razor b/src/_Imports.razor new file mode 100644 index 0000000..70cd6a1 --- /dev/null +++ b/src/_Imports.razor @@ -0,0 +1,12 @@ +@using System.Net.Http +@using Microsoft.AspNetCore.Authorization +@using Microsoft.AspNetCore.Components.Authorization +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Cosmos.Copilot +@using Cosmos.Copilot.Models +@using Cosmos.Copilot.Shared +@using Cosmos.Copilot.Components diff --git a/src/appsettings.json b/src/appsettings.json new file mode 100644 index 0000000..ab8c669 --- /dev/null +++ b/src/appsettings.json @@ -0,0 +1,33 @@ +{ + "DetailedErrors": true, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "CosmosDb": { + "Endpoint": "", + "Database": "cosmoscopilotdb", + "ChatContainer": "chat", + "CacheContainer": "cache", + "ProductContainer": "products", + "ProductDataSourceURI": "https://cosmosdbcosmicworks.blob.core.windows.net/cosmic-works-vectorized/product-text-3-large-1536.json" + }, + "OpenAi": { + "Endpoint": "", + "CompletionDeploymentName": "", + "EmbeddingDeploymentName": "" + }, + "SemanticKernel": { + "Endpoint": "", + "CompletionDeploymentName": "", + "EmbeddingDeploymentName": "" + }, + "Chat": { + "MaxConversationTokens": "100", + "CacheSimilarityScore": "0.99", + "ProductMaxResults": "10" + } +} \ No newline at end of file diff --git a/src/cosmos-copilot.csproj b/src/cosmos-copilot.csproj new file mode 100644 index 0000000..111693a --- /dev/null +++ b/src/cosmos-copilot.csproj @@ -0,0 +1,34 @@ + + + net8.0 + enable + enable + Cosmos.Copilot + faca8719-db54-4203-bb6e-cabe9c31df22 + + + + + + + + + + + + + + + + + + + Always + + + + $(NoWarn);SKEXP0001,SKEXP0010 + Linux + . + + \ No newline at end of file diff --git a/src/cosmos-copilot.sln b/src/cosmos-copilot.sln index 7710509..80d115b 100644 --- a/src/cosmos-copilot.sln +++ b/src/cosmos-copilot.sln @@ -3,11 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.4.33213.308 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "cosmos-copilot.AppHost", "cosmos-copilot.AppHost\cosmos-copilot.AppHost.csproj", "{FA8CBED7-7D23-4936-A4BC-7C910CEF074E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "cosmos-copilot.ServiceDefaults", "cosmos-copilot.ServiceDefaults\cosmos-copilot.ServiceDefaults.csproj", "{3BD36A7B-6692-4984-AC15-323F47D23C4A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "cosmos-copilot.WebApp", "cosmos-copilot.WebApp\cosmos-copilot.WebApp.csproj", "{1EFFAAEE-E02F-4CFA-B1CC-40C07190EFA8}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "cosmos-copilot", "cosmos-copilot.csproj", "{AB2C218B-2B3F-46CA-A50F-EF5648363AE5}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,18 +11,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {FA8CBED7-7D23-4936-A4BC-7C910CEF074E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FA8CBED7-7D23-4936-A4BC-7C910CEF074E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FA8CBED7-7D23-4936-A4BC-7C910CEF074E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FA8CBED7-7D23-4936-A4BC-7C910CEF074E}.Release|Any CPU.Build.0 = Release|Any CPU - {3BD36A7B-6692-4984-AC15-323F47D23C4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3BD36A7B-6692-4984-AC15-323F47D23C4A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3BD36A7B-6692-4984-AC15-323F47D23C4A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3BD36A7B-6692-4984-AC15-323F47D23C4A}.Release|Any CPU.Build.0 = Release|Any CPU - {1EFFAAEE-E02F-4CFA-B1CC-40C07190EFA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1EFFAAEE-E02F-4CFA-B1CC-40C07190EFA8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1EFFAAEE-E02F-4CFA-B1CC-40C07190EFA8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1EFFAAEE-E02F-4CFA-B1CC-40C07190EFA8}.Release|Any CPU.Build.0 = Release|Any CPU + {AB2C218B-2B3F-46CA-A50F-EF5648363AE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AB2C218B-2B3F-46CA-A50F-EF5648363AE5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AB2C218B-2B3F-46CA-A50F-EF5648363AE5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AB2C218B-2B3F-46CA-A50F-EF5648363AE5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/nuget.config b/src/nuget.config new file mode 100644 index 0000000..2c70539 --- /dev/null +++ b/src/nuget.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/wwwroot/favicon.ico b/src/wwwroot/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8e96706c6b399fabd38edd568a2b8c1ac16560cb GIT binary patch literal 15406 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 NyZ+w_{7+ed{{#z2X4L=y literal 0 HcmV?d00001 diff --git a/src/wwwroot/js/site.js b/src/wwwroot/js/site.js new file mode 100644 index 0000000..f0259e0 --- /dev/null +++ b/src/wwwroot/js/site.js @@ -0,0 +1,9 @@ +function scrollToLastMessage() +{ + if (document.getElementById('MessagesInChatdiv')) { + var elem = document.getElementById('MessagesInChatdiv'); + elem.scrollTop = elem.scrollHeight; + return true; + } + return false; +} \ No newline at end of file