(点击该图片看本章导学视频)
通过之前的学习,我们了解了如何构建文本生成应用程序,接下来让我们看看聊天应用程序是如何实现的
聊天应用程序已融入我们的日常生活,提供的不仅仅是一种随意交谈的方式。 已经成为客户服务、技术支持甚至复杂的咨询系统不可或缺的一部分。 您可能已经从聊天应用程序获得了一些帮助。 随着我们将生成式人工智能等更先进的技术集成到这些平台中,复杂性随之增加,挑战也随之增加。
我们需要回答的一些问题是:
随着我们进一步进入自动化和无缝人机交互的时代,了解生成式人工智能如何改变聊天应用程序的范围、深度和适应性变得至关重要。 本课程将研究支持这些复杂系统的架构的各个方面,深入研究针对特定场景进行微调的方法,并评估和确保负责任的人工智能部署相关的指标和注意事项。
在本章中,您将学习到:
在完成本章的学习,您将能够:
通过生成式人工智能提升聊天应用程序不仅是为了让它们变得更智能,也是为了让它们变得更聪明。 这是关于优化其架构、性能和用户界面以提供优质的用户体验。 这涉及研究架构基础、API 集成和用户界面注意事项。 本章旨在为您提供一个全面的路线图,用于导航这些复杂的环境,无论您是将它们插入现有系统还是将它们构建为独立平台。
读完本节后,您将具备高效构建和合并聊天应用程序所需的专业知识。
在我们深入构建聊天应用程序之前,让我们将“传统聊天机器人”与“生成式人工智能驱动的人工智能”进行比较,它们具有不同的角色和功能。 传统聊天机器人的主要目的是自动执行特定的对话任务,例如回答常见问题或跟踪包裹。 它通常由基于规则的逻辑或复杂的人工智能算法控制。 相比之下,人工智能驱动的聊天应用程序是一个更加广泛的环境,旨在促进各种形式的数字通信,例如用户之间的文本、语音和视频聊天。 其定义特征是集成了生成式人工智能模型,该模型可以模拟细致入微的拟人对话,并根据各种输入和上下文提示生成响应。 生成式人工智能驱动的聊天应用程序可以参与开放领域的讨论,适应不断变化的对话环境,甚至产生创造性或复杂的对话。
下表概述了主要差异和相似之处,以帮助我们了解它们在数字通信中的独特作用。
在构建聊天应用程序时,重要的第一步是评估已有的内容。 基于多种原因,使用 SDK 和 API 构建聊天应用程序是一种有利的策略。 通过集成成熟的 SDK 和 API,可以战略性地定位您的应用程序,以实现长期成功,并解决可扩展性和维护问题。
访问 SDK 或 API 的功能通常涉及获取使用所提供服务的许可,这通常是通过使用唯一 kwy 或身份验证 token 来实现的。 我们将使用 OpenAI Python library 来探索它是什么样子。 您也可以在本章的notebook 中自行尝试。
import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") chat_completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Suggest two titles for an instructional lesson on chat applications for generative AI."}])
上面的示例使用 GPT-3.5 Turbo 模型来完成提示,但请注意,API 密钥是在执行此操作之前设置的。 如果未设置 key,您将收到以下错误。
AuthenticationError: No API key provided. You can set your API key in code using 'openai.api_key = <API-KEY>', or you can set the environment variable OPENAI_API_KEY=<API-KEY>). If your API key is stored in a file, you can point the openai module at it with 'openai.api_key_path = <PATH>'. You can generate API keys in the OpenAI web interface. See https://platform.openai.com/account/api-keys for details.
一般用户体验原则适用于聊天应用程序,但由于涉及机器学习组件,这里有一些额外考虑因素,这就变得特别重要。
个性化的一个例子是 OpenAI 的 ChatGPT 中的“自定义指令”设置。 它允许您提供有关您自己的信息,这些信息可能是您的提示的重要背景。 以下是自定义指令的示例。
“配置文件”提示 ChatGPT 在链接列表上创建课程计划。 请注意,ChatGPT 可以按照用户的特点获得更深入的课程计划。
微软指引 用于在 LLM 生成响应时编写有效的系统消息,分为 4 个区域:
无论用户是否有视觉、听觉、运动或认知障碍,设计良好的聊天应用程序都应该可供所有人使用。 以下列表详细列出了旨在增强各种用户障碍的可访问性的特定功能。
想象一下,一个聊天应用程序可以理解您公司的行话并预测其用户群通常有的特定查询。 有几种方法值得一提:
利用特定于领域的语言模型(DSL 模型)可以通过提供专门的、上下文相关的交互来增强用户参与度。 它是一个经过训练或微调的模型,可以理解和生成与特定领域、行业或主题相关的文本。 使用 DSL 模型的选项多种多样,从头开始训练到通过 SDK 和 API 使用预先存在的模型。 另一种选择是微调,其中涉及采用现有的预训练模型并将其适应特定领域。
当预训练模型在专门领域或特定任务中达不到要求时,通常会考虑微调。
例如,医疗查询很复杂并且需要大量上下文。 当医疗专业人员诊断患者时,它会基于多种因素,例如生活方式或既往病史,甚至可能依赖最近的医学期刊来验证他们的诊断。 在这种微妙的场景中,通用的人工智能聊天应用程序不可能成为可靠的来源。
考虑一个聊天应用程序,旨在通过提供治疗指南、药物相互作用或最新研究结果的快速参考来帮助医生。
通用模型可能足以回答基本的医学问题或提供一般建议,但可能会遇到以下问题:
在此类情况下,使用专门的医疗数据集对模型进行微调可以显着提高其更准确、更可靠地处理这些复杂的医疗查询的能力。 这需要访问大型且相关的数据集,这些数据集代表了需要解决的特定领域的挑战和问题。
本节概述了“高质量”聊天应用程序的标准,其中包括捕获可操作的指标以及遵守负责任地利用人工智能技术的框架。
为了保持应用程序的高质量性能,跟踪关键指标和注意事项至关重要。 这些测量不仅可以确保应用程序的功能,还可以评估人工智能模型和用户体验的质量。 下面的列表涵盖了需要考虑的基本、人工智能和用户体验指标。
Microsoft 的 Responsible AI 方法确定了指导 AI 开发和使用的六项原则。 以下是聊天开发人员应该考虑的原则、定义以及聊天开发人员应该考虑的事项以及为什么他们应该认真对待它们。
请查看作业,它将引导您完成一系列练习,从运行第一个聊天提示到对文本进行分类和总结等等。
Want to learn more about creating chat applications with Generative AI? Go to the continued learning page to find other great resources on this topic.
Head over to Lesson 8 to see how you can start building search applications!
想要了解有关创建聊天应用的更多信息? 转至进阶学习的页面 查找有关此主章节的其他学习资源。
前往第八章,我们将学习构建搜索应用程序
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8