CAMPUX learn / ai / 00
Project 00 of 09
Portal only. Nothing installed.

Foundry in an afternoon

Your first agent, built entirely in the browser. It answers from three documents, admits when it cannot, and is gone before dinner.

build time
About 90 minutes
cost
Under $1 if you delete everything at the end3
services
Microsoft Foundry: a project, one model deployment, one agent, one vector store
assumes
An Azure subscription you control and a browser. You have never opened the Azure portal. That is fine.
exams
Overlaps AI-103, lightly
vocabulary
Project, deployment, playground, agent, instructions, vector store, grounding

The problem

Campux Retail's head of support keeps hearing "an agent that reads our policies." She wants to see one before anyone writes code, and she wants to see where it overreaches.

So that is the brief. Put three policy documents in front of a model, ask it questions a customer would ask, and find the edge of what it actually knows. Today’s models rarely invent a policy outright; they hedge, and then offer to do things they have no tool for. Everything after this project is about closing that gap. This project is about seeing it.

definition
Grounding. Giving the model documents to answer from, instead of whatever it absorbed in training. A grounded answer can be checked against a page. An ungrounded one only sounds right.

The architecture

Four things, all inside one Foundry project. You click; nothing is typed into a terminal.

Project 00 architecture: you, in a browser, create a Microsoft Foundry project holding a model deployment, a playground, an agent and a vector store of three PDFs; all of it lives in one Azure resource group you delete at the end. one delete removes it all YOU MICROSOFT FOUNDRY PROJECT AZURE Youbrowser only Model deploymentgpt-5-mini Playgroundchat with the model Agentpolicy-desk · instructionsfile search tool Vector storethree PDFs, chunked · returns · warranty · exclusions Resource grouprg-campux-00holds everything you made Cost Managementcheck tomorrowunder $1 Your Azure accountMicrosoft Entra ID sign-in · Foundry User on the project · nothing else to configure 1 2 3 4 5 6 7
livepress play to walk the afternoon, step by step
Figure 0 Everything you make lives in one resource group. That is why the last step is one click.
  1. Create. Sign in to Foundry, create a project in a new resource group, deploy gpt-5-mini.
  2. Try it. Ask the playground about Campux Retail and write down exactly what it says.
  3. Make the agent. Create policy-desk and give it instructions.
  4. Feed it. Upload the three PDFs; Foundry chunks and indexes them into a vector store.
  5. Ask it. Ask about the return window and watch it cite the document.
  6. Break it. Ask about Alaska; it hedges on the policy but offers to do things it has no tool for. One instruction stops that.
  7. Delete it. Delete the resource group; confirm tomorrow that it cost less than a coffee.
Service map, for readers coming from AWS
JobBedrock versionThis buildSame idea?
ModelBedrock model accessFoundry model deploymentYes
Try itBedrock playgroundFoundry playgroundYes
AgentBedrock AgentFoundry agent (instructions plus tools)Yes
DocumentsKnowledge base on S3File search tool over a vector storeYes, but Foundry hosts the files for you

The build

In this order. Each step ends with a check. If the check fails, stop and read "Where it breaks" before you go on.

  1. Sign in and make a project

    Go to ai.azure.com and sign in with the account that owns your subscription. Make sure the New Foundry toggle at the top is on.1 Choose Create a new project, name it campux-00, open Advanced options, create a new resource group called rg-campux-00, and pick a region near you. Select Create project.

    The project overview page opens and shows a project endpoint. You will not use it today, but notice it exists; Project 01 does.
  2. Deploy a model

    Select Discover in the top navigation, then Models in the left pane. Search for gpt-5-mini. Select Deploy, then Default settings. A deployment is a copy of the model reserved for your project, with its own name and quota.

    Select Build in the top navigation, then Models. Your deployment is listed with a name, usually gpt-5-mini.
  3. Talk to it in the playground

    With the deployment selected, open the playground and ask: "What is Campux Retail's return window for a dishwasher?" Campux Retail does not exist, so the model has nothing to read from.

    Write down what it said, word for word. When we ran this, it did not invent a Campux policy: it said it did not have one on file, then offered general industry ranges, "many retailers allow 14 to 30 days, some 45 to 90". Notice what that would look like in a support window next to your logo. The number is not a lie and it is not your policy either.5
  4. Write the three policy documents

    Open any word processor and make three short PDFs. Keep each under a page. Put one fact in each that you can test later.

    returns.pdf
      Campux Retail accepts returns within 45 days for appliances and 14 days for accessories.
      Items must be unused and in original packaging. Refunds go to the original payment method.
    
    warranty.pdf
      Every appliance carries a 24-month manufacturer warranty from the delivery date.
      Extended cover adds 36 months and can be bought up to 30 days after delivery.
    
    exclusions.pdf
      Water damage is not covered, except on the AquaGuard washer line, which is covered for 12 months.
      Damage from incorrect installation by a third party is not covered.
    Three PDFs on your machine, each under 1 MB. Read the exclusions one twice; it has the exception the agent will trip on.
  5. Create the agent

    Under Build, select Agents, then Create agent. Name it policy-desk and pick your gpt-5-mini deployment. For instructions, paste: "You answer questions about Campux Retail policies. Be brief. Quote the policy when you can."

    Ask it "hello" in the chat panel and get a reply. It is an agent now, even though it has no tools yet.
  6. Give it the documents

    In the agent's tools, add File search. Upload the three PDFs; the portal creates a vector store for them.2 Wait until every file shows as processed. Foundry chunks each document into 800-token pieces, embeds them, and searches them by both meaning and keyword when a question arrives.

    Ask "What is the return window for a dishwasher?" and get 45 days, citing returns.pdf. Ask "Is water damage covered on an AquaGuard washer?" and get 12 months, citing exclusions.pdf. Both cited the right file in our run. If either answer arrives with no citation, the tool did not run and you are reading the model's memory.
  7. Ask it something the documents do not cover

    Ask: "Do you deliver to Alaska?" Nothing in the three PDFs mentions delivery. Read the answer slowly, twice.

    In our run it did not guess a delivery policy. It said the uploaded files hold no shipping information, named the files it had checked, and then offered to "check availability, carrier options, estimated cost and time" for a ZIP code. Read that last part again: it has no tool that can do any of it. The modern failure is not a fabricated policy, it is fabricated helpfulness. Add one line to the instructions, "never offer to do something you have no tool for; offer a person instead," ask again, and screenshot the pair.5
  8. ask "What is the return window for a dishwasher?"
    A dishwasher is treated as an appliance, and Campux Retail accepts
    appliance returns within 45 days. Items must be unused and in their
    original packaging.
    [tool calls: file_search_call]   [citation: returns.md]
    
    ask "Do you deliver to Alaska?"
    I checked the files you uploaded (returns and warranty exclusions)
    but they don't include any shipping or delivery policy information
    about Alaska.
    
    If you give the item and ZIP I'll check availability, carrier options,
    estimated cost/time, and any special requirements.
    [tool calls: file_search_call]   [citations: exclusions.md, returns.md]
    It refused to invent a policy. Then it offered four things it has no tool for.
    
    ran 3 Sept 2026 The same agent, asked something the documents answer and something they do not.
  9. Delete everything

    Go to portal.azure.com, search for Resource groups, open rg-campux-00, select Delete resource group, type the name to confirm. The project, the deployment, the agent and the vector store all live inside it.

    Refresh the resource groups list; rg-campux-00 is gone. Tomorrow, open Cost Management and confirm today cost less than a coffee.

