拓冰建站拓冰建站
首页 / 资讯中心 / 正文

生成式 AI 聊天应用开发实战:从 API 集成、体验设计到微调与质量监控——generative-ai-for-beginners 第 7 课深度解读

生成式 AI 聊天应用开发实战从 API 集成、体验设计到微调与质量监控——generative-ai-for-beginners 第 7 课深度解读【免费下载链接】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 课源文档位于 translations/fa/07-building-chat-applications/README.md英文原版位于 07-building-chat-applications/README.md。你将系统掌握「聊天机器人 vs 生成式 AI 聊天应用」的架构差异、基于 SDK/API 的快速集成方法、聊天场景特有的 UX 设计原则、面向垂直领域的 DSL 模型与微调策略以及评判聊天应用质量的关键指标与负责任 AI 的落地框架。学完本课你可以据此在课程配套的多语言工程示例Python、JavaScript、TypeScript、.NET之上独立规划并交付一个可持续监控的高质量 AI 聊天应用。本课讲什么从会生成文本到能承接对话第 6 课解决了如何构建文本生成应用而聊天应用把问题从生成一段内容升级为维持一场有上下文的对话。聊天应用早已超越休闲聊天的范畴成为客户服务、技术支持乃至复杂咨询系统的基础设施。当生成式 AI 被引入这类平台时复杂度与挑战也随之上升。本课围绕两个核心问题展开如何构建Building the app怎样高效地构建并针对特定使用场景无缝集成这些 AI 驱动的应用如何监控Monitoring部署之后如何监控并确保应用在功能层面与遵循微软负责任 AI 六大原则两方面都保持最高质量水准在自动化与人机无缝交互的时代理解生成式 AI 如何改变聊天应用的广度、深度与自适应性是必要的。课程将考察支撑这类复杂系统的架构要素、面向特定领域任务的微调方法并评估与负责任部署相关的指标与考量。学习目标学完本课你将能够说明在既有系统中构建与集成聊天应用时的考量针对特定使用场景定制聊天应用识别用于有效监控并维持 AI 聊天应用质量的关键指标与注意事项确保聊天应用以负责任的方式利用 AI 技术。架构地基聊天机器人Chatbot与 AI 聊天应用Chat Application在动手编码之前必须厘清两个常被混用的概念。聊天机器人的核心目标是自动化特定会话任务如回答 FAQ、跟踪包裹通常由基于规则的逻辑或复杂 AI 算法驱动而生成式 AI 聊天应用是一个宽泛得多的环境用于承载人与人之间的文本、语音、视频等多种数字通信形态其标志性特征是集成了生成式 AI 模型——它可以模拟细腻、类人的对话基于多样化输入与上下文线索生成回复参与开放领域讨论、适应不断演进的对话语境甚至产出创造性或复杂的对话。下表概括了两者的关键差异聊天机器人 Chatbot生成式 AI 聊天应用任务聚焦、基于规则语境感知Context-aware常被嵌入更大的系统可承载一个或多个聊天机器人局限于预设功能集成生成式 AI 模型专业化、结构化的交互支持开放领域讨论这一区分决定了后续所有技术选型当你的目标只是自动化一个固定流程时简单机器人足够当目标是创造一个能与用户自由对话、记忆上下文、风格可调的产品时你实际上在构建一个生成式 AI 聊天应用需要走完本课余下的全部流程。复用预制能力基于 SDK 与 API 构建聊天应用构建聊天应用的第一个正确动作不是从零造轮子而是盘点现有什么。集成文档完善的 SDK 与 API 是颇具优势的策略它让应用在可扩展性与可维护性上具备长期成功的起点理由如下加速开发、降低开销依赖现成能力而不是昂贵地从零构建可以把精力投放在更重要的业务逻辑上性能更优从零实现规模扩展是难题能扛住用户暴涨吗而维护良好的 SDK/API 通常内置了这类方案更易维护大多数 API/SDK 在发布新版本时只需升级库即可同步更新与改进触及前沿技术直接复用在海量数据上完成训练与精调的模型为应用带来开箱即用的自然语言能力。使用 SDK/API 通常需要获取访问授权形式多为唯一 Key 或身份认证令牌。下面用 OpenAI Python 库展示这一过程本课配套的 OpenAI 作业笔记本 与 Azure OpenAI 作业笔记本 均可亲测import os from openai import OpenAI API_KEY os.getenv(OPENAI_API_KEY,) client OpenAI( api_keyAPI_KEY ) chat_completion client.chat.completions.create( modelgpt-3.5-turbo, messages[{role: user, content: Suggest two titles for an instructional lesson on chat applications for generative AI.}] )注意上述示例在调用前必须先完成 API Key 的设置示例中通过环境变量OPENAI_API_KEY读取否则会收到鉴权错误。仓库中的最新调用形态Responses API 与 GPT-4o mini需要指出的是课程仓库已在持续演进。英文原版与配套 Python 笔记本中同一能力的调用已升级为Responses API gpt-4o-miniresponse client.responses.create( modelgpt-4o-mini, input[{role: system, content: You are a helpful assistant.}, {role: user, content: Should oxford commas always be used?}], storeFalse) print(response.output_text)在 oai-assignment.ipynb 中可以看到先import os与from dotenv import load_dotenv加载.env通过API_KEY os.getenv(OPENAI_API_KEY,)读取凭据并用assert API_KEY, ERROR: OpenAI Key is missing做前置校验随后以messages[{role: system...}, {role: user...}]的形式传入多角色消息——其中system角色用于设定助手人格如 You are a helpful assistant.这正是后续系统消息框架一节的工程雏形。笔记本还用同一段文本做了多次重复调用以观察结果差异并演示了文本摘要追加Tl;dr、文本分类给定[Pricing, Hardware Support, Software Support]分类、产品命名等后续练习。对接 Azure OpenAI / Microsoft Foundry 的差异若改用 Azure OpenAI客户端配置有两个关键差异一是凭据变为AZURE_OPENAI_ENDPOINTAZURE_OPENAI_API_KEY二是必须把 base_url 指向your-endpoint/openai/v1/。见 aoai-assignment.ipynb 的实际写法endpoint os.environ[AZURE_OPENAI_ENDPOINT] client OpenAI( api_keyos.environ[AZURE_OPENAI_API_KEY], base_urlf{endpoint.rstrip(/)}/openai/v1/, )TypeScript 示例 chat-completions-app/src/main.ts 采用相同模式用dotenv.config()加载配置baseURL拼接为${endpoint.replace(/\/$/, )}/openai/v1/部署名默认为gpt-4o-mini并通过max_output_tokens、store等参数控制输出长度与是否存储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);用 Azure AI Inference SDK 切换多厂商模型如果希望在同一套代码里横向对比 OpenAI、MetaLlama、Mistral、Cohere、MicrosoftPhi等多个厂商模型仓库提供了基于azure-rest/ai-inference的 JavaScript 示例 js-githubmodels/app.js。它要求两个环境变量并显式校验缺失即抛错const token process.env[AZURE_INFERENCE_CREDENTIAL]; const endpoint process.env[AZURE_INFERENCE_ENDPOINT];随后以/chat/completions路径发起请求modelName变量决定了命中的模型例如gpt-4o-miniconst response await client.path(/chat/completions).post({ body: { messages: [ { role: system, content: Youre the president of France}, { role: system, content: You have just resigned }, { role: user, content: What tasks needs doing? }, ], model: modelName, } }); if (response.status ! 200) { throw response.body.error; }从源码注释可以推断其设计意图通过修改modelName即可在不同模型间切换实验示例中已列出微软模型目录中可用的 Cohere、Meta Llama 3.1、Mistral、OpenAI 与 Phi 系列——这为先评估再选型的工程路线提供了最小可运行脚手架。相关的 TypeScript 工程配置位于 package.jsonJavaScript 依赖清单位于 js-githubmodels/package.json。体验为王聊天应用特有且被机器学习放大的 UX 考量通用 UX 原则对聊天应用依然适用但因引入了机器学习组件以下三点变得格外重要。歧义澄清机制addressing ambiguity生成式 AI 偶尔会给出含混回答。为用户提供请再说清楚一点的追问能力能有效兜底这类问题。上下文保留context retention先进模型能记住对话中的语境这对体验几乎是必需品。但把管理/控制上下文的能力交给用户会提升体验也带来敏感信息留存风险——因此要考虑信息保留多久例如引入留存策略retention policy在需要上下文与保护隐私之间取得平衡。个性化personalization具备学习与自适应能力的模型能为用户提供个性化体验。通过用户画像等功能量身定制不仅让用户感到被理解还能帮他更快定位答案使交互更高效、更令人满意。个性化的典型例子是 OpenAI ChatGPT 的 Custom instructions自定义指令设置——允许你提供关于自身的重要上下文信息使其进入后续每次提示。下图中可以看到这份画像促使 ChatGPT 为用户生成关于链表linked lists的课程计划且模型会依据该用户的经验背景判断可能需要一份更深入的教案——这正是模型感知语境的直观演示。微软大语言模型系统消息框架当要约束 LLM 的回复风格时需要学会写好system消息。微软提供了系统消息写作指导将其拆分为四个区域定义模型的服务对象它为谁服务以及它的能力与局限定义模型输出格式结构化约束如 JSON、特定长度给出具体示例用少样本示范模型应有的行为提供额外的行为护栏guardrails明确禁止项与边界。上述仓库代码里出现的role: system就是这四个区域的载体例如You are a helpful assistant.属于第 1 区而带约束的指令与示范对应第 2、3、4 区。无障碍Accessibility无论用户存在视觉、听觉、运动还是认知障碍一个设计良好的聊天应用都应人人可用。针对不同障碍类型的增强特性包括视觉障碍高对比度主题、可缩放文字、屏幕阅读器兼容听觉障碍文本转语音与语音转文本、音频通知的视觉线索运动障碍键盘导航支持、语音指令认知障碍简化语言选项。面向垂直领域的定制DSL 模型与微调Fine-tuning设想一个听得懂公司黑话、能预判用户常问问题的聊天应用两种思路值得关注使用 DSL 模型DSLDomain Specific Language领域特定语言。借助在特定领域上训练过的所谓 DSL 模型去理解该领域的概念与场景应用微调用特定数据对模型进行进一步训练。定制路线一使用 DSL 模型DSL 模型在特定领域、行业或主题上经过训练或微调能理解并生成该领域的文本从而以专业化、语境相关的交互提升用户参与度。其可选范围跨度很大从完全从头训练一个模型到通过 SDK/API 直接使用现成模型再到对已有预训练模型做领域适配即微调。定制路线二应用微调微调通常在一个预训练模型面对专业领域或特定任务力不从心时被启用。例如医疗问题天生复杂、极其依赖上下文医生诊断要综合生活方式、既有病史甚至查阅最新医学期刊来佐证。在这种精细场景下通用 AI 聊天应用无法成为可靠信源。场景推演一个医疗辅助应用。设想一个帮助医生快速查询治疗指南、药物相互作用或最新研究发现的聊天应用通用模型也许足以回答基础医疗问题或提供泛化建议但在以下情况会翻车高度特殊或复杂的病例。例如神经科医生提问治疗儿童患者耐药性癫痫的当前最佳实践是什么What are the current best practices for managing drug-resistant epilepsy in pediatric patients?缺乏最新进展。通用模型难以给出融合神经学与药理学最新成果的现时答案。针对这类场景用专业医疗数据集对模型做微调能显著提升其准确、可靠处理复杂医学问询的能力——前提是你拥有一个体量充足、相关性强、能代表领域特定挑战与问题的数据集。本仓库在第 18 课18-fine-tuning提供了完整的微调实操指南可以作为本课的延伸学习材料。如何定义并守护高质量关键指标与负责任 AI高质量聊天应用的标准既包括可行动的指标采集也包括负责任地使用 AI 技术的框架遵循。关键指标清单为维持应用的高质量表现必须持续跟踪下列指标——它们既保障应用功能也评估 AI 模型质量与用户体验指标定义聊天开发者应思考正常运行时间Uptime应用保持可运行、可被用户访问的时间如何把停机时间降到最低响应时间Response Time应用回应用户查询所花的时间如何优化查询处理以改善响应时间精确率Precision真正例预测数占全部正预测数的比例如何验证模型精确率召回率/灵敏度Recall, Sensitivity真正例预测数占实际正例数的比例如何度量并提升召回率F1 分数精确率与召回率的调和平均权衡两者取舍F1 目标值是多少如何平衡精确率与召回率困惑度Perplexity度量模型预测的概率分布与数据真实分布的吻合程度如何最小化困惑度用户满意度指标度量用户对应用的感知多通过调查问卷采集多久收集一次用户反馈如何据此迭代错误率Error Rate模型在理解或输出上出错的比率有哪些降低错误率的策略再训练周期Retraining Cycles模型融合新数据与新洞察的更新频率多久再训练一次什么事件会触发再训练异常检测Anomaly Detection识别不符合预期行为的异常模式的工具与技术出现异常时如何响应在聊天应用中落实负责任 AI微软六大原则微软的负责任 AI 方法确立了应指导 AI 开发与使用的六项原则聊天开发者应逐条对照落地原则微软定义聊天开发者考量为何重要公平FairnessAI 系统应公平对待所有人确保聊天应用不基于用户数据产生歧视建立用户信任与包容性规避法律风险可靠与安全Reliability SafetyAI 系统应可靠、安全地运行实施测试与故障兜底机制最小化错误与风险保障用户满意度防止潜在伤害隐私与安全Privacy SecurityAI 系统应安全并尊重隐私实施强加密与数据保护措施保护敏感用户数据并符合隐私法规包容InclusivenessAI 系统应赋能所有人并使人参与设计面向多元受众、无障碍且易用的 UI/UX确保更广泛人群能有效使用应用透明TransparencyAI 系统应可被理解为 AI 回复提供清晰文档与理由说明用户理解决策如何做出时更愿意信任系统问责Accountability人应为 AI 系统负责建立审计与改进 AI 决策的清晰流程支持持续改进出错时可采取纠正措施值得说明的是本仓库第 3 课03-using-generative-ai-responsibly专门讨论了这六项原则的完整内涵与缓解手段可与本节指标框架配合阅读形成指标度量 原则约束的双轨质量保障体系。动手练习本课配套作业与多语言实现本课作业位于 07-building-chat-applications/python会带你完成从运行第一条聊天提示、到文本分类与摘要等一连串练习。作业覆盖多种语言形态便于对照Python 笔记本OpenAIoai-assignment.ipynb、Azure OpenAIaoai-assignment.ipynb、GitHub Modelsgithubmodels-assignment.ipynb以及各自的 simple 入门版JavaScriptjs-githubmodels/app.jsAzure AI Inference SDKTypeScriptchat-completions-app/src/main.ts.NETdotnet/notebook-azure-openai.dib。下一步完成本课之后可以继续学习第 8 课了解如何基于聊天能力构建搜索应用RAG若想了解微调模型的数据准备与完整流程可直接跳至第 18 课微调实操。说明本课程正文以英文原版07-building-chat-applications/README.md为权威来源并已配套提供波斯语译本translations/fa/07-building-chat-applications/README.md等多语言版本本文对代码示例的说明以仓库当前实际源码为准。【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门