资讯动态

generative-ai-for-beginners 第 7 课实战指南:构建生成式 AI 聊天应用

发布时间:2026/9/10 3:11:39 来源:尧图企业网站定制
generative-ai-for-beginners 第 7 课实战指南构建生成式 AI 聊天应用【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners本篇技术指南基于 generative-ai-for-beginners 课程仓库中的第 7 课「Building Generative AI-Powered Chat Applications」展开。你将系统学习如何把生成式 AI 集成进聊天应用从 Chatbot 与 AI 聊天应用的概念辨析、基于 SDK/API 的快速接入到用户体验设计、领域定制与微调再到可量化的质量指标与负责任的 AI 实践。读完本文你将掌握一套可落地的聊天应用构建、集成与监控方法论并能直接运行仓库中提供的 Python、TypeScript 与 JavaScript 示例代码。课程定位从文本生成走向对话交互第 6 课我们已经掌握了文本生成应用的构建方法第 7 课则向前迈进一步构建聊天应用。聊天应用早已不只是闲聊工具而是客户服务、技术支持乃至复杂咨询系统的核心组成部分。当生成式 AI 被集成进这些平台时系统的复杂度随之上升主要面临两大问题应用的构建如何针对特定使用场景高效构建并无缝集成这些 AI 驱动的应用应用的监控部署之后如何监控并确保应用在功能性和合规性上都保持最高质量例如遵循负责任的 AI 六原则本课的学习目标非常明确掌握聊天应用的构建与集成技术、学会对应用进行定制与微调、识别监控聊天应用质量的关键指标并确保应用负责任地使用 AI。Chatbot 还是 Chat 应用先分清概念在动手构建之前需要先厘清Chatbot聊天机器人与AI 聊天应用的区别。Chatbot 的核心目的是自动化特定的对话任务例如回答高频问题或跟踪包裹通常由基于规则的逻辑或复杂 AI 算法驱动。而生成式 AI 聊天应用是一个更广阔的交互环境旨在促成文本、语音、视频等多种形式的数字通信其决定性特征是集成了生成式 AI 模型——能够模拟细腻、类人的对话基于多样的输入与上下文线索生成回复参与开放域讨论、适应变化的对话语境甚至产出创造性或复杂的对话。Chatbot生成式 AI 聊天应用任务导向、基于规则上下文感知常被集成进更大的系统可以承载一个或多个 Chatbot局限于程序化功能集成生成式 AI 模型专业化、结构化的交互支持开放域讨论用 SDK 与 API 复用预建能力构建聊天应用的第一步是评估市场上已有的能力。使用 SDK 与 API 构建聊天应用是一套收益明显的策略加速开发、降低开销依赖预建功能可以把精力聚焦在业务逻辑等更重要的方面更好的性能自研功能迟早会面临它如何扩展能否承受突发用户流量的拷问而维护良好的 SDK/API 通常内置了这些问题的解决方案更易维护大多数 API/SDK 在新版本发布时只需更新库即可触达前沿技术使用经过海量数据训练和微调的模型为应用带来强大的自然语言能力。访问 SDK 或 API 功能通常需要获得服务使用许可常见形式是唯一的密钥或认证令牌。原文档使用 OpenAI Python 库演示了这一过程你可以直接在本课的 OpenAI 练习 Notebook 或 Azure OpenAI 练习 Notebook 中亲自尝试。Python 快速入门Responses API原文档中的示例使用 OpenAI Python 库发送聊天补全请求老版本写法为client.chat.completions.create而仓库当前代码已全面迁移到 Responses API 与 GPT-4o mini 模型。以 oai-assignment.ipynb 中的标准流程为例import os from openai import OpenAI from dotenv import load_dotenv load_dotenv() API_KEY os.getenv(OPENAI_API_KEY,) assert API_KEY, ERROR: OpenAI Key is missing client OpenAI( api_keyAPI_KEY ) # Select a general purpose chat model model gpt-4o-mini注意assert API_KEY会确保密钥已设置——如果未设置密钥调用必然报错。随后创建你的第一个提示text_prompt Should oxford commas always be used? response client.responses.create( modelmodel, input [{role:system, content:You are a helpful assistant.}, {role:user,content:text_prompt},], storeFalse,) response.output_text该 Notebook 还建议你重复调用同一请求并对比结果从而直观感受生成式模型输出的非确定性。Azure OpenAI 变体指向 v1 端点若使用 Azure OpenAI 服务则需将客户端指向 Azure OpenAIMicrosoft Foundry的 v1 端点。仓库 aoai-assignment.ipynb 展示了关键差异import os from openai import OpenAI from dotenv import load_dotenv load_dotenv() # The Responses API is served from the Azure OpenAI (Microsoft Foundry) v1 endpoint, # so we point the OpenAI client at your-endpoint/openai/v1/ (no api_version needed). endpoint os.environ[AZURE_OPENAI_ENDPOINT] client OpenAI( api_keyos.environ[AZURE_OPENAI_API_KEY], base_urlf{endpoint.rstrip(/)}/openai/v1/, )模型名也改为从环境变量读取部署名model os.environ[AZURE_OPENAI_DEPLOYMENT]。在 Azure 场景下需要先申请 Azure OpenAI 服务访问权限随后在 Azure 门户创建资源并在 Studio 中体验模型。TypeScript 与 JavaScript 实现同一套对话逻辑也提供了其他语言的实现印证了同一模型能力、多语言接入的设计理念TypeScript 版本 使用openai官方包baseURL指向${endpoint.replace(/\/$/, )}/openai/v1/并演示了多 system 消息叠加的用法import OpenAI from openai; import * as dotenv from dotenv; dotenv.config(); const endpoint process.env.AZURE_OPENAI_ENDPOINT || ; const azureApiKey process.env.AZURE_OPENAI_API_KEY || ; const client new OpenAI({ apiKey: azureApiKey, baseURL: ${endpoint.replace(/\/$/, )}/openai/v1/, }); export async function main() { const deploymentName process.env.AZURE_OPENAI_DEPLOYMENT || gpt-4o-mini; const result await client.responses.create({ model: deploymentName, input: [ { role: system, content: Youre the president of France }, { role: system, content: You have just resigned }, { role: user, content: What tasks needs doing? } ], max_output_tokens: 100, store: false, }); console.log(result.output_text); } main();JavaScript 版本 则走 Azure AI Inference SDKazure-rest/ai-inference通过AZURE_INFERENCE_CREDENTIAL与AZURE_INFERENCE_ENDPOINT环境变量鉴权调用/chat/completions路径并遍历response.body.choices输出结果同时内置了 Cohere、Meta Llama、Mistral、OpenAI、Phi 等多模型切换的能力。提示设计三条基本准则Notebook 中引用的提示设计准则同样值得继承Show and tell用指令、示例或二者结合明确表达诉求、Provide quality data分类器等任务要提供足够示例并校对拼写、Check your settingstemperature与top_p控制输出的确定性只有一个正确答案时调低需要多样输出时调高不要把这两个参数误解为聪明度或创造力开关。用户体验UX设计AI 聊天应用的特殊考量通用 UX 原则同样适用于聊天应用但机器学习组件的引入带来了一些特别重要的附加考量歧义处理机制生成式 AI 模型偶尔会产生含糊的回答提供让用户请求澄清的功能会很有帮助上下文保留先进的生成式 AI 模型能记住对话上下文这对体验是必要资产。但让用户控制和管理上下文会引入保留敏感信息的风险需要引入保留策略retention policy来平衡上下文需求与隐私个性化AI 模型具备学习和适应能力能提供个性化体验。通过用户画像等功能定制体验既让用户感到被理解也帮助其更快找到具体答案。OpenAI ChatGPT 中的Custom instructions设置就是一个个性化范例——它允许你提供关于自己的信息作为提示的上下文。下图的个人画像会促使 ChatGPT 生成一份链表教学课程计划并基于用户经验给出更深入的方案Microsoft 大语言模型系统消息框架Microsoft 为编写有效的系统消息system message提供了指南分为 4 个方面定义模型的服务对象以及其能力与局限定义模型的输出格式提供能演示模型预期行为的具体示例提供额外的行为护栏guardrails。可访问性无论用户存在视觉、听觉、运动还是认知障碍设计良好的聊天应用都应人人可用视觉障碍高对比度主题、可缩放文本、屏幕阅读器兼容听觉障碍文本转语音与语音转文本功能、音频通知的视觉提示运动障碍键盘导航支持、语音命令认知障碍简化语言选项。领域定制DSL 模型与微调Fine-tuning想象一个能听懂公司行话、并能预判用户高频问题的聊天应用。两种值得关注的做法使用 DSL 模型DSL 即领域特定语言Domain Specific Language使用在特定领域训练过的 DSL 模型来理解该领域的概念与场景应用微调用特定数据对模型进行进一步训练。DSL 模型是经过训练或微调、能理解和生成特定领域/行业/主题文本的模型。使用方式从零开始训练、通过 SDK/API 使用现成模型、到对预训练模型进行微调不一而足。场景医疗应用当预训练模型在专业领域或特定任务上表现不足时常会考虑微调。以辅助医疗从业者的聊天应用为例通用模型能回答基础医学问题或提供一般建议但在以下场景会力不从心高度特定或复杂的病例例如神经科医生询问针对儿童患者耐药性癫痫的当前最佳管理实践是什么缺乏最新进展通用模型难以提供纳入神经学、药理学最新成果的实时答案。此时用专业医学数据集微调模型能显著提升其精准、可靠地处理复杂医学查询的能力——前提是能访问到代表领域挑战与问题的大规模相关数据集。仓库中 18-fine-tuning 一课对微调流程有更深入的实操演示。高质量 AI 聊天体验的考量高质量聊天应用需要可量化的指标捕获以及对负责任 AI 框架的遵循。关键指标指标定义聊天应用开发者的考量可用性Uptime应用处于运行状态、可供用户访问的时间如何最小化停机时间响应时间应用回复用户查询所花的时间如何优化查询处理以改进响应时间精确率Precision真正例预测占全部正例预测的比例如何验证模型的精确率召回率/灵敏度Recall真正例预测占实际正例的比例如何衡量并改进召回率F1 分数精确率与召回率的调和平均平衡二者权衡目标 F1 是多少如何平衡精确率与召回率困惑度Perplexity衡量模型预测的概率分布与数据真实分布的契合程度如何最小化困惑度用户满意度指标衡量用户对应用的主观感受常通过调查问卷获取多久收集一次用户反馈如何据此调整错误率Error Rate模型在理解或输出上出错的比率有哪些降低错误率的策略再训练周期Retraining Cycles模型纳入新数据与新洞察的更新频率多久再训练一次什么触发再训练周期异常检测Anomaly Detection识别不符合预期行为的异常模式的技术与工具如何响应异常在聊天应用中落实负责任的 AI 实践Microsoft 的负责任 AI 方法确立了指导 AI 开发与使用的六项原则原则Microsoft 定义聊天开发者的考量为何重要公平性AI 系统应公平对待所有人确保聊天应用不基于用户数据歧视建立信任与包容性规避法律后果可靠性与安全性AI 系统应可靠且安全地运行实施测试与故障保护最小化错误与风险保障用户满意度防止潜在伤害隐私与安全AI 系统应安全并尊重隐私实施强加密与数据保护措施保护敏感用户数据并遵守隐私法规包容性AI 系统应赋能每个人并吸引用户参与设计对多元受众可访问、易用的 UI/UX让更广泛的人群能有效使用应用透明性AI 系统应可理解为 AI 响应提供清晰的文档与解释用户理解决策过程后更可能信任系统问责制人类应为 AI 系统负责建立审计与改进 AI 决策的清晰流程支持持续改进出错时可采取纠正措施动手练习与后续路径本课的作业集中在 07-building-chat-applications/python 目录包含从运行第一个聊天提示、到文本分类、文本摘要等一系列练习且覆盖了 OpenAI、Azure OpenAI、GitHub Models 等多种接入方式如 oai-assignment.ipynb、aoai-assignment.ipynb、githubmodels-assignment.ipynb以及简化入门版 oai-assigment-simple.ipynb同时提供 TypeScriptchat-completions-app与 JavaScriptjs-githubmodels版本不同语言背景的开发者都可上手。完成本课后可继续进入第 8 课学习构建搜索应用将对话能力与检索能力结合构建更完整的 AI 应用。【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价