使用 JavaScript 将生成型 AI 功能构建到您的网页、移动设备和桌面应用程序中。 本概述重点介绍有助于入门的核心概念、工具和学习资源。
为什么使用适用于 AI 的 JavaScript?
Python 是训练 AI 模型的常见选择,但大多数应用开发人员通过 Web API 使用模型。 由于 JavaScript 跨浏览器和服务器运行并处理 HTTP 调用,因此它是构建 AI 应用的实用选择。
参加配套课程
使用配套课程通过视频、代码项目和完整的端到端示例进行学习。
如果你是学生或新开发人员,本课程为你提供了一种学习 AI 的实用方法。 如果你已经专业地构建应用,它可帮助你加深 AI 技能。
在本课程中,你将:
- 了解 AI,同时通过生成式 AI 将历史人物引入生活。
- 应用内置浏览器 API 实现辅助功能。
- 使用文本和图像生成将 AI 集成到应用体验中。
- 了解 AI 应用程序的体系结构模式。
关于 LLMs 的重要信息
大型语言模型(LLM)是在大型数据集上训练的神经网络,用于理解和生成文本。 训练通常从广泛的基础模型开始,然后为特定任务添加微调。 LLM 可以帮助解决代码完成和聊天等方案,但它们也有限制,包括上下文窗口和训练数据中可能存在的偏差。 这就是为什么负责任的 AI 做法(如公平、可靠性、隐私和责任)很重要。
在课程的 LLM 会话中了解更多信息:
使用提示工程技术
提示工程是编写引导模型获得更好结果的提示的做法。 当不需要示例时,使用零样本提示;当示例有帮助时,使用少样本提示。 明确的说明、相关上下文和显式输出格式通常会改进响应,并为更高级模式(如 RAG)做好准备。
在课程的提示词工程会话中了解更多信息:
使用 RAG 提高 AI 准确性和可靠性
使用检索增强生成(RAG)将模型回答基于当前受信任的数据。 RAG 将检索器与使用该内容回答问题的生成器结合使用来查找相关内容。 此方法可以提高准确性,使响应更易于验证和控制成本。 例如,房地产支持应用可以使用公司文档来回答详细的客户问题。
在课程的 RAG 会话中了解更多信息:
使用 LangChain.js 加快 AI 开发
使用 LangChain.js加快 AI 项目的速度。 此 JavaScript 库可帮助你生成提示模板、连接模型和矢量存储以及撰写复杂的工作流。 它适用于快速原型制作,例如一个 API,用于回答 YouTube 脚本中的问题。 准备好生产后,无需重写应用即可交换 Azure 服务的本地模型和向量存储。
在课程的 LangChain.js 会话中了解更多信息:
使用 Ollama 在本地计算机上运行 AI 模型
使用 Ollama 在计算机上运行本地 AI 模型,包括 Phi-3。 本地模型可减少云依赖项、支持脱机开发,并在测试想法时缩短内部循环。 由于 Ollama 公开了与 OpenAI 兼容的 API,因此你可以将其集成到现有的 JavaScript 工作流中,只需进行最少的更改。
在课程的 Ollama 会话中了解更多信息:
AI 免费入门
可以使用 Foundry Local 免费运行 AI,这样就可以下载 AI 模型并在本地与之交互。 还有 适用于 Visual Studio Code 的 AI 工具包,该扩展支持模型下载、微调等。 Ollama 是运行本地模型的另一个热门选择。
还可以通过创建 GitHub Codespace 并使用 Jupyter 笔记本来尝试模型,以测试提示工程、小样本学习和 RAG,而无需进行任何本地设置。
在课程的 Phi-3 会议中了解更多信息:
Microsoft Foundry 简介
使用 Microsoft Foundry 开始构建 JavaScript 生成式 AI 应用。 使用中心和项目组织资源、浏览模型和部署模型以在操场中进行测试。 无论是使用托管计算还是无服务器 API,工作流都保持不变:选择模型、部署模型并将其集成到应用中。
在 课程的 Foundry 会话中了解详细信息:
使用 Azure Cosmos DB 构建生成式 AI 应用
了解更多信息,请观看课程 中的Azure Cosmos DB 课程。
用于托管和存储 AI 应用的 Azure 工具和服务
了解哪些 Azure 工具和服务适合常见的 AI 应用体系结构,包括聊天应用、RAG 应用和自治代理。 此会话还演示如何使用 Azure 开发人员 CLI (AZD)部署应用,并比较无服务器和基于容器的托管选项。
在课程 的Azure 工具和服务会话中了解更多详细信息。
使用 AI 聊天协议流式传输生成式 AI 输出
使用 AI 聊天协议支持 AI 服务和客户端应用之间的实时通信。 可以根据体系结构从浏览器或 AI 推理服务器流式传输响应。 实现流式处理时,规划 API 密钥保护、数据安全和协议选择。 协议客户端支持无服务器 RAG 等方法,例如getCompletion,如 LangChain.js 示例getStreamedCompletion所示。
在课程的流式处理会话中了解更多信息: