ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

generative-ai-for-beginners 2026 内容现代化更新:Responses API 迁移、Foundry 模型切换与质量保障体系解读

generative-ai-for-beginners 2026 内容现代化更新:Responses API 迁移、Foundry 模型切换与质量保障体系解读 generative-ai-for-beginners 2026 内容现代化更新Responses API 迁移、Foundry 模型切换与质量保障体系解读【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners本篇围绕仓库根目录的 CHANGELOG.md 展开完整解读 generative-ai-for-beginners一门 21 课的结构化生成式 AI 入门课程在 2026-07-06 执行的内容现代化刷新Content Modernization Refresh从 Chat Completions API 到 Responses API 的全量代码迁移、GitHub Models 到 Microsoft Foundry Models 的供应商切换、CI/测试/DevContainer 开发者体验工具链的落地以及一批真实缺陷的修复清单。读完后你将了解如何在教学类课程仓库中组织大规模 API 迁移、为共享模块强约束 教学示例弱约束设计差异化的代码质量门禁并用仓库内现成的迁移 Skill 文档完成 Chat Completions → Responses API 的实操改造。一、Changelog 的组织方式按日期分组的课程型变更记录该仓库的 CHANGELOG.md 开头明确说明了自身的定位与格式约定记录对象是课程curriculum而非带语义化版本号的软件包因此条目按日期分组## [2026-07-06] — Content Modernization Refresh而非按Unreleased / [x.y.z]版本号格式参考 Keep a Changelog 的思路每个日期条目下再分Added / Changed / Fixed / Deprecated / Notes四节使新增能力、破坏性变更、缺陷修复、弃用边界彼此隔离。这一点对学习者很重要课程的 README、示例代码和 Changelog 是同步维护的——当你拉取最新代码时Changelog 就是这批代码和三个月前有什么不同的唯一权威索引。下文按原文档结构完整继承 2026-07-06 条目的全部内容并结合仓库源码对每个变更点给出可核验的实现证据。二、Added本次更新新增了什么2.1 课程内容的两个新章节Microsoft Agent Framework 章节加入第 17 课 17-ai-agents/README.md覆盖单聊天代理、工具/函数调用、Azure OpenAIMicrosoft Foundry配置以及基于SequentialBuilder/ConcurrentBuilder的多代理工作流编排。Foundry Local作为离线/端侧推理供应商与 Ollama 并列记录在 00-course-setup/03-providers.md 与第 19 课 19-slm/README.md 中。2.2 持续集成工作流CI 双工作流本次更新为仓库引入了两个 GitHub Actions 工作流是开发者体验工具链的核心。代码质量门禁.github/workflows/code-quality.yml 包含三个 job触发条件为 push/PR 到main且路径命中**.py、**.ts、**.js、pyproject.toml、.eslintrc.jsonJob内容约束强度python-qualityPython 3.11 环境下先对shared/模块执行ruff check shared/black --check shared/再对全仓库执行ruff check .shared/强制enforced全仓库为建议性continue-on-error: truepython-tests安装pytest openai requests python-dotenv后运行pytest tests/强制js-qualityNode 20 环境执行npx eslint . --ext .js,.ts建议性job 级continue-on-error: true值得注意的设计意图直接写在 workflow 注释里教学示例被刻意保持简单不强制通过严格 lint 规则而shared/是持续维护的共享工具模块必须保持干净。这种共享模块强约束、课程示例弱约束的分级策略非常适合教学类多示例仓库。安全扫描.github/workflows/security.yml 包含codeqljob以矩阵方式对python与javascript-typescript两种语言分别运行 CodeQL 分析fail-fast: false触发条件为 push/PR 到main另加每周一 06:00 UTC 的定时扫描cron: 0 6 * * 1dependency-reviewjob通过actions/dependency-review-actionv5在 PR 上执行依赖审查comment-summary-in-pr: on-failure即失败时向 PR 写汇总评论且仅对pull_request事件生效。2.3 测试套件tests/新增tests/目录Changelog 记录为41 个 pytest 测试覆盖shared/共享工具模块。当前仓库中的实际构成tests/test_api_utils.py5 个测试函数针对 shared/python/api_utils.py 的安全 HTTP 请求与客户端创建tests/test_env_utils.py8 个测试函数针对 shared/python/env_utils.py 的环境变量校验tests/test_input_validation.py25 个测试函数针对 shared/python/input_validation.py 的输入校验与 Prompt 注入防护含parametrize参数化展开出多个用例tests/conftest.py共享 fixture。测试运行方式与 CI 一致在仓库根目录执行pytest tests/pyproject.toml 中已配置testpaths [tests]、addopts -v --tbshort并在[project.optional-dependencies].dev中列出了pytest、pytest-cov、ruff、black、mypy等开发依赖。2.4 Azure OpenAI → Responses API 迁移 Skill仓库在 .github/skills/azure-openai-to-responses/ 内置了一份可执行的迁移指引源自 Azure-Samples 的 MIT 许可 Skill用于指导本次 API 迁移本身也是任何学习者复现迁移时的权威参考SKILL.md给出完整的迁移前/迁移后参数对照表如AzureOpenAI()→OpenAI(base_url...)、api_version参数整体移除、client.chat.completions.create(messages...)→client.responses.create(input...)、resp.choices[0].message.content→resp.output_text、max_tokens→max_output_tokensAzure 上最小值 16、response_format→text{format: {...}}、seed直接删除等、模型兼容性检查GitHub Models 端点不支持 Responses API、rg检索旧调用点的命令清单以及一组全部必须通过的验收标准例如零AzureOpenAI(匹配零choices[0]匹配openai1.108.1等references/cheat-sheet.mdAPI Key / EntraIDDefaultAzureCredentialget_bearer_token_provider/ 异步客户端的初始化模板以及多轮对话、流式event.type response.output_text.delta、JSON Schema 结构化输出、扁平化工具定义与function_call_output回合、图像输入{type: input_image, image_url: ...}和 O 系列模型参数reasoning{effort: ...}、temperature必须为 1的完整前后对照代码。三、Changed本次更新改变了什么3.1 Chat Completions → Responses API 全量迁移所有 Python 与 TypeScript 聊天示例从 Chat Completions API 迁移到 Responses APIclient.responses.create(...)读取response.output_text涉及第 04、06、07、11、15、18 课及其 README。仓库源码可直接印证这一迁移形态例如 shared/python/api_utils.py 中的create_azure_openai_client()return OpenAI( api_key_api_key, base_urlf{_endpoint.rstrip(/)}/openai/v1/, )其 docstring 明确说明客户端指向 Azure OpenAI 的 v1 端点endpoint/openai/v1/该端点支撑 Responses API因此不再需要api_version参数且OpenAI/AsyncOpenAI标准客户端在 OpenAI 与 Azure OpenAI 之间行为一致。这与 SKILL.md 中 Step 0 的迁移结论完全一致AzureOpenAI/AsyncAzureOpenAI构造器在openai1.108.1中已弃用。TypeScript 侧同样完成切换第 06、07、08、11 课的package.json均使用openai包如 07-building-chat-applications/typescript/chat-completions-app/package.json 中的openai: ^4.77.0弃用了已废弃的azure/openaibeta SDK聊天应用走 Responses API检索应用第 08 课使用 embeddings 客户端。3.2 GitHub Models → Microsoft Foundry Models正文、链接与示例中的 GitHub Models 全部替换为 Microsoft Foundry Models。Changelog 指出 GitHub Models 将于 2026 年 7 月底退役示例改为指向 Microsoft Foundry 模型目录并改用AZURE_INFERENCE_ENDPOINT/AZURE_INFERENCE_CREDENTIAL环境变量。仓库根目录的 .env.copy 已同步体现## Azure OpenAI in Microsoft Foundry AZURE_OPENAI_API_VERSION2024-10-21 # Default is set! (current stable GA API version) AZURE_OPENAI_API_KEYadd your Foundry resource key here AZURE_OPENAI_ENDPOINTadd your Foundry resource endpoint here, e.g. https://resource-name.openai.azure.com AZURE_OPENAI_DEPLOYMENTadd your chat completion model deployment name here, e.g. gpt-4o-mini AZURE_OPENAI_EMBEDDINGS_DEPLOYMENTadd your embeddings model deployment name here, e.g. text-embedding-3-small ## Microsoft Foundry Models AZURE_INFERENCE_ENDPOINTadd your Microsoft Foundry project endpoint here, e.g. https://resource-name.services.ai.azure.com/models AZURE_INFERENCE_CREDENTIALadd your Microsoft Foundry Models API key here同时 .env.copy、AGENTS.md 与供应商文档更新为Azure OpenAI 现已并入 Microsoft Foundry默认 API 版本提升为2024-10-21。3.3 .NET 笔记本标准化到 Azure.AI.OpenAI 2.1.0各课程的dotnet/*.dib笔记本如 06-text-generation-apps/dotnet/notebook-azure-openai.dib、07-building-chat-applications/dotnet/notebook-azure-openai.dib从1.0.0-beta.9的旧式OpenAIClient/GetEmbeddingsAsync/GetImageGenerationsAsync统一升级到Azure.AI.OpenAI2.1.0第 06、07 课使用ChatClientAPI第 08 课使用EmbeddingClientGenerateEmbedding/ToFloats第 09 课使用ImageClientGenerateImage模型为gpt-image-1。3.4 产品名与模型名现代化产品名统一Azure AI Studio / Azure AI Foundry →Microsoft Foundry第 14、16、17 课Bing →Microsoft Copilot第 12 课仅针对指代当前产品的表述图像生成第 09 课推荐gpt-image-1因为 Azure 目录已下架dall-e-3已弃用/退役模型名gpt-3.5-turbo、gpt-35-turbo在活跃示例中替换为gpt-4o-mini第 18 课微调章节中的历史输出保留原文并加注释而非重写——这是对教学历史数据只注不改的克制做法。3.5 DevContainer 工具链.devcontainer/devcontainer.json基于mcr.microsoft.com/devcontainers/universal:2.13现已内置 Pylance、Black、Ruff、ESLint、Prettier、Copilot 等扩展开启formatOnSave并通过postCreateCommand安装ruff、black、mypy、pytest使 CI 中的质量检查可以在本地开发容器中原样复现——即 CI 与本地开发使用同一套规则Ruff 的 lint 规则集也统一在 pyproject.toml 的[tool.ruff.lint]中启用E/W/F/I/B/C4/UP/S忽略E501与S101。3.6 路线图文档同步docs/ENHANCED_FEATURES_ROADMAP.md 更新为反映已完成的工作API 迁移、CI、DevContainer、测试与当前事实课程翻译由 Azure Co-op Translator 自动生成Assistants API 已被 Responses API 取代。四、Fixed被修复的真实缺陷Changelog 的 Fixed 一节记录了四个有实际影响的修复全部有代码/测试层面的对应物validate_text_input(allow_emptyTrue)的空格处理shared/python/input_validation.py此前纯空白输入会触发 too short 错误修复后与None分支行为一致——allow_emptyTrue时返回空字符串。该缺陷由新测试套件发现并覆盖。第 09 课图像示例中的真实 Bug异常类型InvalidRequestError→BadRequestError、images.create→images.generate、Image.create_variation→client.images.create_variation以及一个遮蔽shadow了openai模块同名变量的问题。第 15 课 RAG 笔记本15-rag-and-vector-databases/notebook-rag-vector-databases.ipynb修复客户端初始化用pd.concat替换已移除的DataFrame.append并现代化遗留 SDK 用法。模型名清理见 3.4 节gpt-4o-mini替换退役模型名。五、Deprecated / Notes迁移的刻意边界这一节定义了什么不迁移与迁移范围同样重要Model Inference API 样本保持不动使用azure-ai-inference/azure-rest/ai-inferenceSDKclient.complete()的githubmodels-*与js-githubmodels样本以及第 19、20、21 课如 20-mistral/python/githubmodels-assignment.ipynb、21-meta/python/githubmodels-assignment.ipynb继续留在 Model Inference API 上——因为该 API不支持Responses API这些样本是有意保留的而非迁移遗漏AzureOpenAI()的有意保留嵌入embeddings与图像生成不属于 Responses API 迁移范围这些工作流继续使用AzureOpenAI()text-embedding-ada-002的有意保留凡预计算向量索引依赖该模型的地方例如 08-building-search-applications/embedding_index_3m.json 所代表的预构建索引引用必须保持一致不能单方面换模型。六、小结如何复现与验证本次更新本次 2026-07-06 刷新给教学类仓库提供了一个可参考的内容现代化范式迁移先立标准把 Chat Completions → Responses API 的参数映射、检索命令与验收标准沉淀为 SKILL.md再批量改造示例代码质量分级shared/共享模块强制 Ruff Black pytest课程示例仅建议性 lint.github/workflows/code-quality.yml安全常态化CodeQL 矩阵扫描 周一定时任务 PR 依赖审查.github/workflows/security.yml供应商退役预案GitHub Models 退役前完成 Foundry Models 切换AZURE_INFERENCE_ENDPOINT/AZURE_INFERENCE_CREDENTIAL写入 .env.copy并在 Changelog 中显式声明不迁移的边界Model Inference API 样本、embeddings/图像工作流。如果你要动手验证拉取仓库后Python 侧可执行pip install -r requirements.txt pip install pytest pytest tests/跑通 41 个用例代码风格可执行ruff check shared/ black --check shared/TS 示例可进入对应目录如 07-building-chat-applications/typescript/chat-completions-app/执行npm install npm run start。迁移前后代码的完整对照请始终以 references/cheat-sheet.md 为准。【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表