跳到主要内容
学习工作台专题学习
返回专题
2026年7月27日11 分钟

构建生成式 AI 驱动的聊天应用程序

墨圆
墨圆团队发布于 2026年7月27日

来源、许可与阅读说明

  • 简体中文原文:translations/zh-CN/07-building-chat-applications/README.md
  • 来源:microsoft/generative-ai-for-beginners;固定提交:645f932514e9
  • 版权与贡献:Copyright (c) Microsoft Corporation;课程内容及简体中文翻译由固定版本记录的项目贡献者共同维护。
  • 许可:MIT License 固定版本;完整许可文本保留在本文末尾。
  • 本站适配:选取仓库已有的简体中文课程,移除翻译元数据,固定图片与仓库文件链接,并把跨课链接改为站内连续阅读;不把代码示例和作业 Notebook 重复复制为文章。
  • 非官方说明:本站只做独立的公开学习编排,不代表 Microsoft、课程维护者或文中第三方对本站的合作、认证或背书。
  • 时效与安全:模型、API、价格、平台和命令可能变化;运行示例前请核对固定源码与最新官方文档,密钥只能放在受控环境变量中。
  • 授权、更正或删除请求请通过本站首页公开联系方式提出,收到有效请求后先下架再核查。

构建生成式 AI 驱动的聊天应用程序

构建生成式 AI 驱动的聊天应用程序

(点击上方图片观看本课视频)

既然我们已经了解了如何构建文本生成应用,我们现在来看看聊天应用。

聊天应用已经融入我们的日常生活,它们不仅仅是随意交谈的工具。它们是客户服务、技术支持甚至复杂咨询系统的重要组成部分。很可能你不久前就从某个聊天应用中获得过帮助。随着我们将生成式 AI 等更先进技术整合进这些平台,复杂性和挑战也随之增加。

我们需要解答的一些问题包括:

  • 应用构建。我们如何高效构建并无缝集成这些 AI 驱动的应用以满足特定用例?
  • 监控。部署后,我们如何监控并确保应用在功能和遵守负责任 AI 六大原则两方面都保持最高质量?

随着自动化和无缝人机交互时代的深入,理解生成式 AI 如何改变聊天应用的范围、深度和适应性变得尤为重要。本课将探讨支持这些复杂系统的架构方面,深入研究针对特定领域任务的微调方法,并评估确保负责任 AI 部署所需的指标和考量。

介绍

本课涵盖:

  • 高效构建和集成聊天应用的技术。
  • 如何对应用进行定制和微调。
  • 有效监控聊天应用的策略和注意事项。

学习目标

完成本课后,你将能够:

  • 描述构建和集成聊天应用到现有系统中的考量因素。
  • 针对特定用例定制聊天应用。
  • 识别关键指标和考量,有效监控并维护 AI 驱动聊天应用的质量。
  • 确保聊天应用负责任地利用 AI 技术。

将生成式 AI 集成到聊天应用

通过生成式 AI 提升聊天应用不仅仅是让它们更智能;更是优化其架构、性能和用户界面,从而提供优质的用户体验。这涉及调查架构基础、API 集成和用户界面考虑因素。本节旨在为你提供一条全面的路线图,帮助你驾驭这些复杂领域,无论是将它们插入现有系统,还是构建独立平台。

本节结束时,你将具备高效构建和整合聊天应用的专业知识。

聊天机器人还是聊天应用?

在深入构建聊天应用之前,我们先比较“聊天机器人”和“AI 驱动的聊天应用”,它们的角色和功能不同。聊天机器人的主要目的是自动化特定对话任务,如回答常见问题或追踪包裹,通常由基于规则的逻辑或复杂的 AI 算法驱动。相比之下,AI 驱动的聊天应用是一个更广阔的环境,旨在促进各种数字交流形式,比如人类用户间的文本、语音和视频聊天。其核心特征是集成了生成式 AI 模型,能够模拟细致入微、类人对话,根据多种输入和上下文线索生成回复。生成式 AI 驱动的聊天应用能够进行开放域讨论,适应不断变化的对话环境,甚至产生创造性或复杂的对话。

下表概述了关键差异与相似点,帮助我们理解它们在数字交流中的独特角色。

聊天机器人生成式 AI 驱动聊天应用
任务导向且基于规则具备上下文感知
常集成于更大系统可承载一个或多个聊天机器人
限于预设功能集成生成式 AI 模型
专业且结构化的交互能够进行开放域讨论

