如何使用 LangChain 创建你自己的 LLM:分步指南

如何使用 LangChain 创建你自己的 LLM:分步指南

解锁构建自有语言模型的神秘面纱。使用 LangChain 简化流程、轻松集成,释放 AI 开发的力量。

引言

大型语言模型(LLM),如 OpenAI 的 GPT-3、Google 的 BERT 和 Meta 的 LLaMA,正通过促进从营销材料、数据科学代码到诗歌等各类文本的生成,彻底改变各行各业。虽然 ChatGPT 因其用户友好的聊天界面而备受关注,但 LLM 在不同软件应用程序中的应用仍存在大量未开发的机会。如果你对生成式 AI 和 LLM 的变革潜力感兴趣,那么这篇教程就是为你量身定制的。这里我们介绍 LangChain——一个用于构建基于 GPT 等 LLM 应用程序的开源 Python 框架。通过我们的“使用 LangChain 和 OpenAI API 构建多模态 AI 应用”环节,探索使用 LangChain 构建 AI 应用的世界。你将深入体验使用 Whisper 语音转文本 AI 转录 YouTube 视频内容,然后利用 GPT 对内容进行提问。

什么是 LangChain

LangChain 是一个精心设计的开源框架,旨在简化由大型语言模型(LLM)驱动的应用程序的开发。它提供了一套全面的工具、组件和接口,旨在简化以 LLM 为中心的应用程序的构建。有了 LangChain,管理语言模型交互、无缝链接不同组件以及集成 API 和数据库等资源变得轻而易举。有关 LangChain 在数据工程和数据应用中作用的更多见解,请参阅我们的专门文章。LangChain 平台提供了一系列 API,开发人员可以轻松嵌入到自己的应用程序中,使他们能够赋予语言处理能力而无需从头开始。因此,LangChain 大大加快了基于 LLM 的应用程序的开发过程,使其对不同专业水平的开发人员都触手可及。聊天机器人、虚拟助手、语言翻译实用程序和情感分析工具只是 LLM 驱动的众多应用的几个例子。利用 LangChain,开发人员可以根据精确要求构建定制的基于语言模型的应用程序。随着自然语言处理在更广泛的应用中不断进步,这项技术的潜在应用几乎无限。以下是 LangChain 的几个显著特点:

  1. 可定制的提示,满足特定需求
  2. 构建链式组件以应对高级用例
  3. 无缝集成模型以进行数据增强,并访问 GPT 和 HuggingFace Hub 等前沿语言模型能力
  4. 多功能组件,可根据特定需求进行混合和匹配
  5. 上下文操作,以建立并引导方向,提高精确度和用户满意度

LangChain 的关键组件

LangChain 以其对灵活性和模块化的强调而著称,它将自然语言处理流水线分解为离散组件。这种方法使开发人员能够根据自己的需求定制工作流,使 LangChain 能够适应跨不同行业和场景的众多 AI 应用。

组件和链

在 LangChain 中,组件是执行语言处理流水线内特定功能的专用模块。这些组件可以相互连接形成“链”,从而能够创建定制的工作流。例如,客户服务聊天机器人链可能包含用于情感分析、意图识别和回复生成的模块。

提示模板

LangChain 提供可重用的提示模板,可以通过插入特定值来动态调整。例如,要求用户姓名的模板可以通过插入用户实际姓名来进行个性化。此功能有助于基于动态资源生成提示。

向量存储

向量存储通过嵌入来促进信息的存储和检索,嵌入分析文档含义的数值表示。作为这些嵌入的存储设施,向量存储能够基于语义相似性进行高效搜索。

索引和检索器

索引是存储模型训练数据细节和元数据的数据库,而检索器则快速搜索该索引以获取特定信息。这通过提供上下文和相关相关信息来增强模型的回复。

输出解析器

输出解析器优化模型生成的回复,管理不良内容、定制输出格式或向回复补充额外数据。因此,输出解析器有助于从语言模型的回复中提取结构化结果,例如 JSON 对象。

示例选择器

LangChain 中的示例选择器识别模型训练数据中的相关实例,从而提高生成回复的精确度和相关性。这些选择器可以定制,以优先考虑某些类型的示例或过滤掉不相关的示例,确保根据用户输入生成定制的 AI 回复。

