菜单

构建GenAI应用

相关源文件

本页面概述了可以使用生成式AI构建的不同类型的应用程序以及实现的常用模式。对于希望在深入研究具体实现细节之前了解生成式AI应用程序开发格局的开发人员来说,这是一个基础指南。

有关特定提示工程技术的信息,请参阅提示工程基础。有关构建应用程序时负责任的AI实践的信息,请参阅负责任的AI实践

生成式AI应用程序类型概述

生成式AI可用于构建各种类型的应用程序,每种应用程序服务于不同的目的和用户需求。下图说明了本课程涵盖的主要生成式AI应用程序类型。

来源:README.md67-92 06-text-generation-apps/README.md42-54 07-building-chat-applications/README.md9-16 08-building-search-applications/README.md7-13 09-building-image-applications/README.md24-31 10-building-low-code-ai-applications/README.md9-13

生成式AI应用程序的常见集成方法

无论应用类型如何,都有几种常见的集成生成式AI模型到您的应用程序中的方法。

来源:11-integrating-with-function-calling/README.md28-37 06-text-generation-apps/README.md56-72 08-building-search-applications/README.md40-46 02-exploring-and-comparing-different-llms/README.md142-153 10-building-low-code-ai-applications/README.md44-57

文本生成应用

文本生成应用程序是根据用户提供的提示或输入生成新文本内容的系统。这些应用程序利用语言模型来创建各种类型的文本输出,从创意写作到摘要。

文本生成应用程序的核心组件

来源:06-text-generation-apps/README.md75-111 06-text-generation-apps/README.md134-162

实现模式

典型的文本生成应用程序遵循此模式

  1. 设置环境 - 配置API密钥和连接设置
  2. 创建Prompt - 撰写清晰描述所需输出的提示
  3. 调用LLM API - 将提示发送到LLM服务
  4. 处理响应 - 提取并格式化生成的文本
  5. 显示结果 - 将输出呈现给用户

标准实现使用openai库,通常包括

来源:06-text-generation-apps/README.md112-133 06-text-generation-apps/README.md163-199

文本生成关键参数

参数描述影响
prompt指导模型的文本输入决定模型将生成什么
max_tokens响应的最大长度控制成本和响应大小
temperature随机性因子(0.0-1.0)越高 = 更具创意,越低 = 更具确定性
model要使用的特定LLM影响功能、质量和成本

来源:06-text-generation-apps/README.md583-597

聊天应用

聊天应用程序旨在创建对话体验,用户可以在其中与AI系统进行多轮对话。这些应用程序可以维护对话上下文,并提供更具交互性和个性化的体验。

聊天应用程序的架构

来源:07-building-chat-applications/README.md36-54 07-building-chat-applications/README.md84-117

实现模式

聊天应用程序使用聊天完成API,该API支持角色和对话历史记录

来源:07-building-chat-applications/README.md63-82

聊天应用程序的UX考虑因素

为了实现有效的聊天应用程序用户体验,请考虑以下几点:

  1. 上下文保持 - 维护相关的对话历史记录
  2. 歧义解决 - 当AI响应不清晰时,允许用户澄清
  3. 个性化 - 随时间推移适应用户偏好
  4. 可访问性 - 确保应用程序可供有不同需求的人使用
  5. 负责任的AI实践 - 实施针对有害内容的防护措施

来源:07-building-chat-applications/README.md84-117 12-designing-ux-for-ai-applications/README.md42-101

搜索应用

搜索应用程序利用向量嵌入来查找语义相关的搜索信息,超越了传统的关键词搜索,以理解查询背后的含义。

搜索应用程序的组件

来源:08-building-search-applications/README.md40-87

实现模式

实施搜索应用程序的关键步骤是

  1. 创建Embeddings - 生成文档的向量表示
  2. 存储在向量数据库中 - 索引文档以便高效检索
  3. 处理用户查询 - 将用户查询转换为嵌入
  4. 执行相似性搜索 - 查找最匹配的文档
  5. 返回结果 - 展示最相关的信息

使用OpenAI嵌入的示例实现

来源:08-building-search-applications/README.md78-87

图像生成应用

图像生成应用程序使用DALL-E等AI模型根据文本描述创建图像。这些应用程序无需艺术技能即可进行创意视觉内容的创作。

图像生成应用程序的组件

来源:09-building-image-applications/README.md62-72

实现模式

图像生成应用程序通常遵循此模式

来源: 09-building-image-applications/README.md114-166

函数调用集成

函数调用集成使大型语言模型能够与外部 API 和服务进行交互,使它们能够执行超出文本生成范围的操作,例如访问数据库、发出 API 请求或控制外部系统。

函数调用架构

来源: 11-integrating-with-function-calling/README.md189-196

实现模式

函数调用包括三个主要步骤

  1. 定义函数 - 为可用函数创建模式定义
  2. 使用函数定义调用 LLM - 让 LLM 确定使用哪个函数
  3. 执行选定的函数 - 使用提取的参数运行选定的函数
  4. 生成最终响应 - 将结果返回给 LLM 以获得自然语言响应

示例实现

来源: 11-integrating-with-function-calling/README.md197-384

低代码AI应用

低代码 AI 应用程序利用 Microsoft Power Platform 等平台,通过可视化开发界面,使编码经验有限的用户能够构建由 AI 支持的解决方案。

低代码 AI 解决方案的组成部分

来源: 10-building-low-code-ai-applications/README.md44-57

实现方法

低代码 AI 应用程序主要通过可视化界面而不是传统编码来开发。该过程通常包括

  1. 定义数据模型 - 在 Dataverse 中创建或连接到数据源
  2. 设计应用程序界面 - 在 Power Apps 中构建表单、屏幕和组件
  3. 添加 AI 功能 - 整合 AI Builder 组件或 Copilot 辅助
  4. 创建工作流 - 使用 Power Automate 自动化流程
  5. 部署和共享 - 将应用程序发布给用户

来源: 10-building-low-code-ai-applications/README.md76-113

GenAI 应用程序的最佳实践

安全和隐私

  • 将 API 密钥存储在环境变量或安全的密钥库中
  • 实施强大的用户身份验证和授权
  • 在发送到 AI 服务之前验证和清理输入
  • 限制在提示中共享的信息,以防止数据泄露

来源: 06-text-generation-apps/README.md553-582

性能优化

  • 使用适当的 token 限制来控制成本和响应时间
  • 在适当的情况下缓存常用响应
  • 实施 API 故障的重试机制
  • 在处理多个项目时考虑批量请求

来源:06-text-generation-apps/README.md583-597

用户体验设计

  • 在 AI 生成内容时提供清晰的指示
  • 设定关于 AI 功能和限制的适当预期
  • 包含供用户提供 AI 响应反馈的机制
  • 设计错误状态,引导用户进行成功的交互

来源: 12-designing-ux-for-ai-applications/README.md52-101

结论

构建 GenAI 应用程序涉及为您的用例选择合适的应用程序类型、实施正确的集成方法以及遵循安全、性能和用户体验的最佳实践。通过理解这些基本组件,您可以创建强大的应用程序,利用生成式 AI 的能力来解决现实世界的问题。

有关特定应用程序类型的更多详细信息,请参阅以下页面