Skip to content

Add SandboxAQ Foundry model agent - #230

Closed
sravankumarux wants to merge 3 commits into
microsoft:mainfrom
sravankumarux:add-sandboxaq-foundry-agent
Closed

sravankumarux wants to merge 3 commits into
microsoft:mainfrom
sravankumarux:add-sandboxaq-foundry-agent

Conversation

@sravankumarux

Copy link
Copy Markdown
Contributor

Summary

Re-proposes the SandboxAQ Foundry model agent (agents/sandboxaq) on its own, split out from #193 as discussed with the Discovery team. The AQCat and AQPotency MCP agents are reviewed separately.

Depends on #229, which removes this agent from main. This branch is stacked on #229, so until #229 merges the diff here shows only the README change. Once it merges, the diff becomes the full agent addition.

What the agent does

Invokes a SandboxAQ model that the customer has subscribed to in Azure AI Foundry, through its chat-completions endpoint, from a Discovery tool container (sandboxaq-model). The agent writes Python scripts that call sandboxaq_utils.invoke_model, so prompt text never passes through a shell.

What's included

  • agents/sandboxaq/: agent.yaml, metadata.yaml, README.md
  • agents/sandboxaq/tools/sandboxaq-model/: Dockerfile (on mcr.microsoft.com/azurelinux/base/python:3.12), tool.yaml, sandboxaq_utils.py

Change from the version merged in #193: the README no longer links to the aqcat and aqpotency agents.

Configuration

No secrets are committed. The tool reads runtime environment variables set at deploy time, following the same pattern as the PubMed agent:

Variable Required Purpose
FOUNDRY_ENDPOINT Yes Endpoint base URL
FOUNDRY_API_KEY Yes Credential for the subscribed deployment
FOUNDRY_DEPLOYMENT For azure-openai SandboxAQ model deployment name
FOUNDRY_API_STYLE No azure-openai (default, api-key header) or serverless (Bearer token, /chat/completions)
FOUNDRY_API_VERSION No Defaults to 2024-10-21 for azure-openai

Errors raised by the tool report the HTTP status and response body but never the endpoint URL or credential.

Status

Draft: not yet deployed end to end against a subscribed SandboxAQ Foundry deployment, and the serverless request style has not been tested against a live endpoint.

Per review discussion, the Foundry model agent (agents/sandboxaq) moves
to its own draft PR so the MCP agents (aqcat, aqpotency) and the
Foundry agent are reviewed separately. Drop the sandboxaq links from
the aqcat and aqpotency READMEs.
Calls a SandboxAQ model subscribed through Azure AI Foundry from a
Discovery tool container (sandboxaq-model). Split out from the AQCat and
AQPotency MCP agents so it can be reviewed separately; the README no
longer links to those agents.
@github-actions github-actions Bot added 3p-contribution Authored by a third-party partner (party='3p' in metadata) markdown-only Every file changed by this PR is Markdown pr-validation-passed The pr-review workflow's validator passed. Other status checks report separately. labels Oct 9, 2026
The build command ran `docker build .` from the agent directory, but the
Dockerfile lives in tools/sandboxaq-model/, so the build failed. Build
from the tool directory, and add --platform linux/amd64 as the other
catalog agents do, since the tool runs on x86-64 Azure VMs. Also fence
the architecture diagram and bracket the support email.
@github-actions github-actions Bot added 3p-contribution Authored by a third-party partner (party='3p' in metadata) markdown-only Every file changed by this PR is Markdown pr-validation-passed The pr-review workflow's validator passed. Other status checks report separately. and removed 3p-contribution Authored by a third-party partner (party='3p' in metadata) pr-validation-passed The pr-review workflow's validator passed. Other status checks report separately. markdown-only Every file changed by this PR is Markdown labels Oct 9, 2026
@sravankumarux

Copy link
Copy Markdown
Contributor Author

Superseded by #231, which makes the same net README changes in a single PR.

@sravankumarux
sravankumarux deleted the add-sandboxaq-foundry-agent branch October 9, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3p-contribution Authored by a third-party partner (party='3p' in metadata) markdown-only Every file changed by this PR is Markdown pr-validation-passed The pr-review workflow's validator passed. Other status checks report separately.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant