本页面概述了生成式AI应用程序的高级概念和技术。虽然之前的章节涵盖了提示工程和基本应用程序开发等基础知识,但本节将探讨更复杂的приемы,以增强能力、提高性能并解决生成式AI系统的局限性。
有关特定基础概念的详细信息,请参阅 核心概念 或 构建生成式AI应用程序 页面。
开发高级生成式AI应用程序通常需要超越基本技术。此处涵盖的高级主题代表了增强LLM能力和构建更有效应用程序的关键策略。
来源
检索增强生成 (RAG) 是一种强大的技术,通过整合外部知识源来增强LLM。这解决了LLM的一个基本限制——它们仅限于其训练数据,并且在没有额外技术的情况下无法访问更新的信息或私有数据。
RAG框架将LLM的生成能力与搜索系统的检索能力相结合
在此架构中
向量嵌入是文本的数值表示,可以捕捉语义含义。在存储库中,OpenAI嵌入API用于生成这些嵌入,然后将它们存储在向量数据库中以供检索。
| 概念 | 描述 | 实现 |
|---|---|---|
| 嵌入 | 文本的数值表示(向量) | openai.Embedding.create() |
| 向量数据库 | 向量嵌入的存储 | Azure Cognitive Search, Redis, Pinecone, 或 Weaviate 等专用数据库 |
| 余弦相似度 | 向量之间相似度的度量 | 用于查找查询最相关的文档 |
| 语义搜索 | 基于含义而非关键字的搜索 | 由嵌入和相似性度量驱动 |
生成嵌入的代码片段示例
向量搜索使LLM能够访问其训练数据之外的信息,从而提高准确性并减少幻觉,从而实现更高级的应用。
来源
开源模型提供了OpenAI等专有模型的替代方案,在功能、定制和部署选项方面提供了不同的权衡。
开源模型可以
但是,它们可能
该存储库包含通过Hugging Face和Azure AI Studio模型目录等平台处理开源模型的信息
Azure AI Studio提供了一种简化的方法来试验、评估和部署开源模型,并提供了以下功能:
来源
微调通过在未包含在原始训练数据集中的附加数据上训练预训练模型,将模型适应特定领域或任务。
存储库强调了通过考虑以下因素来决定微调是否适合您的用例的重要性:
当出现以下情况时,微调特别有用:
| 微调方法 | 示例实现 | 关键注意事项 |
|---|---|---|
| OpenAI/Azure OpenAI | openai.FineTuning.create() | 更简单但可定制性较低 |
| Hugging Face Transformers | Trainer.train() | 更复杂但高度可定制 |
| 自动化工具 | AutoTrain Advanced | 投入更少,但控制较少 |
该存储库包含对GPT模型、Llama 2进行微调的教程,以及使用Hugging Face的 trl 库进行人类反馈强化学习的教程。
来源
为AI应用程序设计有效的用户体验需要超越传统UX原则的特殊考虑,重点关注信任、透明度和协作。
信任在AI应用程序中至关重要,存在不信任(用户拒绝)和过度信任(用户高估能力)的风险。该存储库强调了建立信任的两个关键приемы:
可解释性:帮助用户理解AI如何做出决策
控制:赋予用户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的高级主题基于基础概念,以实现更复杂、更健壮和更负责任的应用程序。通过理解RAG和向量数据库、开源模型、微调、UX设计和安全注意事项,开发人员可以创建利用生成式AI的全部潜力,同时解决其局限性和挑战的应用程序。
随着生成式AI应用程序越来越多地融入关键系统和流程,这些技术变得尤为重要,需要更高水平的性能、可靠性和可信度。
有关这些高级主题的具体实现细节,请参阅