利用预构建功能的 SDK 和 API

构建聊天应用时,一个很好的第一步是评估已有的资源。利用 SDK 和 API 构建聊天应用是一种很有优势的策略,原因有多方面。通过集成文档完善的 SDK 和 API,你的应用在长期成功、可扩展性和维护方面都得到了战略保障。

  • 加快开发进程并减少开销:依赖预构建功能,避免了自己昂贵的构建过程,使你可以专注于你认为更重要的应用其他部分,如业务逻辑。
  • 更好性能:自己从零构建功能时,你会考虑“系统如何扩展?应用能否应对突增用户?”维护良好的 SDK 和 API 通常内置了针对这些问题的解决方案。
  • 维护更便捷:大多数 API 和 SDK 只需在新版本发布时更新库,即可便于管理更新和改进。
  • 访问前沿技术:利用经过精细调优且训练于大规模数据集的模型,赋予你的应用自然语言处理能力。

使用 SDK 或 API 功能通常涉及获得使用服务的权限,通常通过唯一密钥或认证令牌实现。我们将使用 OpenAI Python 库来演示此过程。你也可以在下面本课的OpenAI 笔记本Azure OpenAI 服务笔记本中自行尝试。

PYTHON
import os
from openai import OpenAI

API_KEY = os.getenv("OPENAI_API_KEY","")

client = OpenAI(
    api_key=API_KEY
    )

response = client.responses.create(model="gpt-4o-mini", input="Suggest two titles for an instructional lesson on chat applications for generative AI.", store=False)
print(response.output_text)

上例使用 GPT-4o mini 模型和 Responses API 来完成提示,但注意 API 密钥需先设置,否则会报错。

用户体验 (UX)

聊天应用适用一般 UX 原则,但以下是由于涉及机器学习组件而变得尤为重要的额外考虑。

  • 模糊性处理机制:生成式 AI 模型偶尔会生成模糊答案,允许用户请求澄清的功能在遇到此类问题时非常有用。
  • 上下文保持:先进的生成式 AI 可记忆对话上下文,这对用户体验很重要。赋予用户控制和管理上下文的能力有助于提升体验,但也带来保留敏感信息的风险。考虑如引入保留策略等方式平衡上下文需求与隐私。
  • 个性化:AI 模型自主学习与适应能力,为用户提供个性化体验。通过用户档案等功能定制体验,不仅让用户感到被理解,也帮助他们更高效找到具体答案,提升互动满意度。

OpenAI ChatGPT 的“自定义指令”设置就是个性化的例子。它允许你提供关于自己的信息,为提示提供重要上下文。下面是自定义指令的示例。

ChatGPT 自定义指令设置

这个“档案”促使 ChatGPT 制定一个关于链表的课程计划。请注意,ChatGPT 考虑到用户可能基于经验需要更深入的课程计划。

ChatGPT 关于链表课程计划的提示

微软的大型语言模型系统消息框架

微软提供了编写有效系统消息的指导,用于生成 LLM 响应,分为四个方面:

  1. 定义模型的受众,以及其能力和限制。
  2. 定义模型的输出格式。
  3. 提供展示模型预期行为的具体示例。
  4. 提供额外的行为边界。

无障碍设计

无论用户有视觉、听觉、运动或认知障碍,设计良好的聊天应用都应对所有人可用。以下清单细分了针对不同用户障碍的无障碍功能。

  • 视觉障碍功能:高对比度主题和可调整大小文本,屏幕阅读器兼容性。
  • 听觉障碍功能:文本转语音和语音转文本功能,音频通知的视觉提示。
  • 运动障碍功能:键盘导航支持,语音命令。
  • 认知障碍功能:简化语言选项。

定制与微调领域特定语言模型

想象一个能理解你公司术语并预判用户常见查询的聊天应用。有几种值得提及的方法:

  • 利用 DSL 模型。DSL 代表领域特定语言。你可以利用在特定领域训练的所谓 DSL 模型来理解相关概念和场景。
  • 应用微调。微调是用特定数据对模型进行进一步训练的过程。

定制:使用 DSL

利用领域特定语言模型(DSL 模型)通过提供专业且语境相关的交互,可以增强用户参与度。该模型经过训练或微调,能理解并生成与特定领域、行业或主题相关的文本。使用 DSL 模型的方式多样,从从零训练,到通过 SDK 和 API 使用现有模型。另一种方式是微调,即拿现有预训练模型针对特定领域进行调整。

