{"id":49849536,"url":"https://github.com/temporalio/edu-ai-workshop-foundations","last_synced_at":"2026-05-14T14:09:28.733Z","repository":{"id":323546484,"uuid":"1034532570","full_name":"temporalio/edu-ai-workshop-foundations","owner":"temporalio","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-20T19:07:00.000Z","size":10357,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-20T21:06:06.054Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/temporalio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-08T14:41:41.000Z","updated_at":"2025-11-20T19:07:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/temporalio/edu-ai-workshop-foundations","commit_stats":null,"previous_names":["temporalio/edu-ai-workshop-agentic-loop","temporalio/edu-ai-workshop-foundations"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/temporalio/edu-ai-workshop-foundations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/temporalio%2Fedu-ai-workshop-foundations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/temporalio%2Fedu-ai-workshop-foundations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/temporalio%2Fedu-ai-workshop-foundations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/temporalio%2Fedu-ai-workshop-foundations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/temporalio","download_url":"https://codeload.github.com/temporalio/edu-ai-workshop-foundations/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/temporalio%2Fedu-ai-workshop-foundations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33028248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-14T14:09:27.809Z","updated_at":"2026-05-14T14:09:28.718Z","avatar_url":"https://github.com/temporalio.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Foundations of Durable AI with Temporal\n\nThis repository contains a hands-on workshop demonstrating how to build AI agents with Temporal Workflows. \nThe workshop teaches the progression from fixed flow AI applications to production-ready, durable systems that handle failures gracefully and support human-in-the-loop interactions.\n\n## How to Use this Repository\n\n1. To try this workshop, use in Codespace so that you don't need to download any software on their machines. To do so, refer to [this document](./codespaces.md).\n2. This repository contains the Jupyter notebooks under [the notebooks directory](./notebooks). The notebooks are used as an educational tool for to get practice with being hands-on with Temporal. \n3. The slides that accompany the Jupyter notebooks are [here](/assets/slides).\n4. When there is a a little icon of a person at a keyboard on the bottom right of the slides, this lets you know that it's time to get hands-on and move to the notebooks.\n    - If you start running out of time, in the `solution` directories, there are `solution` files (e.g. `notebooks/Solutions_03_Human_in_the_Loop/03_Human_in_the_Loop_Solution.ipynb`) with filled out versions of the notebooks\n5. There will also be time for you to practice working independently with the material in the [exercises directory](./exercises/). The Jupyter notebooks will reference when it's time to do work on an exercise directory.\n6. For the self-serve version of this workshop (no need for slides), refer to the `self-serve-version` branch on this repository.\n\n## Workshop Overview\n\nThis workshop demonstrates four key concepts:\n\n1. **Fixed flow AI application** - A simple research agent that calls an LLM and generates a PDF report\n2. **Durable Execution** - The same agent built with Temporal workflows for fault tolerance and automatic retries\n3. **Human-in-the-Loop** - Adding Temporal Signals to enable human decision-making within AI workflows\n4. **AI Agents** - An introduction into the Agentic Loop\n\n## Repository Structure\n\n```\n├── notebooks/          # Interactive Jupyter notebooks for the workshop\n│   ├── Solution        # Solutions for the code-alongs during the workshop\n│   ├── Content         # Jupyter notebooks to run during workshop\n├── exercises/          # Hands-on exercises for the workshop\n│   ├── Practice        # Every chapter will have a Practice dir where students do their work in\n│   ├── Solution        # Every chapter will have a Solution dir where students can refer\n├── demos/              # Directory for demos for the instructor\n│   ├── module_one_01_foundations_ai/     # Simple fixed flow\n│   ├── module_one_02_adding_durability/  # Temporal-based durable workflow\n│   └── module_one_03_human_in_the_loop/  # Adding human in the loop into our application\n|   └── module_one_04_agentic_loop/       # Agent that can make its own decisions\n|   └── README.md      # Instructions on how to run demos\n```\n\n## Prerequisites\n\n- [OpenAI API key](https://platform.openai.com/api-keys)\n\n## Running the Workshop: Codespaces\n\nYou can run this workshop on Codespaces as an Exercise Environment.\n\nYou can launch an exercise environment for this course using GitHub Codespaces by following [this](codespaces.md) walkthrough.\n\n## Key Learning Outcomes\n\nBy completing this workshop, you'll learn:\n\n1. **Why AI Agents are Distributed Systems** - Understanding the complexity that emerges when AI agents call external APIs and other services\n\n2. **Durability and Fault Tolerance** - How Temporal workflows provide automatic recovery from failures without losing progress\n\n3. **Human-in-the-Loop Patterns** - Using Temporal Signals to incorporate human decision-making into AI workflows\n\n## Workshop Structure\n\n### Part 1: Building Your First AI Fixed Flow\n- Creating basic LLM interactions\n- Calling Actions from your LLM interactions\n- Identifying distributed systems challenges\n\n### Part 2: Adding Durability\n- Introduction to Temporal\n- Converting agents to durable Workflows\n- Implementing automatic retries\n- Monitoring Workflow Execution\n\n### Part 3: Human Integration\n- Temporal Signals for real-time communication\n- Workflow pause/resume patterns\n- Sending Queries to your Workflows\n\n### Part 4: AI Agents\n- Introduction to Agentic loop\n- Determining when the goal is complete\n\n## Contributing\n\nThis workshop is designed for educational purposes. Feel free to:\n- Submit issues for bugs or unclear instructions\n- Propose improvements to the examples\n- Share your own AI agent implementations","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemporalio%2Fedu-ai-workshop-foundations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftemporalio%2Fedu-ai-workshop-foundations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemporalio%2Fedu-ai-workshop-foundations/lists"}