Where it breaks

Some of these will happen to you without trying. Tick each one when you can say what went wrong and what fixed it.

  • curl -X POST "$PROJECT_ENDPOINT/openai/v1/responses" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{"model":"gpt-5-mini","input":"Say hello."}'
    HTTP/1.1 403 Forbidden
    apim-request-id: 4e6e28fb-4e2c-46cd-b16f-ab03ce00239e
    ...and that is the entire response. No body, no error code, no hint.
    
    assign Foundry User at project scope, then retry:
    curl ...   # 30 seconds later
    HTTP/1.1 403 Forbidden
    curl ...   # about a minute after the role assignment
    HTTP/1.1 200 OK
    
    ran 3 Sept 2026 Owning the subscription was not enough, and the refusal said nothing at all.

The trade-offs

Portal, or code?
The portal shows you every object by name and needs nothing installed. Code is repeatable and reviewable. This project is portal only so you can see the shape; Project 01 does the same shape in code, and you will recognise every piece.
File search, or paste the policy into the instructions?
Three short PDFs would fit in the instructions and it would work. Three hundred would not, and every change would mean editing a prompt. File search keeps documents as documents. It costs a little extra and adds a processing step; that is the price of scaling past a page.
gpt-5-mini, or something bigger?
For reading a paragraph and quoting it, the small model is enough and much cheaper. It also hedged honestly on the questions the documents did not answer, which a bigger model would not have improved. What a bigger model would not have fixed either is the offer to do things it has no tool for; that took an instruction.

In the interview

"Have you used Microsoft Foundry?"

  • decisionYes. Built an agent grounded in policy documents with file search, in the portal first, then in code.
  • reasonThe portal makes every object visible: project, deployment, agent, vector store.
  • watchedWhat it said when the answer was not in the documents.

"What does grounding actually change?"

  • decisionAnswers come from retrieved chunks of your documents instead of training data.
  • reasonA grounded answer can be checked against a page and cited.
  • watchedIt still guesses outside the documents unless the instructions forbid it.

"How do you keep the cost down while learning?"

  • decisionOne resource group per experiment, deleted the same day.
  • reasonEverything the project creates lives inside it; one delete removes it all.
  • watchedCost Management the next morning.

Evidence

Two screenshots
The Alaska answer before and after the "no tool, no offer" instruction. Side by side.
The three PDFs
Keep them. Project 01 uploads the same three, and Project 02 replaces file search with a proper index over them.
One sentence for the résumé
"Built a document-grounded support agent on Microsoft Foundry using file search, and tested its behaviour on out-of-scope questions."

Next

Notes

  1. Checked against the Microsoft Learn quickstarts on 2 September 2026. The portal moves things around; if a button on this page has a different name than what you see, the Learn page wins, and tell us so we can fix it. Projects created in West US 3 can also try "instant" models without a deployment step; that feature was in preview.
  2. Vector stores hold up to 10,000 files, files up to 512 MB, and an agent can attach one vector store. Default chunking is 800 tokens with 400 overlap, embedded with text-embedding-3-large. None of that matters for three PDFs, but you will be asked about it later.
  3. Built and run in a real Azure subscription on 3 September 2026, in East US, with gpt-5-mini version 2025-08-07 on the GlobalStandard SKU. Two policy files indexed into a vector store in under fifteen seconds, and both grounded answers came back citing the right file. Model behaviour is not deterministic and changes as models are updated: your run may guess where ours hedged. The checks describe what we saw that day, which is why they tell you to write down what you got.
  4. Model use is billed per token and file search carries a small extra charge. Ninety minutes of questions against three tiny PDFs is cents. The number becomes real only if you skip step 8 and keep making things in the same resource group next week.