代理

代理是独特的 LangChain 实例,每个实例都配备了针对特定用例定制的提示、记忆和链。这些代理可以部署在各种平台上,包括 Web、移动端和聊天机器人,满足不同受众的需求。

如何使用 Python 设置 LangChain

在 Python 中安装 LangChain 非常简单。你可以使用 pip 或 conda 进行安装。

使用 pip 安装

使用 conda 安装

设置 LangChain 的基本框架为其功能奠定了基础。然而,当 LangChain 与多种模型提供商、数据存储等资源无缝集成时,才能真正发挥其优势。

环境设置

集成 LangChain 通常需要将其与不同的模型提供商、数据存储、API 等组件集成。与任何集成过程一样,必须为 LangChain 提供必要且相关的 API 密钥以供其运行。这可以通过两种方式实现:

  1. 将密钥设置为环境变量
  2. 在相关类中直接设置密钥

如何在 LangChain 中构建语言模型应用

LangChain 提供了 LLM 类,用于与不同的语言模型提供商(如 OpenAI、Cohere 和 Hugging Face)进行接口。LLM 的核心功能是文本生成。使用 LangChain,构建一个接受字符串提示并生成相应输出的应用程序非常简单。

输出>>> “What do you get when you tinker with data? A data scientist!” 在上面的例子中,我们使用了 OpenAI 的 text-ada-001 模型。如果你想将其替换为 HuggingFace 的任何开源模型,只需简单更改:

你可以从 Hugging Face 账户获取 Hugging Face hub token id。如果你有多个提示,可以使用 generate 方法一次性发送提示列表:

输出

1 使用 LangChain 可以开发的最基本应用程序是向所选语言模型发送提示并接收回复。这种简单的设置允许调整各种参数,例如 temperature。温度参数控制输出的随机性,默认值为 0.7。

在多步骤工作流中集成 LLM 和提示

在 LangChain 上下文中,链涉及将 LLM 与其他元素集成以构建应用程序。例子包括:

  1. 顺序链接多个 LLM,其中第一个 LLM 的输出作为第二个 LLM 的输入。
  2. 将 LLM 与提示模板集成。
  3. 将 LLM 与外部数据源结合,例如用于问答。
  4. 将 LLM 与长期记忆结合,例如聊天历史。

结论与启发

就在不久前,ChatGPT 的强大功能还让我们所有人都惊叹不已。然而,格局迅速演变,新的开发者工具(如 LangChain)让我们能够在个人笔记本电脑上几小时内构建出同样引人注目的原型。LangChain 是一个开源 Python 框架,它使个人能够开发由 LLM(大型语言模型)驱动的应用程序。该框架为多种基础模型提供了通用接口,简化了提示管理,并充当了提示模板、其他 LLM、外部数据以及通过代理(截至最新更新)的其他工具等各种组件的中心枢纽。为了紧跟生成式 AI 和 LLM 的最新进展,请考虑参加我们的“使用 LangChain 和 GPT 构建 AI 应用”网络研讨会。在本环节中,你将掌握利用 LangChain 进行 AI 应用开发的基础知识,学习如何构建 AI 应用,并发现嵌入文本数据以实现最佳性能的技巧。此外,你还可以探索我们的生成式 AI 工具大全,其中分类介绍了不同工具、其应用及其在各行业的影响。或者,你可以直接尝试 novita.ai大型语言模型。我们的 LLM 配备了多种模型,通过强大的推理 API 为你提供未经审查、不受限制的对话。凭借最优惠的价格和可扩展的模型,Novita AI LLM 推理 API 赋予你的 LLM 惊人的稳定性和低于 2 秒的低延迟。

novita.ai 是一站式平台,为您带来无限创意,为您提供 100 多种 API。从图像生成、语言处理到音频增强和视频操作,即用即付价格低廉,让您在构建自己的产品时免去 GPU 维护的麻烦。立即免费试用。

推荐阅读

LLM 与 GPT 有什么区别

2024 年 LLM 排行榜预测揭晓

Novita AI LLM 推理引擎:最大吞吐量和最低推理成本