All skills
microsoft avatar

/microsoft-foundry

@04110d9
by microsoftmicrosoft/skills3.1k stars
351

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, create agent, update agent, add tool to agent, invoke agent, agent.yaml, agent insights, pull agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, prompt optimizer, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure-prepare).

Use this Skill: https://skilld.dev/gh/microsoft/skills/microsoft-foundry

This session only. Nothing lands on disk.

foundry-agenttoolboxreferencestool-file-search.md

≈1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Tool — File Search (type: file_search)

Vector-store-backed retrieval over uploaded files — a connectionless built-in (the vector store is referenced by the toolbox tool). Use the flat tool shape: vector_store_ids is a sibling of type, not nested under file_search. For the toolbox concept, versions, and endpoint, see toolbox.md.

🚦 Before creating a toolbox/connection either way, read create-hosted.md → Toolbox creation boundary.


Prerequisite — create a vector store

File search needs a vector store populated with your files. Create it via the project's OpenAI-compatible endpoints ({project}/openai/v1/...), using a token scoped to https://ai.azure.com/.default. Requires Storage Blob Data Contributor on the project storage and Foundry User/Owner on the project.

PROJ="$FOUNDRY_PROJECT_ENDPOINT"
TOKEN=$(az account get-access-token --scope "https://ai.azure.com/.default" --query accessToken -o tsv)

# 1. Upload a file (purpose=assistants)
FILE_ID=$(curl -sS -X POST "$PROJ/openai/v1/files" -H "Authorization: Bearer $TOKEN" \
  -F purpose="assistants" -F file="@./mydoc.txt" | jq -r .id)

# 2. Create a vector store with that file
VS_ID=$(curl -sS -X POST "$PROJ/openai/v1/vector_stores" -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" -d "{\"name\":\"my-vs\",\"file_ids\":[\"$FILE_ID\"]}" | jq -r .id)

# 3. Poll until ingestion completes (status must be 'completed' before use)
curl -sS "$PROJ/openai/v1/vector_stores/$VS_ID" -H "Authorization: Bearer $TOKEN" | jq '.status, .file_counts'

Use the resulting VS_ID (form vs_...) below. One vector store per agent; up to 10,000 files per store; 512 MB per file.


A. Imperative CLI

Steps 1–3 of toolbox.md § The flow — connectionless, so it goes under a tools: block. Write the toolbox spec to a file — azd ai toolbox create --from-file takes a path (stdin - is not supported).

# 0. Install the CLI extension (once)
azd extension install azure.ai.toolboxes

# Write the toolbox spec to a file (use the real VS_ID from the prerequisite)
cat > fs.yaml <<EOF
description: file-search toolbox
tools:
  - type: file_search
    vector_store_ids: ["$VS_ID"]   # flat: sibling of type, NOT nested under file_search
EOF

Create a new toolbox (first version auto-promoted):

azd ai toolbox create agent-tools --from-file fs.yaml --project-endpoint "$FOUNDRY_PROJECT_ENDPOINT"

Add to an existing toolbox: the current azd CLI does not support adding a connectionless built-in to an existing toolbox — you can only create a new toolbox (azd ai toolbox create) with the full tool set.

--from-file entry:

tools:
  - type: file_search
    vector_store_ids: ["vs_..."]

B. Declarative azure.yaml

Declare the toolbox as a host: azure.ai.toolbox service in azure.yaml; azd deploy upserts it (and auto-promotes the new version). Needs only an existing Foundry project (via FOUNDRY_PROJECT_ENDPOINT + AZURE_SUBSCRIPTION_ID in the azd env) — no azd provision, no infra: block.

name: my-agent-project
services:
  agent-tools:
    host: azure.ai.toolbox
    tools:
      - type: file_search
        vector_store_ids: ["vs_..."]   # flat shape

  # A hosted agent in the same project consumes the toolbox by name
  my-agent:
    host: azure.ai.agent
    uses:
      - agent-tools
    environmentVariables:
      - name: TOOLBOX_NAME
        value: agent-tools
azd deploy agent-tools

Verify & deploy

After creating the toolbox either way, verify its MCP endpoint end-to-end — see test-endpoint.md.


References

Source: SKILL.md on GitHub

2 warnings3d4 checks · Risk SAFE
  • Gen Agent Trust Hub3d

    This skill provides a comprehensive environment for managing the end-to-end lifecycle of AI agents, models, and infrastructure on Microsoft Foundry. It includes sub-skills for deployment, evaluation, fine-tuning, and troubleshooting. The skill utilizes dynamic code execution and shell command wrappers, which are used within the context of local development and cloud orchestration. All external resources and dependencies originate from trusted organizations and well-known services.

  • Socket3d

    2 alerts: gptSecurity, gptAnomaly

  • Snyk3d

    Risk: LOW · No issues

  • Runlayer7mo

    36/36 files flagged

Signed by skilld at 04110d9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 20 hours ago.

Activeupdated last week
metadata
{
  "author": "Microsoft",
  "version": "1.2.26"
}

README badge

README badge for microsoft/skills/microsoft-foundry