定制:应用微调

当预训练模型在专业领域或特定任务上表现不足时,常考虑微调。

例如,医学查询复杂且需大量上下文。医生诊断患者时会考虑生活习惯、既往病史,甚至最新医学期刊以验证诊断。在这样的复杂情境中,通用 AI 聊天应用难以成为可靠来源。

场景案例:医疗应用

设想一个聊天应用,旨在辅助医疗专家快速查询治疗指南、药物相互作用或最新研究成果。

通用模型或许足以回答基础医学问题或给出一般建议,但可能难以应对以下情况:

  • 高度具体或复杂的病例。例如,神经科医生可能询问“当前治疗儿科药物难治癫痫的最佳实践是什么?”
  • 缺乏最新进展。通用模型可能难以提供涵盖神经学和药理最新进展的权威答案。

在这种情况下,使用专业医疗数据集对模型进行微调,可以显著提升其对复杂医学问题的准确性和可靠性。这需要获得大量相关数据集,以代表领域特有的挑战和问题。

高质量 AI 驱动聊天体验的考量

本节概述“高质量”聊天应用的标准,包括捕获可操作指标和遵循负责任利用 AI 技术的框架。

关键指标

为维持应用高性能,关键指标和考量必须持续跟踪。这些指标不仅确保应用功能,还评估 AI 模型和用户体验质量。下面列表涵盖基础、AI 和用户体验指标。

指标定义聊天开发者的考量
正常运行时间 (Uptime)测量应用可用且用户可访问的时间。如何最大限度减少停机时间?
响应时间 (Response Time)应用回复用户查询所需时间。如何优化查询处理以提升响应速度?
准确率 (Precision)真阳性预测占所有正预测的比例。如何验证你的模型准确率?
召回率 (Recall/灵敏度)真阳性预测占实际正例的比例。如何测量并提升召回率?
F1 分数准确率和召回率的调和平均,平衡两者权衡。你的目标 F1 分数是多少?如何平衡准确率和召回率?
困惑度 (Perplexity)衡量模型预测的概率分布与数据实际分布的匹配程度。如何降低困惑度?
用户满意度指标测量用户对应用的感知,通常通过调查获取。多久收集一次用户反馈?如何根据反馈调整?
错误率 (Error Rate)模型理解或输出错误的频率。有哪些策略降低错误率?
再训练周期 (Retraining Cycles)模型更新频率,以纳入新数据和洞见。你多久再训练一次模型?什么情况下触发再训练?

| 异常检测 | 用于识别不符合预期行为的异常模式的工具和技术。 | 你将如何应对异常? |

在聊天应用中实施负责任的 AI 实践

微软关于负责任 AI 的方法确定了六条应指导 AI 开发和使用的原则。以下是这些原则、它们的定义,以及聊天开发者应考虑的事项及其重要性。

原则微软定义聊天开发者的考虑事项重要性说明
公平AI 系统应公平对待所有人。确保聊天应用不会基于用户数据进行歧视。建立用户信任和包容性;避免法律风险。
可靠性与安全AI 系统应可靠且安全地运行。实施测试和故障安全机制以减少错误和风险。确保用户满意度并防止潜在伤害。
隐私与安全AI 系统应安全且尊重隐私。实施强加密和数据保护措施。保护敏感用户数据,遵守隐私法律。
包容性AI 系统应赋能每个人并促进参与。设计无障碍且易用的用户界面/用户体验,适应多样化用户群体。确保更广泛的人群能够有效地使用该应用。
透明性AI 系统应可理解。提供清晰的文档和 AI 响应的推理说明。如果用户能理解决策过程,更可能信任系统。
问责制人们应对 AI 系统负责。建立明确的审计和改进 AI 决策的流程。支持持续改进和在出错时采取纠正措施。

任务

参见任务。它将带你完成一系列练习,从运行你的第一个聊天提示,到文本分类和摘要等。注意,任务提供了多种编程语言版本!

干得好!继续前进

完成本课后,查看我们的生成式 AI 学习合集,继续提升你的生成式 AI 知识!

前往第 8 课,看看如何开始构建搜索应用


免责声明: 本文件由 AI 翻译服务 Co-op Translator 翻译完成。尽管我们力求准确,但请注意,自动翻译可能包含错误或不准确之处。原始语言版文件应视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用本翻译而产生的任何误解或误释不承担责任。


MIT License

TEXT
MIT License

Copyright (c) Microsoft Corporation.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.