菜单

高级主题

相关源文件

本页面概述了生成式AI应用程序的高级概念和技术。虽然之前的章节涵盖了提示工程和基本应用程序开发等基础知识,但本节将探讨更复杂的приемы,以增强能力、提高性能并解决生成式AI系统的局限性。

有关特定基础概念的详细信息,请参阅 核心概念构建生成式AI应用程序 页面。

高级主题概述

开发高级生成式AI应用程序通常需要超越基本技术。此处涵盖的高级主题代表了增强LLM能力和构建更有效应用程序的关键策略。

来源

RAG与向量数据库

检索增强生成 (RAG) 是一种强大的技术,通过整合外部知识源来增强LLM。这解决了LLM的一个基本限制——它们仅限于其训练数据,并且在没有额外技术的情况下无法访问更新的信息或私有数据。

RAG架构和实现

RAG框架将LLM的生成能力与搜索系统的检索能力相结合

在此架构中

  1. 用户的查询被转换为向量嵌入
  2. 该嵌入用于在向量数据库中搜索相关文档
  3. 检索到的文档被整合为上下文
  4. 上下文和原始查询构成一个增强的提示
  5. LLM根据增强的提示生成响应

向量嵌入是文本的数值表示,可以捕捉语义含义。在存储库中,OpenAI嵌入API用于生成这些嵌入,然后将它们存储在向量数据库中以供检索。

概念描述实现
嵌入文本的数值表示(向量)openai.Embedding.create()
向量数据库向量嵌入的存储Azure Cognitive Search, Redis, Pinecone, 或 Weaviate 等专用数据库
余弦相似度向量之间相似度的度量用于查找查询最相关的文档
语义搜索基于含义而非关键字的搜索由嵌入和相似性度量驱动

生成嵌入的代码片段示例

向量搜索使LLM能够访问其训练数据之外的信息,从而提高准确性并减少幻觉,从而实现更高级的应用。

来源

开源模型

开源模型提供了OpenAI等专有模型的替代方案,在功能、定制和部署选项方面提供了不同的权衡。

开源模型与专有模型

开源模型可以

  • 检查、修改和定制以适应特定用例
  • 在本地或私有基础设施上部署
  • 在不依赖外部API的情况下使用

但是,它们可能

  • 未针对生产环境进行优化
  • 维护和更新的一致性较低
  • 部署时需要更多的技术专长

处理开源模型

该存储库包含通过Hugging Face和Azure AI Studio模型目录等平台处理开源模型的信息

Azure AI Studio提供了一种简化的方法来试验、评估和部署开源模型,并提供了以下功能:

  • 在目录中查找模型
  • 查看带有详细描述的模型卡
  • 跨模型比较基准
  • 对自定义数据进行模型微调
  • 将模型部署到端点

来源

微调LLM

微调通过在未包含在原始训练数据集中的附加数据上训练预训练模型,将模型适应特定领域或任务。

微调过程

存储库强调了通过考虑以下因素来决定微调是否适合您的用例的重要性:

  • 用例要求
  • 替代方法(提示工程、RAG)
  • 成本(数据、计算、精力)
  • 收益(质量、成本降低、可扩展性)

何时使用微调

当出现以下情况时,微调特别有用:

  1. 处理高度特定或复杂的领域任务
  2. 处理延迟敏感的应用程序
  3. 能够访问高质量的标记数据
  4. 需要通过简化提示来减少令牌使用量
微调方法示例实现关键注意事项
OpenAI/Azure OpenAIopenai.FineTuning.create()更简单但可定制性较低
Hugging Face TransformersTrainer.train()更复杂但高度可定制
自动化工具AutoTrain Advanced投入更少,但控制较少

该存储库包含对GPT模型、Llama 2进行微调的教程,以及使用Hugging Face的 trl 库进行人类反馈强化学习的教程。

来源

AI应用的UX设计

为AI应用程序设计有效的用户体验需要超越传统UX原则的特殊考虑,重点关注信任、透明度和协作。

建立信任和透明度

信任在AI应用程序中至关重要,存在不信任(用户拒绝)和过度信任(用户高估能力)的风险。该存储库强调了建立信任的两个关键приемы:

  1. 可解释性:帮助用户理解AI如何做出决策

    • 提供AI可以做什么的示例
    • 解释数据如何使用
    • 为非专家简化解释
  2. 控制:赋予用户AI的使用权

    • 允许修改提示
    • 支持编辑输出
    • 提供数据使用的选择加入/退出

为协作和反馈而设计

AI应用程序应为用户和AI之间的协作而设计,并包含以下机制:

  • 提供输出反馈
  • 优雅地处理错误和限制
  • 清晰地传达功能和限制

存储库中的UX模式示例

1. User inputs query
2. System provides response with confidence level
3. User can provide feedback on accuracy
4. System improves and explains reasoning
5. Clear indication when system cannot answer reliably

来源

AI应用安全

安全性是AI应用程序的关键考虑因素,它带来了传统应用程序安全之外的独特挑战。

关键安全注意事项包括

  • 保护用于训练和推理的敏感数据
  • 防止模型遭受对抗性攻击
  • 确保应用程序能优雅地处理故障
  • 解决偏见和公平等伦理问题
  • 实施监控和日志记录以实现问责

实施微软的负责任AI原则

该存储库引用了微软的六项负责任AI原则

原则定义开发者注意事项
公平性AI系统应对所有人都公平防止基于用户数据的歧视
可靠性和安全性AI系统应可靠且安全地运行实施测试和故障安全
隐私和安全AI系统应安全并尊重隐私使用强大的加密和数据保护
包容性AI系统应赋能所有人设计无障碍和包容性的界面
透明度AI系统应易于理解提供清晰的文档和解释
问责制人们应为AI系统负责建立审计和改进流程

这些原则为开发安全、合乎道德且用户可以信任的AI应用程序提供了一个框架。

来源

结论

生成式AI的高级主题基于基础概念,以实现更复杂、更健壮和更负责任的应用程序。通过理解RAG和向量数据库、开源模型、微调、UX设计和安全注意事项,开发人员可以创建利用生成式AI的全部潜力,同时解决其局限性和挑战的应用程序。

随着生成式AI应用程序越来越多地融入关键系统和流程,这些技术变得尤为重要,需要更高水平的性能、可靠性和可信度。

有关这些高级主题的具体实现细节,请参阅