Microsoft's startup program gives eligible founders Azure credits, development tools, AI templates, and one-on-one guidance, so they can begin building without waiting for a large team.
2
Pamela Fox demonstrates a workflow that uses GitHub Codespaces, Azure, Azure Developer CLI, and preconfigured repositories to run an AI chat application locally and deploy it to Azure.
3
The workshop's retrieval examples use PostgreSQL or Azure AI Search, with citations, token-based document chunking, and evaluation runs to check whether changes improve answers.
Summary
This hands-on workshop shows how to move from an AI application repository to a running Azure deployment. Gabriela de Queiroz introduces Microsoft's startup support, including Azure credits, third-party benefits, development tools, and technical guidance. Pamela Fox then walks through three templates: a basic chat app, retrieval over a PostgreSQL table, and retrieval over unstructured documents. Participants use GitHub Codespaces, environment files, an Azure OpenAI proxy, and the Azure Developer CLI. The later discussion explains why asynchronous Python frameworks matter for slow LLM calls, how retrieval adds sources to answers, and why document ingestion needs extraction, token-based chunking, embeddings, and search. Fox is direct about evaluation: sample questions are unreliable, and teams should compare many cases before changing prompts or retrieval settings. Harald Kirschner describes how GitHub Copilot Chat indexes workspace code and reranks search results.
Microsoft's startup program lets founders begin with credits and technical support
Gabriela de Queiroz explains that Microsoft's startup program is open to people with an idea, even if they do not yet have a formal startup. Benefits include up to $150,000 in Azure credits, third-party tools, GitHub, Microsoft 365, LinkedIn, and access to different models. Founders can also request one-on-one sessions with Microsoft volunteers about subjects such as hiring, team building, and technical decisions. The program covers different stages, from an initial idea through scaling. Gabriela says later-stage programs, including Pegasus, help companies with co-selling and going to market.
The workshop uses three templates to cover chat, structured data, and documents
Pamela Fox sets a practical goal for the session: participants may deploy three templates. The first is a simple chat application for checking that the setup works. The second is retrieval over a PostgreSQL table, where the application builds a SQL filter from a question. The third is retrieval over unstructured documents, such as a personal blog or internal company documents. The workshop provides Azure passes so attendees can deploy without spending their own money. Fox asks everyone to start with the chat application before moving to the more infrastructure-heavy retrieval examples.
The Azure pass and proxy remove setup barriers for the workshop
Participants need a GitHub account, a Microsoft account, and an Azure pass supplied for the conference. The pass provides $50 of credit and remains valid for seven days. Fox recommends using a personal account rather than a corporate account because organizational restrictions can prevent deployments. The workshop also provides an Azure OpenAI proxy. Normally, access requires an application form and approval, but the proxy gives attendees an endpoint and temporary API key for the workshop repositories. Fox demonstrates the proxy playground with GPT-3.5 Turbo and GPT-4, including system messages, temperature, token limits, and usage counts.
GitHub Codespaces makes the repository available without local environment setup
Fox opens the chat repository in GitHub Codespaces, which provides VS Code in the browser and a development environment for the repository. Codespaces builds the environment in a container, installs dependencies, and can synchronize extensions. The examples use Python back ends with JavaScript front ends. The first application uses Quart, which Fox describes as the asynchronous version of Flask. Async functions can pause while waiting for an LLM request, allowing the application to handle other user requests during calls that may take several seconds. She also mentions FastAPI as another async Python framework.
The Azure Developer CLI provisions infrastructure and deploys the application
After testing the application in Codespaces, Fox uses the Azure Developer CLI to sign in, create an environment, set deployment variables, and run `azd up`. The deployment packages the application as a Docker container, creates Azure resources, and uploads the code. For a container app, those resources include a container registry, a Container Apps environment, the container app, and a Log Analytics workspace. Bicep files describe the desired infrastructure so the process can be repeated. Fox says deployment problems commonly come from naming rules, region limits, or account constraints. In the workshop's Azure pass, only one container app can be created per region.
Retrieval grounds answers by searching data before calling the language model
Fox contrasts a plain LLM question with a retrieval-augmented application. The retrieval flow takes a user's question, searches a database or search engine, and sends the matching results to the model with instructions to answer from those sources. The PostgreSQL example searches product rows, answers questions such as which shoe is best for hiking, and includes citations. Its flow first asks the model to rewrite the user's question into a better search query, retrieves matching rows, and then asks the model to answer using those rows. Fox says citations let users check where the answer came from.
Document retrieval needs ingestion, token-based chunks, embeddings, and search
For PDFs, Word documents, spreadsheets, and other unstructured files, the document cannot usually be sent to the model in full. Fox describes an ingestion process that extracts text with Azure Document Intelligence, divides it into chunks of about 500 tokens, creates embeddings, and stores the chunks and metadata in Azure AI Search. Search results contain the chunk, its embedding, the page, and the source file. She recommends token-based splitting, especially for non-English documents, because character counts can produce very different token counts across languages. The sample includes local parsers such as PyPDF and Beautiful Soup as alternatives for some formats.
Evaluation should compare retrieval settings across many representative questions
Fox argues that a few successful demo questions do not prove that a retrieval application works. She recommends running evaluations across a large sample, with around 200 cases as a practical minimum in her own process. Her evaluations include LLM-based measures for groundedness and relevance, along with a citation-match check using regular expressions. She compares text search, vector search, hybrid retrieval, ranking, retrieval count, and model choices. In her example, vector-only retrieval performed much worse than text search, while hybrid retrieval with Azure AI Search's semantic ranker performed best. She says retrieval settings changed results more reliably than her prompt edits.
"The only thing that moves a needle is retrieval parameters, like how you're working with your search engine, or changing the model entirely."1:01:58
Who should watch
You have an AI prototype and need a repeatable path from a GitHub repository to a local app and an Azure deployment.
Your application must answer questions over PostgreSQL data or a collection of documents, and you need to understand the extra retrieval and ingestion work.
You are tuning a RAG system and want a concrete evaluation approach for comparing search modes, chunk sizes, models, and citations.