-
Notifications
You must be signed in to change notification settings - Fork 158
feat: using ai search tool for ChatWithCallTranscript Kernel function, use existing ai foundry project, integrating deployment and test automation pipeline #587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ssistants (#566) * initial bicep changes for fdp * update role assignments in bicep * feat: initial fdp changes for client advisor * updated post deployment scripts to use keyless authentication * rebuilt main.json * fix configuration handling and error checking in backend services * updated unit tests * Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files.
* initial bicep changes for fdp * update role assignments in bicep * feat: initial fdp changes for client advisor * updated post deployment scripts to use keyless authentication * rebuilt main.json * fix configuration handling and error checking in backend services * updated unit tests * Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files. * fix: correct variable names for managed identity and AI foundry in scripts and templates
* quota-check-during azd up * updated bicep and parameter json
…from popup (#578) * feat: FDP changes, Updation to use AI agents (#571) * Implemented Log execution time per prompt in Report * updated readme * updated the code * added functions * feat: added fdp changes, updated to use ai agents instead of openai assistants (#566) * initial bicep changes for fdp * update role assignments in bicep * feat: initial fdp changes for client advisor * updated post deployment scripts to use keyless authentication * rebuilt main.json * fix configuration handling and error checking in backend services * updated unit tests * Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files. * refactor: couple of typo fix (#570) * initial bicep changes for fdp * update role assignments in bicep * feat: initial fdp changes for client advisor * updated post deployment scripts to use keyless authentication * rebuilt main.json * fix configuration handling and error checking in backend services * updated unit tests * Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files. * fix: correct variable names for managed identity and AI foundry in scripts and templates --------- Co-authored-by: Rohini-Microsoft <[email protected]> Co-authored-by: Avijit-Microsoft <[email protected]> Co-authored-by: Harsh-Microsoft <[email protected]> * bug fix(#19849) --------- Co-authored-by: Prajwal-Microsoft <[email protected]> Co-authored-by: Ragini-Microsoft <[email protected]> Co-authored-by: Rohini-Microsoft <[email protected]> Co-authored-by: Avijit-Microsoft <[email protected]> Co-authored-by: Harsh-Microsoft <[email protected]>
…cript kernel function (#583) * feat: ai search tool changes * update unit tests for ai search tool implementation * fix post deployment scripts * rebuild main.json * fix pylint issues for tests
* feat: ai search tool changes * update unit tests for ai search tool implementation * fix post deployment scripts * rebuild main.json * fix pylint issues for tests * fix: improve Azure authentication messages in scripts
…th ot… (#585) * Changed the Prompt to avoid generating answer while comparing with other client * removed the special char \r from main.json
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enables reuse of existing AI Foundry projects in both infrastructure templates and code, integrates an AI Search tool for call transcript queries, and enhances CI/CD workflows with parameterized test automation and improved deployment pipelines.
- Introduce
azureExistingAIProjectResourceIdparameter across Bicep templates and scripts to conditionally reuse existing AI Foundry resources. - Refactor application and service code to support two agents (
wealth_advisor_agentandsearch_agent) and update theChatWithDataPluginto leverage the AI Search Agent. - Enhance GitHub Actions workflows (
test_automation.yml,CAdeploy.yml) for flexible URL inputs, readiness checks, and end-to-end automation, including parameterized deployment and cleanup jobs.
Reviewed Changes
Copilot reviewed 28 out of 30 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/App/backend/plugins/chat_with_data_plugin.py | Add async handling for search-based transcripts; missing imports and resource cleanup logic |
| infra/deploy_ai_foundry.bicep | Add parameter and logic to reuse existing AI project resources |
| infra/main.bicep | Propagate new reuse parameter; remove outdated references; update defaults |
| .github/workflows/test_automation.yml | Add workflow_call, URL validation, and readiness polling steps |
| .github/workflows/CAdeploy.yml | Upgrade deployment workflow with branch-based tagging, outputs, and e2e test invocation |
Comments suppressed due to low confidence (3)
infra/scripts/run_create_index_scripts.sh:11
- [nitpick] The parameter
resourceGroupNameFoundryis camelCase and may conflict with other script conventions; consider renaming it toresourceGroupNameFoundryconsistently or use uppercase with underscores to match other variables.
resourceGroupNameFoundry="$8"
src/App/backend/plugins/chat_with_data_plugin.py:1
- The plugin references
configthroughout but does not import it; addfrom backend.common.config import configat the top.
import logging
src/App/backend/plugins/chat_with_data_plugin.py:252
- The
threadvariable is used infinallybut never initialized before the innertry; definethread = Nonebefore thetryto avoid a NameError on early exceptions.
finally:
| callTranscriptSystemPrompt: functionAppCallTranscriptSystemPrompt | ||
| streamTextSystemPrompt: functionAppStreamTextSystemPrompt | ||
| aiFoundryProjectName:aifoundry.outputs.aiFoundryProjectName | ||
| //aiFoundryProjectName:aifoundry.outputs.aiFoundryProjectName |
Copilot
AI
Jul 1, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Remove this leftover commented-out output property now that the project name is conditionally handled; commented code increases maintenance overhead.
| //aiFoundryProjectName:aifoundry.outputs.aiFoundryProjectName | |
|
🎉 This PR is included in version 1.5.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Purpose
This pull request introduces significant updates to the automation workflow, documentation, and infrastructure deployment templates. The changes primarily focus on enabling support for reusing existing AI Foundry projects, improving workflow flexibility, and enhancing resource deployment logic.
Workflow Enhancements
workflow_callin.github/workflows/test_automation.ymlto allow external workflows to pass theCA_WEB_URLas an input parameter, replacing the hardcodedCLIENT_ADVISOR_URLvariable.jobssection to validate the provided URL and wait for the application to be ready before running tests. This ensures the environment is correctly set up before executing tests.Documentation Updates
docs/CustomizingAzdParameters.mdanddocs/DeploymentGuide.mdto include a new parameter for reusing an existing AI Foundry project resource (RESOURCE_GROUP_NAME_FOUNDRYandExisting AI Foundry Project Resource ID). [1] [2]Infrastructure Deployment Enhancements
azureExistingAIProjectResourceId) toinfra/deploy_ai_foundry.bicepto support reusing existing AI Foundry projects. This includes logic to dynamically determine resource attributes (e.g., endpoints, names, and resource groups) based on the provided resource ID. [1] [2]infra/deploy_ai_foundry.bicepto conditionally create new resources or reuse existing ones, depending on whetherazureExistingAIProjectResourceIdis provided. This applies to AI Foundry projects, connections, and role assignments. [1] [2] [3]infra/deploy_aifp_aisearch_connection.bicep) to handle connections for existing AI projects, enabling seamless integration with Azure Cognitive Search.Minor Code Style Improvements
infra/deploy_app_service.bicepfor better readability. [1] [2]These updates collectively enhance the flexibility and scalability of the deployment process while improving the automation workflow's robustness.
Does this introduce a breaking change?
Golden Path Validation
Deployment Validation
What to Check
Verify that the following are valid
Other Information