0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【比特熊充电栈】实战演练构建LLM对话引擎

微软科技 2023-09-19 13:40 次阅读

大模型时代,安全问题不容小觑。但如果把大模型比作孙悟空,那 NVIDIA NeMo Guardrails 就是“安全护栏”,可以轻松的为基于 LLM 的对话系统添加可编程护栏,来避免大语言模型输出违法违规内容,并通过自定义方式响应用户特定请求,按照预定义的对话路径进行操作,以及使用特定的语言风格进行回答。

如何在 Azure 中搭建 NeMo Guardrails 环境,将 NeMo Guardrails 与 Azure OpenAI 结合使用,构建更加安全可靠的 LLM 对话引擎?本期【比特熊充电栈】NVIDIA 企业级开发者社区经理李奕澎,将为大家解读 NeMo Guardrails 中的 Colang 语言,以及进行将 NeMo Guardrails 与 Azure OpenAI 结合使用的代码实战,见证安全 LLM 对话引擎的构建。

8c70f784-56ae-11ee-939d-92fbcf53809c.png

李奕澎

NVIDIA 企业级开发者社区经理

NLP,Conversational-AI,LLM

Colang 语言

定义 LLM 对话引擎

NeMo Guardrails 中的 Colang 语言,是一种用于对话式人工智能的建模语言,能够定义护栏。它的目标是为用户提供一个可读可扩展的,使用自然语言定义或控制对话机器人的行为的语言。

Colang 语言已经作为 NeMo Guardrails 的内核来使用。Colang 语言像电影的编剧,用户和机器人是演员,通过 Colang 语言,可以定义用户的信息、机器人信息和 Flow,把机器话语和用户话语进行对话逻辑上的连接。

Colang 语言中常用的关键词包括 bot, break, continue, create, define 等,能够帮助开发快速上手使用,降低对话式 AI 领域的学习门槛。

8c8fd7c6-56ae-11ee-939d-92fbcf53809c.png

NeMo Guardrails 与 Azure OpenAl 的结合使用

搭建 LLM 对话引擎

在上一期【比特熊充电栈】中,已经详细解读了在 Azure 中搭建 NeMo Guardrails 环境的步骤,包括申请 Azure 账号,开通 Azure Machine Learning 服务,安装 OpenAI、NeMo Guardrails,开通 Azure OpenAI 服务等。搭建完成后,才能将 NeMo Guardrails 与 Azure OpenAl 结合使用。

NeMo Guardrails 与 AzureOpenAl 结合使用,构建更加安全可靠的LLM对话引擎,还需要通过以下步骤进行操作:

✦导入 NeMo Guardrails 大模型护栏及 RailsConfig 护栏配置文件工具类;

✦从 langchain 中导入 Azure Chat OpenAI 工具类;

✦传入 Azure OpenAI 的 API-KEY、endpoint、deployment_name、对应的版本信息等关键参数,就可以实例化一个大模型;

✦调用 NeMo Guardrails 大模型中的 from_content 变量,读取 Colang_Config2 文件和 Yaml_Config 配置文件,就可以实例一个安全的聊天机器人 App;

✦调用 App 中的 generate_async 函数,输入用户的问题语句,机器人就会给出对应的回答。

8cce70ee-56ae-11ee-939d-92fbcf53809c.png

NeMo Guardrails

自定义 LLM 对话引擎应用

NeMo Guardrails 除了支持 Azure OpenAI 外,还支持很多对话引擎大模型,包括 AI21labs、Cohere、Hugging Face、GPT4All 等。调用对话引擎大模型,首先要自定义一个大语言模型的 class:从 langchain 中导入 BaseLanguageModel,从 NeMo Guardrails 中导入 register_llm_provider,自定义大语言模型的 class 并注册。

以 Hugging Face 为例,调用对话引擎大模型的步骤如下:

✦创建并初始化一个构造函数,调用父类的构造函数来初始化这个类的实例;

✦然后指定大模型的 ID,调用 HuggingFacePipeline class 中的 from_model_id 函数,输入对应大模型 id,定义 device、task 和模型参数;

