Creating an Azure account requires a credit or debit card for identity verification. Prepaid and virtual cards are refused, and Microsoft retired its free Learn sandboxes, so there is no way around that requirement.
Plenty of capable people do not have a card. That is a banking problem, not a talent problem, and it has nothing to do with whether you can pass AI-901. So Track B gives you two things in place of a subscription: a free model endpoint you own outright, and a simulator for the portal work.
Go to Google AI Studio and create an API key. It is free, it needs no credit card, and it does not expire. The free tier allows roughly 1,500 requests a day, which is far more than this course will use.
In Colab, open the key icon in the left sidebar and add two secrets:
| Name | Value |
|---|---|
endpoint | https://generativelanguage.googleapis.com/v1beta/openai/ |
api_key | your key from AI Studio |
Then never type the key into a cell again. Not once. Not "just to test it."
Everything after this line — every Send, every Use, every assignment in the course — is written exactly as Track A writes it.
Open simulated-foundry-portal.html and set your resource group name to
rg-yourname-ai901. Use the same name all the way through the course.
Track A signs into the Azure portal. You will work through the simulator's Portal tour, which reproduces the same access model.
These need no change at all beyond your connect cell. Write the code exactly as the session teaches it.
| Session | What you build | Any difference? |
|---|---|---|
| 5 | List, loop, function; the four-step pattern | None — no model call yet |
| 14 | A chat client that sends a system and user prompt | Connect cell only |
| 17 | A text-analysis program over several texts | Connect cell only |
| 23 | An information-extraction program | Connect cell only |
Read the reply the same way Track A does:
response.messages[0] — a line that does not exist. Students who
typed response.choices[0] with their own hands spot the fake instantly. Students who pasted it do not.Work through the simulator in order. Each screen carries the observation your assignment asks for.
| Session | Simulator screens | What to record |
|---|---|---|
| 11 | Portal tour → Model catalog | Which resource groups are visible, the region, where a project is created, and one model card: its name, whether it is text-only or multimodal, and one fact about context or cost |
| 13 | Create a project → Deploy → Endpoint & keys → Playground | Project name and scope, deployment name and status, a system prompt plus two user prompts, and the temperature comparison |
| 15 | Agents | Agent name, your full instructions, and all three tests — on-task, edge case, off-topic |
The simulator playground responds differently at low and high temperature, so do the comparison there. Better
still, do it twice: once in the simulator, then again against your live free endpoint by passing
temperature=0 and temperature=1 to chat.completions.create. Compare what you
saw in both. That is a stronger answer than Track A typically produces.
Design and test your agent in the simulator, then prove the same behaviour against your real endpoint: put your
agent instructions in the system message and run all three tests through code. An agent is a model
given a role, standing instructions and tools. You have the first two for real, and the simulator shows you what
the third adds.
You can do this one for real. Free-tier Flash models accept images, so send a photograph and a question in a single message, exactly as the session teaches:
Photograph a real receipt and run it. Then state plainly in your assignment that you ran it, and on what.
Free tiers rarely include image generation, so treat this as a code sketch and say so explicitly. Write
the images.generate call correctly, name the image-generation deployment you would need, and explain
why your chat deployment cannot serve it.
images.generate call and passed it a chat model. One of them even defined the right
image-model variable and then forgot to use it in the call. Correct syntax pointed at the wrong kind of deployment
is still broken code. Check the model argument, every time.You may test your prompts in any consumer image tool to prove they work, and paste the result — just label clearly what produced it.
Use the simulator's Content Understanding screen. Run a document, then an image, then an audio clip, and record the extracted fields with their confidence scores.
Then do it for real as well. Photograph a genuine receipt and send it to your free multimodal endpoint with this instruction:
Compare the two. You will usually find the general model guesses where the specialist analyzer would have flagged low confidence — which is exactly the lesson.
| You will not | You will |
|---|---|
| Provision resources in a live Azure subscription | Write and run real code against a real model, every session that calls for it |
| See a real Azure billing or quota screen | Work inside a correct least-privilege model and hit its edges deliberately |
| Use the Azure AI Foundry portal itself | Complete the same workflow, in the same order, with the same vocabulary |
AI-901 is a fundamentals examination. It is conceptual, it contains no labs, and a great many people pass it having never deployed a resource in their lives. Track B prepares you fully for the exam. What it does not do is put live-Azure experience on your CV — so do not claim it. If you get a card later, Session 13 in the live portal takes about twenty minutes, and everything you have written will run there after you change two lines.