✦然后定义返回、自定义函数,以字符串的形式返回大语言模型的类型,在 langchain 中分别同步调用和异步调用自定义 LLM。

8d01f4d2-56ae-11ee-939d-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6246

    浏览量

    103077
  • NVIDIA
    +关注

    关注

    14

    文章

    4592

    浏览量

    101719
  • OpenAI
    +关注

    关注

    8

    文章

    757

    浏览量

    5913
  • 大模型
    +关注

    关注

    2

    文章

    1516

    浏览量

    1104
  • LLM
    LLM
    +关注

    关注

    0

    文章

    201

    浏览量

    233

原文标题:【比特熊充电栈】实战演练构建 LLM 对话引擎

文章出处:【微信号:mstech2014,微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    100%在树莓派上执行的LLM项目

    ChatGPT的人性口语化回复相信许多人已体验过,也因此掀起一波大型语言模型(Large Language Model, LLM)热潮,LLM即ChatGPT背后的主运作技术,但LLM运作需要庞大运算力,因此目前多是在云端(Cl
    的头像 发表于 02-29 16:29 633次阅读
    100%在树莓派上执行的<b class='flag-5'>LLM</b>项目

    网络攻防模拟与城市安全演练 | 数字孪生

    在数字化浪潮的推动下,网络攻防模拟和城市安全演练成为维护社会稳定的不可或缺的环节。基于数字孪生技术我们能够在虚拟环境中进行高度真实的网络攻防模拟,为安全专业人员提供实战经验,从而提升应对网络威胁的能力。同时,在城市安全演练中通过
    的头像 发表于 02-04 10:48 291次阅读
    网络攻防模拟与城市安全<b class='flag-5'>演练</b> | 数字孪生

    鸿蒙开发实战-手写文心一言AI对话APP

    本文我们学习使用了基本组件的使用,网络请求以及状态管理,使用了ForEach循环渲染来构建对话界面。并且在HarmonyOS设备上成功运行
    的头像 发表于 01-24 18:02 495次阅读
    鸿蒙开发<b class='flag-5'>实战</b>-手写文心一言AI<b class='flag-5'>对话</b>APP

    比特量化技术如何帮助LLM提升性能

    针对大语言模型 (LLM) 在部署过程中的性能需求,低比特量化技术一直是优化效果最佳的方案之一,本文将探讨低比特量化技术如何帮助 LLM 提升性能,以及新版 OpenVINO 对于低
    的头像 发表于 12-08 15:26 638次阅读
    低<b class='flag-5'>比特</b>量化技术如何帮助<b class='flag-5'>LLM</b>提升性能

    NVIDIA AI Foundation Models:使用生产就绪型 LLM 构建自定义企业聊天机器人和智能副驾

      系列基础模型是一套功能强大的全新工具,可用于为企业构建生产就绪生成式 AI 应用,从而推动从客服 AI 聊天机器人到尖端 AI 产品的各种创新。 这些新的基础模型现已加入  NVIDIA NeMo 。这个端到端框架用于构建、自定义和部署专为企业定制的
    的头像 发表于 11-17 21:35 519次阅读
    NVIDIA AI Foundation Models:使用生产就绪型 <b class='flag-5'>LLM</b> <b class='flag-5'>构建</b>自定义企业聊天机器人和智能副驾

    在线研讨会 | 基于 Jetson 边缘计算平台构建 Azure OpenAI LLM 安全护栏

    ,并通过自定义方式响应用户特定的请求,按照预定义的对话路径进行操作,以及使用特定的语言风格进行回答等。它的核心价值在于通过 Colang 语言来编写安全护栏,来指导、定义和控制 LLM 驱动的对话机器人在特定主题上的行为,从而
    的头像 发表于 10-21 16:35 233次阅读
    在线研讨会 | 基于 Jetson 边缘计算平台<b class='flag-5'>构建</b> Azure OpenAI <b class='flag-5'>LLM</b> 安全护栏

    mlc-llm对大模型推理的流程及优化方案

    在 MLC-LLM 部署RWKV World系列模型实战(3B模型Mac M2解码可达26tokens/s) 中提到要使用mlc-llm部署模型首先需要一个编译过程,将原始的基于Realx搭建的模型
    发表于 09-26 12:25 448次阅读
    mlc-<b class='flag-5'>llm</b>对大模型推理的流程及优化方案

    比特充电栈】开启 GitHub Copilot 开发之旅

    提取上下文,即时对单独行乃至整个函数提出建议,让开发生产力直接拉满。 如何快速接入 GitHub Copilot 的能力,并在企业场景中进行开发实战? 本期 【比特充电栈】 特邀 GitHub 原厂工程师和微软资深专家,共同开
    的头像 发表于 09-22 00:20 367次阅读
    【<b class='flag-5'>比特</b>熊<b class='flag-5'>充电</b>栈】开启 GitHub Copilot 开发之旅

    对比解码在LLM上的应用

    为了改进LLM的推理能力,University of California联合Meta AI实验室提出将Contrastive Decoding应用于多种任务的LLM方法。实验表明,所提方法能有效改进LLM的推理能力。让我们走进
    发表于 09-21 11:37 371次阅读
    对比解码在<b class='flag-5'>LLM</b>上的应用

    比特充电栈】Azure OpenAI 守护大模型数据与安全!

    机遇,构建更多创新应用,释放数据价值,加速降本增效。 但在大模型实际应用的过程中,还面临着海量的知识库数据难梳理、难理解,大语言模型 LLM 应用安全性等挑战。 智能技术如何助力企业化解大模型应用中的种种挑战和难题? 本期 【比特
    的头像 发表于 09-12 00:10 370次阅读
    【<b class='flag-5'>比特</b>熊<b class='flag-5'>充电</b>栈】Azure OpenAI 守护大模型数据与安全!

    集成ARM Mobile Studio和虚幻引擎1.0版

    每个区域的专门分析部分。 图1-1: 绩效顾问中的地区名称 。 此教程描述如何: · 在非真实引擎中创建基本项目 · 在您的项目中将简化说明与代码整合在一起 · 在绩效顾问报告中构建简化说明以创建区域标记 · 为安卓装置构建您的
    发表于 08-28 06:12

    BaiChuan13B多轮对话微调范例

    答案是不会。原因是LLM作为语言模型,它的注意力机制是一个单向注意力机制(通过引入 Masked Attention实现),模型在第一轮对话的输出跟输入中存不存在第二轮和第三轮对话完全没有关系。
    的头像 发表于 08-24 14:59 644次阅读
    BaiChuan13B多轮<b class='flag-5'>对话</b>微调范例

    周二研讨会预告 | 使用 NeMo 结合 AI21 studio 搭建中文场景对话引擎

    | 使用 NVIDIA NeMo  结合 AI21 Labs 搭建基于 LLM 的中文场景对话引擎 ★ 内容 NVIDIA NeMo TM 是一款供开发者构建和训练先进的
    的头像 发表于 06-26 19:35 242次阅读
    周二研讨会预告 | 使用 NeMo 结合 AI21 studio 搭建中文场景<b class='flag-5'>对话</b><b class='flag-5'>引擎</b>

    6 月 27 日研讨会 | 使用 NeMo 结合 AI21 studio 搭建中文场景对话引擎

    | 使用 NVIDIA NeMo  结合  AI21 Labs  搭建基于 LLM 的 中文场景对话引擎 ★ 内容 NVIDIA NeMo TM 是一款供开发者构建和训练先进的
    的头像 发表于 06-19 19:15 294次阅读
    6 月 27 日研讨会 | 使用 NeMo 结合 AI21 studio 搭建中文场景<b class='flag-5'>对话</b><b class='flag-5'>引擎</b>

    LLM在各种情感分析任务中的表现如何

      最近几年,GPT-3、PaLM和GPT-4等LLM刷爆了各种NLP任务,特别是在zero-shot和few-shot方面表现出它们强大的性能。因此,情感分析(SA)领域也必然少不了LLM的影子
    的头像 发表于 05-29 17:24 1515次阅读
    <b class='flag-5'>LLM</b>在各种情感分析任务中的表现如何